>_
worktale
v1.5.0

Documentation

Complete reference for every command, flag, config key, keyboard shortcut, and data path in Worktale.

01

Getting Started

Prerequisites

  • Node.js 18 or later
  • Git installed and configured (git config user.email set)

Install

$ npm install -g worktale

Initialize a repo

$ cd /path/to/your/repo

$ worktale init

This scans your entire git history, installs a silent post-commit hook, creates a .worktale/ directory in your repo (auto-added to .gitignore), and registers the repo in your local database.

Open the dashboard

$ worktale

Running worktale with no arguments opens the interactive TUI dashboard.

02

CLI Reference

All 13 commands with exact flags, arguments, and output descriptions. Every command shown here is fully implemented.

worktale init Initialize repo

Initialize Worktale in the current git repository. Must be run from a directory containing a .git folder.

FLAGS

--global

Set up the global end-of-day nudge (appends to your shell profile). Does not require a git repo.

WHAT IT DOES

  1. Displays the Worktale ASCII banner
  2. Detects the git repo and resolves your git config user.email
  3. Saves your email to the global config (~/.worktale/config.json)
  4. Registers the repo in the SQLite database
  5. Creates the .worktale/ directory and adds it to .gitignore
  6. Installs a post-commit hook (bash + PowerShell) for automatic capture
  7. Runs historical analysis using a worker thread — scans all commits with a live progress bar
  8. Displays summary: total commits, lines added, lines removed, files tracked, branches, days active, first commit date
  9. Prompts to open the TUI dashboard

EXAMPLE OUTPUT

╔══════════════════════════════════╗

W O R K T A L E

╚══════════════════════════════════╝

my-project git detected ✓

User: dev@company.com

Repo ID: 1

.worktale/ directory created

Post-commit hook installed

Analyzing git history...

████████████████████████ 1,204 commits [100%]

Analysis complete!

Summary

────────────────────────────────────────

Commits: 1,204

Lines added: +247,892

Lines removed: -98,441

Files tracked: 3,847

Branches: 12

Days active: 287

First commit: June 3, 2021

Worktale is ready!

worktale or worktale dash TUI Dashboard

Opens the interactive terminal dashboard built with Ink (React for CLIs). Requires the repo to be initialized.

Running worktale with no arguments is equivalent to worktale dash. See the TUI Dashboard section for full details on each view and keyboard shortcuts.

If the TUI fails to render (e.g., non-interactive terminal), it automatically falls back to worktale today output.

worktale today Today's summary

Print a quick, non-interactive summary of today's activity in the current repo.

OUTPUT INCLUDES

  • Today's date
  • Commit count
  • Lines added / removed
  • Files touched
  • Estimated coding time (span from first to last commit of the day)
  • Up to 10 most recent commits with relative timestamps

EXAMPLE OUTPUT

WORKTALE Today, Mar 6, 2026

Commits: 7 Lines: +1,204 / -389

Files: 23 Time: 4h 12m

Recent:

2m ago fix: resolve auth token expiry edge case

47m ago feat: add retry logic to payment processor

2h ago refactor: extract email service into module

worktale status One-line status

Print a single-line status showing today's commit count, line stats, and current streak. Designed for embedding in shell prompts or status bars.

EXAMPLE OUTPUT

worktale: 7 commits today · +1,204/-389 · 🔥 streak: 14 days

worktale log Historical log

Browse daily activity history. Shows a summary for each day that had commits, including commit count, line stats, and up to 8 commit messages per day.

FLAGS

-d, --days <n>

Number of days to look back. Default: 7

-r, --repo <path>

Path to repo. Default: current working directory.

EXAMPLE

$ worktale log --days 14

WORKTALE LOG — Last 14 days

─── Mar 6, 2026 ───

7 commits · +1,204 / -389 · 23 files

fix: resolve auth token expiry edge case

feat: add retry logic to payment processor

refactor: extract email service into module

─── Mar 5, 2026 ───

4 commits · +442 / -88 · 11 files

feat: implement webhook retry backoff

test: add retry test coverage

worktale digest Daily summary

Generate a daily work summary from today's commits. Two modes:

  • Template mode (default) — structures commits into a markdown digest with "What I built", "Stats", and "Areas" sections. Conventional commit prefixes (feat:, fix:, refactor:) are automatically transformed into human-readable descriptions.
  • Ollama mode — sends commit data to your local Ollama instance for AI-enhanced summaries. Falls back to template mode if Ollama is unavailable. See AI Integration.

