Skip to main content

MissionCache Auto - Autonomous AI Development Tool for MissionCache Projects

Project description

MissionCache Auto

Autonomous AI development tool for completing programming tasks iteratively.

Installation

Requires Python 3.11+.

cd missioncache-auto
pip install -e .

Or run directly:

python -m missioncache_auto <task-name>

Quick Start

# Initialize a new task
missioncache-auto init my-feature "Add user authentication"

# Run in parallel mode (default, 8 workers)
missioncache-auto my-feature

# Run in sequential mode
missioncache-auto my-feature --sequential

# Show execution plan without running
missioncache-auto my-feature --dry-run

# Check task status
missioncache-auto status my-feature

Usage

missioncache-auto <task-name> [options]
missioncache-auto init <task-name> "description"
missioncache-auto status <task-name>

Options

Option Description
-w, --workers N Number of parallel workers (default: 8, max: 12)
-r, --retries N Max retries per task (default: 3)
--sequential, -s Run in sequential mode
--parallel, -p Run in parallel mode (default)
--dry-run Show execution plan without running
--fail-fast Stop all workers on first failure
--worktree Isolate each worker in its own git worktree (default on git repos)
--no-worktree Run all workers in the shared checkout instead of per-worker worktrees
--no-commit Disable the automatic git commit after each task
-v, --visibility Output level: verbose, minimal, none
--no-color Disable colored output

On a git repository, parallel runs isolate each worker in its own worktree by default, then commit each task and merge the results back. Two flag combinations are refused with exit code 3 because they would silently lose work:

  • --no-commit while worktrees are on: worker output lives only on per-worker branches with nothing committed, so it is discarded when the worktrees are removed. Drop --no-commit, or add --no-worktree (optionally with -w 1).
  • --no-worktree with auto-commit and more than one worker: the shared workers race on git add -A/commit and can lose each other's work. Isolate them (drop --no-worktree), pass --no-commit, or run -w 1.

Worktrees branch from HEAD, so parallel runs also refuse (exit code 3) when the main checkout has uncommitted tracked changes - commit or stash them first, or pass --no-worktree. Untracked files only warn.

Environment Variables

Variable Description
MISSIONCACHE_AUTO_VISIBILITY Default visibility level (verbose, minimal, none)

Task Structure

Tasks are organized in ~/.missioncache/active/<task-name>/:

~/.missioncache/active/my-feature/
+-- my-feature-tasks.md      # Checkbox task list
+-- my-feature-context.md    # Project context and learnings
+-- my-feature-plan.md       # Implementation plan
+-- my-feature-auto-log.md   # Iteration history (auto-created)
+-- prompts/                 # Optimized prompts (optional)
    +-- README.md
    +-- task-01-prompt.md
    +-- task-02-prompt.md
    +-- ...

Modes

Sequential Mode

Runs tasks one at a time, in order. Good for:

  • Simple linear workflows
  • Tasks that need careful human oversight
  • Debugging specific task failures

Parallel Mode

Runs multiple tasks concurrently, respecting dependencies. Good for:

  • Tasks with clear dependency graphs
  • Maximizing throughput
  • Large task sets with independent work

Requires prompts directory with YAML frontmatter defining dependencies:

---
task_id: "01"
task_title: "Add priority field"
dependencies: []
---

Exit Codes

Code Meaning
0 All tasks completed successfully
1 Max retries reached (failed)
2 Blocked on [WAIT] task
3 Configuration or setup error

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy missioncache_auto

# Linting
ruff check missioncache_auto

Architecture

missioncache_auto/
+-- __init__.py          # Package exports
+-- __main__.py          # Entry point: python -m missioncache_auto
+-- cli.py               # Argument parsing, commands
+-- models.py            # Data models (Task, State, Config)
+-- dag.py               # Dependency graph builder
+-- state.py             # State management with file locking
+-- task_parser.py       # Parse tasks.md and prompts
+-- claude_runner.py     # Claude CLI integration
+-- display.py           # Terminal output and colors
+-- sequential.py        # Sequential execution
+-- parallel.py          # Parallel orchestration
+-- worker.py            # Worker process
+-- init_task.py         # Task initialization
+-- templates/           # Task templates

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

missioncache_auto-1.0.2.tar.gz (74.2 kB view details)

Uploaded Source

Built Distribution

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

missioncache_auto-1.0.2-py3-none-any.whl (59.6 kB view details)

Uploaded Python 3

File details

Details for the file missioncache_auto-1.0.2.tar.gz.

File metadata

  • Download URL: missioncache_auto-1.0.2.tar.gz
  • Upload date:
  • Size: 74.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for missioncache_auto-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c73f6510a317e75510c088011e5b1a5f86632cd1a62b76137052e19a6fea4465
MD5 9ffae1d6bb665508e2716e0c7c90338f
BLAKE2b-256 555cc87b7199066f291f3e019050a6f5644a999cfbbbba00405f6d08bbb3e420

See more details on using hashes here.

File details

Details for the file missioncache_auto-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for missioncache_auto-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 df44e7539b158a27e8b0f0fa3ac6ad29a88038b851ed3d1783b7e54b8a454817
MD5 0906583b9d648f931e88d57b28d2761c
BLAKE2b-256 90bb8b5e198d355a5bcd7f3783910204960d700723503b213b9a91a3fdd41529

See more details on using hashes here.

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