Documentation
Complete reference for every command, flag, config key, keyboard shortcut, and data path in Worktale.
Getting Started
Prerequisites
- Node.js 18 or later
- Git installed and configured (
git config user.emailset)
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.
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
- Displays the Worktale ASCII banner
- Detects the git repo and resolves your
git config user.email - Saves your email to the global config (
~/.worktale/config.json) - Registers the repo in the SQLite database
- Creates the
.worktale/directory and adds it to.gitignore - Installs a
post-commithook (bash + PowerShell) for automatic capture - Runs historical analysis using a worker thread — scans all commits with a live progress bar
- Displays summary: total commits, lines added, lines removed, files tracked, branches, days active, first commit date
- 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
- Generates the digest (template or Ollama)
- Displays the formatted markdown in your terminal
- Prompts
Save this digest? (Y/n) - Saves to
daily_summaries.user_notesin the SQLite database - 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_notesfield in today's daily summary - Creates the daily summary row if none exists yet
- Auto-registers the repo if it has a
.gitdirectory but isn't tracked - Notes appear in
worktale digestand 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 / model | Auto | Agent | Agent |
| input / output tokens | Auto | Manual | Manual |
| cost | Auto (rate table) | Manual | Manual |
| tools-used | Auto | Agent | Agent |
| mcp-servers | Auto | — | — |
| duration | Auto | Agent | Agent |
| commits | Agent | Agent | Agent |
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
commitstable, updatesdaily_summariesaggregate, insertsfile_activityrecords - 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
- Walks the filesystem from the current directory with a live directory counter, looking for folders containing
.git - Skips common non-repo directories for speed:
node_modules,bin,obj,dist,build,target,vendor,__pycache__,venv,packages, hidden directories, and more - Does not recurse into found repos (treats each as a leaf)
- Registers each repo in the database and runs historical analysis via a worker thread, filtered by
--sinceif provided - Shows per-repo progress bars and a final aggregate summary (total repos, commits, lines added/removed)
- Gracefully handles errors per-repo — failures don't stop the remaining repos
- 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)
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
Eto add or edit personal notes for the day. PressEnterto save,Escto 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.)
Configuration
Global config is stored at ~/.worktale/config.json. Use worktale config to view or edit.
Config Schema (with defaults)
{ "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:
{ "repoId": 1, "initialized": true, "lastAnalysis": "2026-03-06T10:42:00.000Z" }
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
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.
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
- Run
worktale init --globalorworktale nudge --install - Worktale appends one line to your shell profile (
.bashrc,.zshrc,.bash_profile, or.profile) - Each time you open a terminal, the nudge check runs in the background
- 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_notesis 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.
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 |
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
- When you run
worktale digestwithai.provider: "ollama" - Worktale checks connectivity by calling
{ollamaUrl}/api/tags(3-second timeout) - If Ollama is reachable, it sends your commit messages, stats, and module activity to
/api/generate - The AI generates a concise markdown summary (<200 words)
- If Ollama is unreachable, it silently falls back to template mode
Compatible Models
Any model available through Ollama works. Popular choices:
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.