WORKFLOW

  1. Generates the digest (template or Ollama)
  2. Displays the formatted markdown in your terminal
  3. Prompts Save this digest? (Y/n)
  4. Saves to daily_summaries.user_notes in the SQLite database
  5. Shows a Worktale Cloud upsell prompt

EXAMPLE TEMPLATE OUTPUT

March 6, 2026

What I built

• Added retry logic to payment processor

• Fixed auth token expiry edge case

• Refactored email service into module

Stats

• 7 commits, +1,204 / -389 lines, 23 files touched

Areas

• api (38%), ui (21%), tests (18%)

worktale repos List tracked repos

List all repositories that have been initialized with worktale init. Shows the repo name, path, last sync time, and total commit count.

EXAMPLE OUTPUT

WORKTALE REPOS

1. my-saas /home/dev/projects/my-saas

Last synced: 2m ago · 1,204 commits

2. api-gateway /home/dev/projects/api-gateway

Last synced: 1h ago · 847 commits

Total: 2 repos tracked

worktale config [action] [key] [value] Configuration

View or modify Worktale configuration. Settings are stored in ~/.worktale/config.json.

SUBCOMMANDS

worktale config

Show the full config with all values, formatted with color.

worktale config get <key>

Get a single value. Supports dot-notation: ai.provider, git.userEmail

worktale config set <key> <value>

Set a value. Auto-parses booleans (true/false), numbers, and null.

worktale config path

Print the absolute path to the config file.

EXAMPLES

$ worktale config set ai.provider ollama

ai.provider = ollama

$ worktale config set nudgeTime "18:00"

nudgeTime = 18:00

$ worktale config get ai.ollamaUrl

http://localhost:11434

worktale note Append narrative

Append a note to today's work narrative. Designed for AI coding agents (like Claude Code) to narrate session context — the "why" behind each commit. Requires v1.1.0+

USAGE

worktale note "Refactored auth middleware for compliance"
worktale note "Fixed race condition — root cause was missing mutex"

BEHAVIOR

  • Appends (never overwrites) to the user_notes field in today's daily summary
  • Creates the daily summary row if none exists yet
  • Auto-registers the repo if it has a .git directory but isn't tracked
  • Notes appear in worktale digest and the TUI dashboard

AI AGENT INTEGRATION

Use the /worktale skill in Claude Code to automatically narrate every commit during a coding session. The skill instructs the AI to run worktale note after each commit with rich context about intent, decisions, and problems solved.

worktale session AI session tracking

Track AI coding sessions with structured metadata — provider, model, tools used, MCP servers, cost, and narrative context. The Worktale plugins for Claude Code, Codex, and Copilot all ship a SessionEnd hook that parses the transcript and records everything automatically. Pass --write-note to session add to also append the narrative to today's daily log in one call — useful for rules-based integrations (Cursor, Cline, Windsurf) that don't have hooks. Requires v1.5.0+ for --write-note

SUBCOMMANDS

worktale session add [options]    # Record an AI session
worktale session list [-d days]   # List recent sessions
worktale session stats [-d days]  # Show AI usage statistics

OPTIONS (for add)

--provider <name>       # anthropic, openai, github
--model <name>          # claude-opus-4-6, gpt-4o, o3
--tool <name>           # claude-code, codex, copilot
--cost <usd>            # Session cost in USD
--input-tokens <n>      # Input token count
--output-tokens <n>     # Output token count
--tools-used <list>     # Comma-separated agent tools (Read,Edit,Bash)
--mcp-servers <list>    # Comma-separated MCP servers (github,linear)
--duration <secs>       # Session duration in seconds
--commits <shas>        # Comma-separated commit SHAs
--note <text>           # Session narrative
--write-note            # Also append --note to today's daily log (v1.5.0+)

EXAMPLE

worktale session add \
  --provider anthropic --model claude-opus-4-6 \
  --tool claude-code --tools-used "Read,Edit,Bash,Grep" \
  --note "Added rate limiting to upload endpoint"

worktale session stats --days 30

DATA TRACKED

  • Provider, model, and tool per session
  • Input/output token counts and cost
  • Agent tools invoked (Read, Edit, Bash, etc.)
  • MCP servers used (github, linear, slack, etc.)
  • Session duration and linked commit SHAs
  • Narrative note with intent and decisions

CAPTURE BY HOST

