{"_id":"@codemeasandwich/tars","_rev":"2-3074c960a6820d53e2a7746d2fe14de9","name":"@codemeasandwich/tars","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@codemeasandwich/tars","version":"1.0.0","keywords":["claude","cli","orchestrator","automation","ai"],"author":{"name":"Brian","email":"https://github.com/codemeasandwich"},"license":"ISC","_id":"@codemeasandwich/tars@1.0.0","maintainers":[{"name":"codemeasandwich","email":"brian.shann@gmail.com"}],"homepage":"https://github.com/codemeasandwich/TARS#readme","bugs":{"url":"https://github.com/codemeasandwich/TARS/issues"},"bin":{"tars":"src/cli/build.mjs"},"dist":{"shasum":"4ec9ea4c86f52acaa01881bcdb471186557917bf","tarball":"https://registry.npmjs.org/@codemeasandwich/tars/-/tars-1.0.0.tgz","fileCount":241,"integrity":"sha512-Mbey6H/K9QuwQCTezn2HDqbuGGNs98Hl6/d+ih7PyBJYkhRvsyk8ss4kTFkSfz2A6tYQHQsuiK8UH4QsGLYlOA==","signatures":[{"sig":"MEUCIDqYDWezP8GZmcyOc+MXwgCpFp/3R0JFDx5iI+QBBpwcAiEAwiMKknBeGN3wrRZYF3GBLXDXAB/R0iNbsVE4WNRUim0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":952917},"main":"src/cli/build.mjs","type":"module","engines":{"node":">=18.0.0"},"gitHead":"93a1398e9f0081dad52ecbeb33ffbc150a950bce","scripts":{"pre":"node src/cli/launcher.mjs pre","test":"node --test","build":"node src/cli/launcher.mjs build","setup":"node src/cli/launcher.mjs setup","start":"node src/cli/launcher.mjs start"},"_npmUser":{"name":"codemeasandwich","email":"brian.shann@gmail.com"},"repository":{"url":"git+https://github.com/codemeasandwich/TARS.git","type":"git"},"_npmVersion":"11.6.2","description":"TARS - Sequential Claude CLI orchestrator for running pre-contextualized implementation tasks with validation and verification.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"galactica":"^1.1.0","jsonsuperset":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tars_1.0.0_1771578674100_0.6525878207662876","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@codemeasandwich/tars","version":"1.0.1","description":"TARS - Sequential Claude CLI orchestrator for running pre-contextualized implementation tasks with validation and verification.","license":"ISC","author":{"name":"Brian","email":"https://github.com/codemeasandwich"},"type":"module","main":"src/cli/build.mjs","bin":{"tars":"src/cli/build.mjs"},"scripts":{"build":"node src/cli/launcher.mjs build","start":"node src/cli/launcher.mjs start","pre":"node src/cli/launcher.mjs pre","setup":"node src/cli/launcher.mjs setup","test":"node --test"},"keywords":["claude","cli","orchestrator","automation","ai"],"repository":{"type":"git","url":"git+https://github.com/codemeasandwich/TARS.git"},"engines":{"node":">=18.0.0"},"dependencies":{"galactica":"^1.1.0","jsonsuperset":"^1.0.0"},"gitHead":"93a1398e9f0081dad52ecbeb33ffbc150a950bce","_id":"@codemeasandwich/tars@1.0.1","bugs":{"url":"https://github.com/codemeasandwich/TARS/issues"},"homepage":"https://github.com/codemeasandwich/TARS#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-7d2LeyChKu7EIe4bezQjwal2Of2GDsc+jqdIgEBwRzxISKMg8KsVhz5XKAVQvz3KHGCDrMEFlIi9QxsPGIXDHw==","shasum":"f206ccb7a542f221262f4dbdb79e9f73b9d36ce1","tarball":"https://registry.npmjs.org/@codemeasandwich/tars/-/tars-1.0.1.tgz","fileCount":241,"unpackedSize":952923,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG7LkNKxhS/AY5IvWvJ776lPu48SiFAsD8/jsRfnJS7UAiBtuqUIv3vLprZlkfBr5M3HcXBwwoEFFxIcM0RAO6UJ8A=="}]},"_npmUser":{"name":"codemeasandwich","email":"brian.shann@gmail.com"},"directories":{},"maintainers":[{"name":"codemeasandwich","email":"brian.shann@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tars_1.0.1_1771578730104_0.6891009232887613"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-20T09:11:14.023Z","modified":"2026-02-20T09:12:10.389Z","1.0.0":"2026-02-20T09:11:14.303Z","1.0.1":"2026-02-20T09:12:10.279Z"},"bugs":{"url":"https://github.com/codemeasandwich/TARS/issues"},"author":{"name":"Brian","email":"https://github.com/codemeasandwich"},"license":"ISC","homepage":"https://github.com/codemeasandwich/TARS#readme","keywords":["claude","cli","orchestrator","automation","ai"],"repository":{"type":"git","url":"git+https://github.com/codemeasandwich/TARS.git"},"description":"TARS - Sequential Claude CLI orchestrator for running pre-contextualized implementation tasks with validation and verification.","maintainers":[{"name":"codemeasandwich","email":"brian.shann@gmail.com"}],"readme":"```\n                            l̶e̶v̶e̶l̶ ̶1̶ ̶a̶u̶t̶o̶n̶o̶m̶y̶ ̶|̶ ̶c̶o̶d̶e̶ ̶s̶n̶i̶p̶p̶e̶t̶\n ▀█▀ ▄▀▄ █▀▄ ▄▀▀̶            l̶e̶v̶e̶l̶ ̶2̶ ̶a̶u̶t̶o̶n̶o̶m̶y̶ ̶|̶ ̶g̶e̶n̶e̶r̶a̶t̶e̶ ̶f̶e̶a̶t̶u̶r̶e̶\n  █  █▀█ █▀▄ ▄██   Complete level 3 autonomy | Idea -> PR\n```\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y51UK6OB)\n\nAutomated Claude CLI orchestrator for running implementation tasks with validation and verification.\n\n![Spec Generation](https://img.shields.io/badge/Spec_Generation-requirement_→_SPEC.md-blue)\n![Task Decomposition](https://img.shields.io/badge/Task_Decomposition-ordered_tasks-blue)\n![Parallel Execution](https://img.shields.io/badge/Parallel_Execution-concurrent_tasks-green)\n![Worktree Isolation](https://img.shields.io/badge/Worktree_Isolation-git_safety-green)\n![Adversarial Review](https://img.shields.io/badge/Adversarial_Review-fresh_session-purple)\n![Auto Resume](https://img.shields.io/badge/Auto_Resume-interrupt_recovery-purple)\n![Self Improving](https://img.shields.io/badge/Self_Improving-runtime_tuning-orange)\n![Pre--existing Detection](https://img.shields.io/badge/Pre--existing_Detection-skip_redundant-orange)\n![Final Review](https://img.shields.io/badge/Final_Review-auto_PR-red)\n\n\n## Overview\n\nTARS automates the full lifecycle from requirement to implementation:\n\n```\nRequirement → Spec → Tasks → Execute → Validate → Verify → Commit\n```\n\n| Stage | Script | Entry File | Description |\n|-------|--------|------------|-------------|\n| Spec | `npm run pre` | `src/spec.mjs` | Transforms requirements into SPEC.md + CONTEXT.md |\n| Plan | `npm run setup` | `src/plan.mjs` | Decomposes SPEC.md into dependency-ordered task files |\n| Execute | `npm run build` | `src/run.mjs` | Runs tasks through validation and verification pipeline |\n| Auto | `npm start` | `src/start.mjs` | State-aware orchestrator that runs chain as needed |\n\n## Quick Start\n\n```bash\n# 1. Generate spec from a requirement\nnpm run pre \"Add user authentication with JWT\"\n\n# 2. Generate task files from the spec\nnpm run setup\n\n# 3. Execute all tasks\nnpm run build\n```\n\nOr let TARS choose the required chain automatically:\n\n```bash\nnpm start\n```\n\nOr use interactive spec mode:\n\n```bash\nnpm run pre\n# Select from menu: type requirement or choose a file\n```\n\n<details>\n<summary>📊 ASCII Flow Charts</summary>\n\n### End-to-End Lifecycle\n\n```text\n+------------------+     +-----------------+     +-----------------------+\n| Requirement text | --> | npm run pre     | --> | SPEC.md + CONTEXT.md  |\n+------------------+     +-----------------+     +-----------------------+\n                                                          |\n                                                          v\n                                               +-------------------------+\n                                               | npm run setup           |\n                                               | writes tasks/*.md       |\n                                               +-------------------------+\n                                                          |\n                                                          v\n                                               +-------------------------+\n                                               | npm run build           |\n                                               | execute/verify/commit   |\n                                               +-------------------------+\n```\n\n### `npm start` Chain Selection (`src/start.mjs`)\n\n```text\n+------------------+\n| npm start        |\n| src/start.mjs    |\n+------------------+\n         |\n         v\n+---------------------------+\n| tasks/*.md already exist? |\n+------------+--------------+\n             | yes\n             v\n      +----------------------+\n      | run chain: [build]   |\n      +----------------------+\n             |\n             no\n             v\n+----------------------------+\n| SPEC.md plan-compatible?   |\n+------------+---------------+\n             | yes                         no\n             v                             v\n   +------------------------+    +-----------------------------+\n   | run chain: [setup,     |    | run chain: [pre, setup,    |\n   |            build]       |    |            build]           |\n   +------------------------+    +-----------------------------+\n```\n\n### Task Execution and Fix Loop (`src/run.mjs`)\n\n```text\n            (optional with --plan or task override)\n                         +------+\n                         | Plan |\n                         +--+---+\n                            |\n                            v\n+---------+   +----------+   +------------+   +--------+   +--------+\n| Execute |-> | Validate |-> | Regression |-> | Verify |-> | Commit |\n+----+----+   +-----+----+   +------+-----+   +---+----+   +--------+\n     |              |               |             |\n     +--------------+---------------+-------------+\n                    any failure in phase\n                              |\n                              v\n                      +-------------------+\n                      | Fix + retry phase |\n                      | (bounded attempts)|\n                      +-------------------+\n```\n\n</details>\n\n<details>\n<summary>⚙️ Configuration</summary>\n\nKey settings in `run.mjs`:\n\n```javascript\nconst CONFIG = {\n  maxFixAttempts: 3,           // Fix attempts before failing\n  adversarialReview: true,     // Fresh session for verification\n  planningEnabled: false,      // Enable via --plan flag\n  phaseLimits: {\n    plan:       { maxTurns: 15 },  // Planning needs exploration room\n    execute:    { maxTurns: 30 },  // Implementation needs room\n    verify:     { maxTurns: 8 },   // Verification should be focused\n    fix:        { maxTurns: 15 },  // Fixes need moderate room\n    commit:     { maxTurns: 3 },   // Commit is a simple action\n    regression: { maxTurns: 15 },  // Test fix loop needs room\n  },\n};\n```\n\n### Turn Limits\n\nEach phase has a `maxTurns` limit that bounds how many tool calls Claude can make. This prevents over-elaboration and keeps phases focused:\n\n- **plan** (15): Needs room to explore codebase and produce structured plan\n- **execute** (30): Needs room for reading files, writing code, running commands\n- **verify** (8): Should quickly check acceptance criteria, not re-implement\n- **fix** (15): Moderate room to diagnose and fix issues\n- **commit** (3): Just stage files and create a commit\n- **regression** (15): Test fix loops need moderate room\n\nTurn limits are passed to Claude CLI via `--max-turns`. When a phase hits its limit, Claude exits cleanly with whatever work was completed. Automated phases (validate, regression) don't have turn limits — they run shell commands directly.\n\nThe plan phase can dynamically adjust execute turns based on estimated complexity (see [Planning Phase](docs/TASK-RUNNER.md#planning-phase)).\n\n</details>\n\n---\n\n## Documentation\n\n| Guide | Description |\n|-------|-------------|\n| [Spec Generator](docs/SPEC-GENERATOR.md) | Transform requirements into SPEC.md |\n| [Plan Generator](docs/PLAN-GENERATOR.md) | Decompose specs into ordered tasks |\n| [Task Runner](docs/TASK-RUNNER.md) | Execute, validate, verify, commit pipeline |\n| [Parallel Execution](docs/PARALLEL-EXECUTION.md) | Run independent tasks concurrently |\n| [Worktree Isolation](docs/WORKTREE-ISOLATION.md) | Git safety, interrupts & resume |\n| [Self-Improvement](docs/SELF-IMPROVEMENT.md) | Runtime tuning harness |\n| [Dashboard](docs/DASHBOARD.md) | Real-time TUI monitoring |\n| [Logging](docs/LOGGING.md) | Structured logging & analytics |\n| [Troubleshooting](TROUBLESHOOTING.md) | Common issues & solutions |\n| [Contributing](CONTRIBUTING.md) | Adding tasks, JSDoc guidelines |\n\n---\n\n## License\n\nThis project is dual-licensed:\n\n| Use Case | License Required |\n|----------|--------------------|\n| Personal project | Free — [PolyForm NC](./LICENSE.md) |\n| Learning / research | Free — [PolyForm NC](./LICENSE.md) |\n| Open source (non-commercial) | Free — [PolyForm NC](./LICENSE.md) |\n| Internal business tool | [Commercial License](./COMMERCIAL-LICENSE.md) |\n| Sold as part of a product | [Commercial License](./COMMERCIAL-LICENSE.md) |\n| Offered as a hosted service | [Commercial License](./COMMERCIAL-LICENSE.md) |\n\n### Attribution Required (All Users)\n\nWhether you're using TARS for free or under a commercial license, the following is **required**:\n\n- **Acknowledgement:** A visible credit (\"Built with TARS\") in your docs, README, about page, or website\n- **Console output:** Your software must print a TARS attribution message on startup\n\n[→ Contact for commercial licensing](https://github.com/codemeasandwich/TARS)\n","readmeFilename":"README.md"}