Skip to main content

Version-controlled task management for AI agents

Project description

TaskManager.exe

Version-controlled task management for AI agents. Agents use familiar file editing tools; versioning and sync happen transparently via jj (jujutsu).

Problem

AI agents using file-based task systems lose work when:

  • Multiple agents edit the same file
  • Context resets mid-task and overwrites with stale state
  • No history to recover from
  • Agents go in circles - after context reset, they repeat mistakes because they don't know what was already tried

Installation

Requires Python 3.11+ and jj.

pipx install taskmanager-exe
# or
uvx taskmanager-exe

Quick Start

# Initialize in your repo
taskman init

# Install MCP server config
taskman install-mcp claude    # or: cursor, codex

# Install Claude Code skills (optional)
taskman install-skills

To create a worktree (from main repo):

taskman wt my-feature    # creates worktrees/my-feature/ + clones .agent-files

To add .agent-files to an existing worktree (recovery):

taskman wt               # clones .agent-files into current directory

How It Works

Agent
  │
  ├── Edit tool ────────► .agent-files/ (jj repo)
  │   (file ops)                │
  │                        push/pull
  ├── MCP Server ───────────────┼──────────────────►
  │   (batch/sync)              ▼
  │                     .agent-files.git/ (bare origin)
  └── Skills ───────────────────┘
      (CLI wrapper)
  • Agents edit files with their normal Edit tool
  • jj auto-snapshots every change (no explicit commit needed)
  • MCP tools or Skills handle sync and history queries
  • Bare git origin serializes concurrent access across worktrees

CLI Commands

taskman init                    # create .agent-files.git/ + .agent-files/
taskman wt <name>               # create worktree (from main repo)
taskman wt                      # add .agent-files to existing worktree
taskman install-mcp <agent>     # install MCP config (claude, cursor, codex)
taskman install-skills          # install skill files to ~/.claude/commands/
taskman uninstall-mcp <agent>   # remove MCP config
taskman uninstall-skills        # remove skill files

taskman describe <reason>       # create named checkpoint
taskman sync <reason>           # full sync: describe + fetch + rebase + push
taskman history-diffs <file> <start> [end]    # diffs across revision range
taskman history-batch <file> <start> [end]    # file content at each revision
taskman history-search <pattern> [file] [limit]  # search history

taskman stdio                   # run MCP server (stdio transport)

MCP Tools

When installed via taskman install-mcp, these tools are available:

Tool Description
describe(reason) Create named checkpoint
sync(reason) Full sync workflow
history_diffs(file, start, end) Aggregate diffs across range
history_batch(file, start, end) File content at all revisions
history_search(pattern, file, limit) Search history for pattern

Skills

When installed via taskman install-skills, these Claude Code skills are available:

Skill Description
/continue Resume work - pull + read STATUS.md
/handoff Mid-task handoff - sync + detailed context
/complete Task done - sync + archive
/describe <reason> Create named checkpoint
/sync <reason> Full sync workflow
/history-diffs <file> <start> [end] Diffs across range
/history-batch <file> <start> [end] File content at revisions
/history-search <pattern> [--file] [--limit] Search history

Skills wrap the CLI and work without MCP support.

Direct jj Commands

Agents can also use jj directly for simple operations:

jj status                    # current state
jj log                       # view history
jj diff                      # see changes
jj restore --from <rev> <file>  # restore file from revision

Task File Structure

.agent-files/
  STATUS.md           # Task index, session state
  LONGTERM_MEM.md     # Architecture (months+)
  MEDIUMTERM_MEM.md   # Patterns, gotchas (weeks)
  tasks/
    TASK_<slug>.md    # Individual tasks
    _archive/         # Completed tasks

Sync Model

Sync at task boundaries:

  • /continue - session start, pull latest state
  • /handoff - mid-task, push with detailed context
  • /complete - task done, push and archive

On conflict, agent resolves with Edit tool, then syncs again.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskmanager_exe-0.6.0.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taskmanager_exe-0.6.0-py3-none-any.whl (49.7 kB view details)

Uploaded Python 3

File details

Details for the file taskmanager_exe-0.6.0.tar.gz.

File metadata

  • Download URL: taskmanager_exe-0.6.0.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for taskmanager_exe-0.6.0.tar.gz
Algorithm Hash digest
SHA256 76b372230de3e3333a0e94548a63c9f707464c22afdb744e7be636be335ae5de
MD5 5d57a02c69c48d87442a597f1ea782e3
BLAKE2b-256 6dcb96d51435f83c39ef56ef37d5a54afbd754eb6eb0496a1b5f85672cf8546a

See more details on using hashes here.

Provenance

The following attestation bundles were made for taskmanager_exe-0.6.0.tar.gz:

Publisher: publish.yml on charles-cooper/TaskManager.exe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file taskmanager_exe-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: taskmanager_exe-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 49.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for taskmanager_exe-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb8f993603ef03f6d4a0bf3467c9453d7dc09904144ffc16da29fb4d6ef80dfc
MD5 7b6b83b786d815aee47e7bc9736e6468
BLAKE2b-256 65c0fd6e41ebdf2d763dd7a9f32bd3d29398d4faef951ca6311231e1df7d8a75

See more details on using hashes here.

Provenance

The following attestation bundles were made for taskmanager_exe-0.6.0-py3-none-any.whl:

Publisher: publish.yml on charles-cooper/TaskManager.exe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page