Field Claude Code Codex Copilot
provider / modelAutoAgentAgent
input / output tokensAutoManualManual
costAuto (rate table)ManualManual
tools-usedAutoAgentAgent
mcp-serversAuto
durationAutoAgentAgent
commitsAgentAgentAgent

Auto = plugin/hook captures without agent cooperation. Agent = the host's skill/agent calls worktale session add with the value at wrap-up. Manual = pass the flag yourself. Codex and Copilot plugin APIs don't expose token usage, so token/cost on those hosts is manual-only.

worktale capture Capture commit

Capture the latest commit in the current repo. This is the command called by the git post-commit hook. You generally don't need to run this manually.

FLAGS

-s, --silent

Suppress all output. Used by the post-commit hook to be invisible.

BEHAVIOR

  • Reads the latest commit via git log -1
  • Skips if the commit is already captured (idempotent)
  • Inserts into the commits table, updates daily_summaries aggregate, inserts file_activity records
  • Without --silent, prints: ⚡ worktale: captured "commit msg" (+N / -N)
  • Always exits with code 0 — the hook must never fail
  • All errors are silently swallowed
worktale nudge End-of-day nudge

Manage the end-of-day reminder system. See End-of-Day Nudge section for full details.

Install/remove: Linux & macOS only. The check path works on Windows too (Git Bash / WSL / PowerShell).

FLAGS

--check

Run the nudge check (used by shell profile injection). When it's past nudgeTime and commits exist today without a digest, auto-generates and saves a template digest per pending repo (v1.5.0+). Set autoDigestOnNudge: false in config to revert to reminder-only mode.

--install

Append the nudge line to your shell profile (.bashrc, .zshrc, .bash_profile, or .profile).

--remove

Remove the nudge line from all shell profiles.

--status

Check whether the nudge is currently installed in any shell profile.

worktale publish Beta

Publish your digest to Worktale Cloud. Syncs your local work record to your cloud profile, making it shareable and accessible from anywhere. Requires a Worktale Cloud account and cloudEnabled: true in config.

worktale batch Bulk import

Recursively scan for git repositories starting from the current directory, import their commit history into the Worktale database, and display an aggregate summary. No hooks are installed — repos are tracked read-only. With --annotate, retroactively generate AI-powered daily summaries for historical commits — filling in the narrative for work done before you started using Worktale.

FLAGS

-d, --depth <n>

Maximum directory depth to search. Default: 5.

-s, --since <period>

Only import commits from this period. Accepts shorthand: 30d (days), 6w (weeks), 3m (months), 1y (years), or any git date string. Recommended for faster scans — without this flag, all-time history is imported which can be slow for large repos.

-a, --annotate

After importing, generate AI-powered daily summaries for days that lack annotations. In interactive mode (default), prompts per day with options: y (annotate), n (skip), all (switch to auto), skip-rest (stop annotating). Uses your configured AI provider (Ollama) or falls back to template mode.

--auto

Use with --annotate. Skip all prompts and auto-generate annotations for every unannotated day.

--overwrite

Use with --annotate. Re-generate annotations even for days that already have them. Manual notes added via worktale note are never overwritten.

WHAT IT DOES

  1. Walks the filesystem from the current directory with a live directory counter, looking for folders containing .git
  2. Skips common non-repo directories for speed: node_modules, bin, obj, dist, build, target, vendor, __pycache__, venv, packages, hidden directories, and more
  3. Does not recurse into found repos (treats each as a leaf)
  4. Registers each repo in the database and runs historical analysis via a worker thread, filtered by --since if provided
  5. Shows per-repo progress bars and a final aggregate summary (total repos, commits, lines added/removed)
  6. Gracefully handles errors per-repo — failures don't stop the remaining repos
  7. With --annotate, runs an annotation pass: groups commits by day, generates “What I built” summaries using AI or template mode, and saves them to the dashboard

EXAMPLES

$ cd ~/projects

$ worktale batch --since 3m

# Fast scan — only last 3 months of commits across all repos

$ worktale batch

# Full history (slower for large repos)

$ worktale batch --depth 2 --since 6w

# Shallow search, last 6 weeks only

$ worktale batch --since 1y --annotate

# Import + interactive annotation — prompts per day

$ worktale batch --since 1y --annotate --auto

# Import + auto-annotate all days (no prompts)

$ worktale batch --annotate --auto --overwrite

# Re-generate all annotations (preserves manual notes)

EXAMPLE OUTPUT

Since: 3 months ago

Found 3 repos (scanned 1,204 directories):

my-api ~/projects/my-api

frontend ~/projects/frontend

infra ~/projects/infra

[1/3] my-api 142 commits +18,401 / -6,203

[2/3] frontend 204 commits +32,892 / -12,441

[3/3] infra 56 commits +2,402 / -800

Batch Summary

────────────────────────────────────────

Repos: 3

Commits: 402

Lines added: +53,695

Lines removed: -19,444

Batch scan complete!

Annotation Pass

Using template mode

Auto mode — generating all annotations

────────────────────────────────────────

my-api 47 days to annotate

47 days annotated

frontend 62 days to annotate

62 days annotated

infra all days already annotated

Annotation Summary

────────────────────────────────────────

Annotated: 109 days

No hooks were installed. Repos are tracked read-only.

worktale hook [action] [path] Manage hooks

Manually install, remove, or check the status of Worktale git hooks in any repository. Useful for repos imported via worktale batch (which skips hooks), or for managing hooks independently of worktale init.

If the repo isn't tracked yet, hook install will automatically register it in the database so commits are captured immediately. You'll see a message confirming the registration.

ACTIONS

install [path]

Install post-commit and post-push hooks. Uses the current directory if no path is given. Idempotent — will not duplicate if already installed. Automatically registers untracked repos in the database.

uninstall [path]

Remove all Worktale hook sections. Preserves any non-Worktale content in shared hook files. Also removes the PowerShell post-commit.ps1.

status [path]

Check whether post-commit and post-push hooks are installed.

EXAMPLES

$ worktale hook install

# Install hooks in the current repo

$ worktale hook install /path/to/repo

# Install hooks in a specific repo

$ worktale hook uninstall

# Remove hooks from the current repo

$ worktale hook status

# Check hook installation status

EXAMPLE OUTPUT (install on untracked repo)

Repo not tracked. Registering my-project (id: 4)

Run worktale init or worktale batch to import commit history.

Hooks installed in my-project

Installed:

post-commit (auto-captures commits)

post-push (digest reminder)

03

TUI Dashboard

The dashboard is a full-screen interactive terminal UI built with Ink 5 (React for CLIs). Three views, keyboard-driven navigation.

Global Keyboard Shortcuts

1

Switch to Overview

2

Switch to Daily Log

3

Switch to History

Tab

Cycle to next view (1 → 2 → 3 → 1)

q

Quit the dashboard

[1] Overview

Today's activity at a glance. Shows everything you need to see how your day is going.

  • Today's Stats — Commit count, lines added/removed, files touched, estimated coding time (time span from first to last commit)
  • Streak Counter — Current streak (consecutive days with commits) and best streak ever, with visual bar comparison
  • Week Chart — Monday–Friday bar chart showing lines added per day this week, with today highlighted
  • Recent Commits — Last 5 commits with relative timestamps and commit messages

[2] Daily Log

Browse any day's activity. Navigate backward and forward through your history.

  • Day Navigation — Left/right arrow keys to move between days. Shows "(today)" label when on the current day.
  • Activity Summary — Commits, lines added/removed, files touched for the selected day
  • Notes Editor — Press E to add or edit personal notes for the day. Press Enter to save, Esc to cancel.
  • AI Summary — If an AI-generated summary exists for the day, it is displayed separately
  • Commit Timeline — All commits for the selected day with timestamps and messages
← / →

Navigate to previous / next day

E

Edit notes for the current day

Enter

Save notes (while editing)

Esc

Cancel editing and revert

[3] History

Long-term view of your entire tracked history.

  • Activity Heatmap — A 7×52 grid showing the last 52 weeks of activity using 4 intensity levels: none, 1–2 commits, 3–5 commits, 6+ commits
  • Milestones — Git tags detected in your history, displayed as version markers with dates
  • All-Time Stats — Total commits, days active, avg commits/day, most active month, lines written, lines removed, longest streak
  • Top Modules — Horizontal bar chart showing the most-changed code areas (classified from file paths: src/api/, tests/, config, etc.)
04

Configuration

Global config is stored at ~/.worktale/config.json. Use worktale config to view or edit.

Config Schema (with defaults)

~/.worktale/config.json
{
  "cloudEnabled":             false,
  "cloudToken":               null,
  "nudgeTime":                "17:00",
  "autoDigestOnNudge":        true,
  "timezone":                 "auto",
  "colorScheme":              "default",
  "showCaptureConfirmation":  false,
  "ai": {
    "provider":    "template",
    "model":       null,
    "ollamaUrl":   "http://localhost:11434"
  },
  "git": {
    "userEmail":          null,
    "userEmailOverride":  null
  }
}

All Config Keys

cloudEnabled

Enable cloud sync with Worktale Cloud. Default: false

cloudToken

Cloud authentication token. Get yours at worktale.dev. Default: null

nudgeTime

Time of day to run the nudge (24h format). Default: "17:00"

autoDigestOnNudge

When true, the nudge auto-generates and saves a template digest for any repo with commits today but no digest yet. Default: true (v1.5.0+)

timezone

Timezone for date calculations. Default: "auto" (uses system timezone)

colorScheme

Color scheme for TUI output. Default: "default"

showCaptureConfirmation

Show a confirmation line after each capture. Default: false (the hook runs silently)

ai.provider

Digest generation mode. Values: "template" (default) or "ollama"

ai.model

Ollama model name (e.g., "llama3", "mistral", "codellama"). Default: null

ai.ollamaUrl

URL for your Ollama instance. Default: "http://localhost:11434"

git.userEmail

Your git email (auto-detected from git config user.email during init). Default: null

git.userEmailOverride

Override email for filtering commits (useful if you commit under multiple emails). Default: null

Per-Repo Config

Each initialized repo also has a local config at <repo>/.worktale/config.json:

.worktale/config.json
{
  "repoId":        1,
  "initialized":   true,
  "lastAnalysis":  "2026-03-06T10:42:00.000Z"
}
05

Data Storage

All data is stored locally. No network calls are made (except optional Ollama). Nothing is ever sent to any server unless you explicitly opt in to Worktale Cloud.

File Locations

~/.worktale/

Global Worktale directory. Created automatically on first use.

~/.worktale/config.json

Global configuration file.

~/.worktale/data.db

SQLite database (WAL mode) containing all commits, summaries, and file activity across all repos.

<repo>/.worktale/

Per-repo directory. Auto-added to .gitignore. Never committed.

<repo>/.worktale/config.json

Per-repo config (repo ID, init status, last analysis timestamp).

<repo>/.git/hooks/post-commit

Bash post-commit hook installed by Worktale.

<repo>/.git/hooks/post-commit.ps1

PowerShell post-commit hook for Windows.

Database Tables

The SQLite database at ~/.worktale/data.db uses WAL mode for concurrent access. It contains 4 tables:

repos

Tracked repositories. Columns: id, path, name, last_synced

commits

Individual commits. Columns: id, repo_id, sha, message, author, timestamp, lines_added, lines_removed, files_changed, branch, is_merge, tags

daily_summaries

Aggregated daily stats. Columns: id, repo_id, date, commits_count, lines_added, lines_removed, files_touched, user_notes, ai_draft, published

file_activity

Per-file change tracking. Columns: id, repo_id, path, module, date, changes

What Data Is Collected

STORED

  • Commit SHA, message, author, timestamp
  • Lines added/removed counts (numbers only)
  • File paths changed (names only)
  • Branch name, tags
  • Your personal notes and digests

NEVER STORED

  • Source code / file contents
  • Diffs or patches
  • Credentials or tokens
  • Any data from outside git metadata
06

Git Hooks

Worktale uses git hooks for automatic commit capture. Hooks are installed by worktale init or worktale hook install, and can be removed cleanly with worktale hook uninstall.

post-commit (Bash)

Installed at .git/hooks/post-commit. Runs worktale capture --silent after every commit. On Windows, it delegates to the PowerShell hook.

#!/bin/sh
# Worktale post-commit hook
if [ -n "$PSVersionTable" ] || [ "$OS" = "Windows_NT" ]; then
  powershell.exe -ExecutionPolicy Bypass -File \
    "$(git rev-parse --git-dir)/hooks/post-commit.ps1" 2>/dev/null
else
  worktale capture --silent 2>/dev/null || true
fi

post-commit.ps1 (PowerShell)

Installed alongside the bash hook at .git/hooks/post-commit.ps1 for native Windows support.

# Worktale post-commit hook (Windows)
$worktale = (Get-Command worktale -ErrorAction SilentlyContinue)
if ($worktale) {
  & worktale capture --silent
}

Existing Hooks

If you already have a post-commit hook, Worktale appends its section between marker comments (# --- Worktale hook start --- / # --- Worktale hook end ---) without overwriting your existing hook. Removal via worktale hook uninstall cleanly removes only the Worktale section, preserving your other hooks.

post-push (Optional)

A post-push hook that prints a friendly reminder: Tip: run 'worktale digest' to review today's work.

07

End-of-Day Nudge

A lightweight shell profile integration that reminds you to write a digest at the end of your workday. No daemon, no background process — it runs a quick check each time you open a new terminal.

Linux & macOS only. Windows support coming soon.

How It Works

  1. Run worktale init --global or worktale nudge --install
  2. Worktale appends one line to your shell profile (.bashrc, .zshrc, .bash_profile, or .profile)
  3. Each time you open a terminal, the nudge check runs in the background
  4. If all conditions are met, a one-line reminder is printed

Conditions for Display

The nudge only appears when ALL of these are true:

  • Current time is past nudgeTime (default: 17:00 / 5 PM)
  • At least one commit was captured today (across any repo)
  • No digest has been saved today (daily_summaries.user_notes is empty)

Example Output

⚡ Worktale — You shipped 1,204 lines today. Want to log it?

Run: worktale digest

Shell Profile Line

# Worktale nudge

[ -x "$(command -v worktale)" ] && worktale nudge --check 2>/dev/null &

Runs in the background (&), redirects stderr to null, only if worktale is installed.

08

AI Integration

Worktale integrates with every major AI coding agent for live session narration, plus Ollama for local digest generation.

AI agent narration requires Worktale CLI v1.1.0+ — run npm install -g worktale@latest to update.

Supported Platforms

Platform Install Reliability
Claude Code /plugin marketplace add worktale/worktale-plugin Deterministic
Copilot CLI /plugin install worktale/worktale-copilot-plugin Deterministic
Codex CLI git clone → ~/.agents/skills/worktale/ Advisory
Cursor Copy to .cursor/rules/worktale.md Advisory
Cline Copy to .clinerules/worktale.md Advisory
Windsurf Copy to .windsurf/rules/worktale.md Advisory
Any (git hook) worktale init Deterministic

Full integration docs with install commands →

Claude Code — Session Narration

The /worktale skill turns Claude Code into a session narrator. When activated, the AI agent automatically runs worktale note after each commit, capturing the intent, decisions, and context that git diffs can't show.

# Install plugin (one-time):

> /plugin marketplace add worktale/worktale-plugin

> /plugin install worktale-plugin@worktale-plugin

# Activate in any session:

> /worktale

# The agent narrates each commit automatically:

# "Refactored auth middleware for compliance — replaced session token storage"

What gets captured: Intent behind changes, key decisions and trade-offs, problems solved and root causes, high-level description of what was built.

Where it appears: Notes show up in worktale digest, the TUI dashboard daily log, and your Worktale Cloud portfolio.

Manual Notes — Any Script or CI

Use worktale note directly from any script, CI pipeline, or terminal session:

$ worktale note "Deployed v2.1.0 to production"

$ worktale note "Started migration to new payment provider"

Notes are appended (never overwritten) to today's narrative. Multiple notes accumulate in order throughout the day.

Ollama — Local Digest Generation

Optionally integrate with Ollama for AI-enhanced daily digests. Everything runs locally — your data never leaves your machine.

Setup

# 1. Install Ollama (https://ollama.ai)

# 2. Pull a model

$ ollama pull llama3

# 3. Configure Worktale

$ worktale config set ai.provider ollama

$ worktale config set ai.model llama3

# 4. (Optional) Custom Ollama URL

$ worktale config set ai.ollamaUrl http://localhost:11434

How It Works

  1. When you run worktale digest with ai.provider: "ollama"
  2. Worktale checks connectivity by calling {ollamaUrl}/api/tags (3-second timeout)
  3. If Ollama is reachable, it sends your commit messages, stats, and module activity to /api/generate
  4. The AI generates a concise markdown summary (<200 words)
  5. If Ollama is unreachable, it silently falls back to template mode

Compatible Models

Any model available through Ollama works. Popular choices:

llama3 mistral codellama phi3 gemma2

Fallback Behavior

If Ollama is not running or the model isn't available, Worktale automatically falls back to the built-in template mode. You'll see a yellow warning: ⚠ Ollama not available: [reason] followed by the template-generated digest. No action needed.