{"id":47673674,"url":"https://github.com/binaryhb0916/isparto","last_synced_at":"2026-04-09T16:20:15.515Z","repository":{"id":345294332,"uuid":"1184264348","full_name":"BinaryHB0916/iSparto","owner":"BinaryHB0916","description":"One-person army: use Claude Code Agent Team mode to run a full AI dev team. Works for all platforms.","archived":false,"fork":false,"pushed_at":"2026-04-01T12:58:37.000Z","size":457,"stargazers_count":30,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T01:22:34.917Z","etag":null,"topics":["agent-team","ai-development","automation","claude-code","codex","developer-tools","mcp","workflow"],"latest_commit_sha":null,"homepage":"https://iSparto.dev","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BinaryHB0916.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-17T12:21:44.000Z","updated_at":"2026-04-01T12:58:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/BinaryHB0916/iSparto","commit_stats":null,"previous_names":["binaryhb0916/isparto"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/BinaryHB0916/iSparto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryHB0916%2FiSparto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryHB0916%2FiSparto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryHB0916%2FiSparto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryHB0916%2FiSparto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BinaryHB0916","download_url":"https://codeload.github.com/BinaryHB0916/iSparto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinaryHB0916%2FiSparto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31428645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-team","ai-development","automation","claude-code","codex","developer-tools","mcp","workflow"],"created_at":"2026-04-02T13:11:34.339Z","updated_at":"2026-04-05T08:01:10.376Z","avatar_url":"https://github.com/BinaryHB0916.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/header.svg\" alt=\"iSparto\" width=\"100%\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.zh-CN.md\"\u003e中文版\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n**iSparto turns Claude Code from a single AI into a development team** — Lead assembles prompts, Developer (Codex) implements, Teammates parallelize, Doc Engineer syncs documentation. You direct the team, not the agent.\n\n### Who is this for\n\nSolo developers on macOS who want to multiply their output with Claude Code. Requires Claude Max and ChatGPT subscriptions.\n\n\u003e **Platform: macOS only.** Agent Team mode requires iTerm2's built-in tmux integration. Solo + Codex mode may work on other platforms, but is untested.\n\n| Item | Requirement | Notes |\n|------|-------------|-------|\n| Claude Max subscription | $100/month | Claude Code + Auto mode (Solo + Codex / Agent Team) |\n| ChatGPT subscription | $20/month | Codex CLI (code review + QA) |\n| Node.js | 18+ | Runs Claude Code, Codex CLI, and MCP Server |\n| Git | Any version | Version control |\n| Terminal | iTerm2 (macOS) | Agent Team tmux mode relies on iTerm2's built-in tmux integration; no separate tmux installation needed |\n\n**Total cost: $120/month** — two top-tier models (Claude Opus + Codex), no additional API fees.\n\n### How iSparto Differs from Existing Tools\n\nExisting AI coding tools (Cursor, Windsurf, Copilot, Claude Code single session) all follow the same pattern — **you go back and forth with a single Agent**. The Agent has no team, no division of labor; everything depends on you and it trading messages back and forth.\n\niSparto turns a single Agent into **a team with clear roles**: Lead assembles structured prompts, Developer (Codex) implements, Teammates parallelize, and Doc Engineer keeps documentation in sync. Instead of directing an Agent line by line, you confirm the direction and accept the results.\n\n| | Single-Agent Tools | iSparto |\n|--|---------------------|---------|\n| Collaboration mode | You go back and forth with a single Agent | Lead auto-selects: Solo + Codex for small tasks, Agent Team for parallel work |\n| AI organization | Single Agent, no division of labor | Team-based (Lead + Teammate + Developer + Doc Engineer) |\n| Parallelism | None — single-threaded conversation | Solo mode (default) for small tasks; Agent Team for parallel execution within a Wave |\n| Code review | Agent reviews its own code (same source) | Lead reviews Developer (Codex) output (cross-model quality gate) |\n| Cross-session state | Lost — must re-explain context every time | Driven by plan.md; `/start-working` auto-restores state |\n| Documentation sync | Manual maintenance | Doc Engineer auto-audits every Wave |\n\n**In short: other tools have you directing one Agent. iSparto has you directing an entire team.**\n\n---\n\n## Installation\n\n**Prerequisites:** [Claude Max](https://claude.ai) ($100/mo) + [ChatGPT Plus](https://chatgpt.com) ($20/mo) subscriptions are required. iSparto uses Claude Code as the runtime and Codex CLI as the Developer role.\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/BinaryHB0916/iSparto/main/bootstrap.sh | bash\n```\n\nOne command handles everything: downloads a verified installer from GitHub Releases, checks/installs Claude Code and Codex CLI, logs into Codex, copies commands and templates to `~/.claude/`, and registers the global MCP Server. Your existing `~/.claude/settings.json` is never modified. A snapshot of your original files is automatically created before any changes — you can always revert to your pre-install state.\n\n**Preview before installing:** add `--dry-run` to see what would happen without making any changes:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/BinaryHB0916/iSparto/main/bootstrap.sh | bash -s -- --dry-run\n```\n\n**Install a specific version:**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/BinaryHB0916/iSparto/main/bootstrap.sh | bash -s -- --version=0.3.0\n```\n\n**Upgrade:** re-run to pull the latest version and see what's new:\n\n```bash\n~/.isparto/install.sh --upgrade\n```\n\n\u003e Upgrade updates framework components only (commands, templates, snapshot engine). Your project files (CLAUDE.md, docs/, code, settings) are never touched.\n\n**Uninstall:** reverts all changes and restores your original files from the backup snapshot (works offline):\n\n```bash\n~/.isparto/install.sh --uninstall\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eAlternative: manual clone\u003c/summary\u003e\n\n```bash\ngit clone https://github.com/BinaryHB0916/iSparto.git\ncd iSparto \u0026\u0026 ./install.sh              # or: ./install.sh --dry-run\n```\n\u003c/details\u003e\n\n---\n\n## Quick Start\n\n### Initialize a New Project\n\n```bash\nmkdir my-app \u0026\u0026 cd my-app\nclaude --effort max\n/env-nogo                        # optional — confirm environment readiness\n/init-project I want to build an xxx   # generates CLAUDE.md + docs/, Codex architecture pre-review\n```\n\nA snapshot is automatically taken before any files are created. If anything goes wrong, run `/restore` to roll back.\n\n### Migrate an Existing Project\n\n```bash\ncd existing-project/\nclaude --effort max\n/migrate --dry-run               # preview migration plan without executing (recommended for first run)\n/migrate                         # scans project, proposes migration plan, preserves all existing content\n```\n\nA snapshot of your existing files is automatically taken before any changes. Run `/restore` at any time to roll back to the pre-migration state.\n\n### Daily Work Cycle\n\n```\n/start-working\n    → Lead reads plan.md, reports current status and TODOs\n    → You confirm \"go ahead\"\n        ↓\nLead's team runs on its own (you don't need to watch)\n    → Break down tasks → Developer writes code → Codex reviews → Developer reviews fixes\n    → Codex QA → Doc Engineer documentation audit → Lead merges code\n        ↓\nOccasionally Lead comes to you (escalate decisions / confirm commits)\n        ↓\n/end-working\n    → Sync documentation → Update plan.md → commit → push\n```\n\n### When You Have New Requirements\n\n```\n/plan I want to add an xxx feature\n    → Lead first reviews the product direction, produces a proposal\n    → After you confirm the proposal, Lead writes it into plan.md and begins work\n```\n\n---\n\n## Role Architecture\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/role-architecture.svg\" alt=\"Role Architecture\" width=\"100%\"/\u003e\n\u003c/p\u003e\n\n- Lead / Teammate / Doc Engineer: Claude primary sessions (see [model configuration](docs/configuration.md#agent-model-configuration))\n- Developer: Codex via MCP (see [model configuration](docs/configuration.md#agent-model-configuration))\n- Process Observer: three-layer security defense — real-time Write/Edit content scanning (Layer 1), pre-commit secret/PII scanning (Layer 2), and milestone-level full audit via `/security-audit` (Layer 3). See [docs/security.md](docs/security.md).\n\n---\n\n## Real-World Usage\n\niSparto used its own Agent Team workflow to develop itself. Below is the first complete dogfooding run — building the \"Session Log\" feature (automatic session metrics collection in `/end-working` and `/start-working`).\n\n### Flow\n\n1. **`/start-working`** — Lead read `plan.md`, reported Wave 5 status, identified the session log feature as the next task.\n2. **Branch** — Lead created `feat/session-log`.\n3. **Task breakdown** — Lead assigned file ownership:\n   - Developer A: `commands/end-working.md` (add session report generation)\n   - Developer B: `commands/start-working.md` (add session log reading)\n4. **Parallel development** — Both Developers ran simultaneously and completed their tasks.\n5. **Codex Review** — Found 2 P2 issues:\n   - `git diff --stat` misses staged/untracked files. Fixed to `git diff HEAD --stat`.\n   - Diff output inside a Markdown table breaks rendering. Moved to a code block.\n6. **Fix** — Lead applied both Codex findings.\n7. **Doc audit** — Doc Engineer updated `workflow.md` and `plan.md`.\n8. **Merge** — Merged to `main` via `--no-ff` merge commit.\n\n### Stats\n\n| Metric | Value |\n|--------|-------|\n| Developers in parallel | 2 |\n| Codex review passes | 1 |\n| Issues caught by Codex | 2 (both fixed) |\n| Files changed | 4 |\n| Insertions / Deletions | +45 / -11 |\n| Full cycle | Task breakdown, parallel dev, Codex review, fix, doc audit, merge |\n\n\n---\n\n## Getting Started Checklist\n\n**One-time setup (`./install.sh` handles this automatically):**\n\n- [ ] Claude Max + ChatGPT subscriptions active\n- [ ] Terminal is iTerm2 (macOS, required for Agent Team split panes)\n- [ ] `./install.sh` completed (Claude Code, Codex CLI, config files, MCP)\n- [ ] Multi-device sync configured (if using multiple computers, see [configuration.md](docs/configuration.md#multi-device-sync-optional))\n\n**Each new project (`/init-project` handles this automatically):**\n\n- [ ] Launch with `claude --effort max`\n- [ ] `/env-nogo` check passed (optional)\n- [ ] `/init-project` has generated CLAUDE.md + docs/\n- [ ] Project-level `.claude/settings.json` configured with platform-specific plugins (e.g., swift-lsp for iOS, optional)\n\n---\n\n## Repository Structure and Documentation Index\n\n```\niSparto/\n├── README.md                  ← The document you are reading now\n├── README.zh-CN.md            ← Chinese version / 中文版\n├── CLAUDE.md                  ← Project instructions for Claude Code\n├── CONTRIBUTING.md            ← Contribution guidelines\n├── settings.json              ← Reference template for project-level .claude/settings.json\n├── CLAUDE-TEMPLATE.md         ← Template for generating new project CLAUDE.md\n├── LICENSE\n├── .gitignore\n├── VERSION                    ← Current version (semver)\n├── CHANGELOG.md               ← Release notes\n├── bootstrap.sh               ← Thin entry point (version resolve + checksum verify)\n├── install.sh                 ← Main installer (versioned per release)\n├── isparto.sh                 ← Local stub (upgrade/uninstall/version)\n├── scripts/\n│   └── release.sh             ← Automated release script (bump version → changelog → tag → gh release)\n├── lib/\n│   └── snapshot.sh            ← Snapshot/restore engine (factory reset capability)\n├── commands/\n│   ├── start-working.md       ← Start working command\n│   ├── end-working.md         ← End working command\n│   ├── plan.md                ← Planning command\n│   ├── init-project.md        ← Initialize project command\n│   ├── env-nogo.md            ← Environment readiness check\n│   ├── migrate.md             ← Migrate existing project to iSparto\n│   ├── restore.md             ← Restore project to a previous snapshot\n│   └── security-audit.md     ← Milestone-level full security audit\n├── templates/\n│   ├── product-spec-template.md\n│   ├── tech-spec-template.md\n│   ├── design-spec-template.md\n│   ├── plan-template.md\n│   └── gitignore-security-baseline.md  ← Security .gitignore baseline\n└── docs/\n    ├── product-spec.md        ← Product spec (iSparto's own, for self-bootstrapping)\n    ├── plan.md                ← Development plan by Wave\n    ├── session-log.md         ← Auto-generated session metrics (created by /end-working)\n    ├── concepts.md            ← Core concepts (decoupling, Wave, file ownership) ⭐ Recommended reading\n    ├── security.md            ← Security audit system (three-layer defense)\n    ├── user-guide.md          ← User interaction guide (8 commands + 2 notifications) ⭐ Recommended reading\n    ├── roles.md               ← Role definitions + Codex prompt templates\n    ├── workflow.md            ← Full development workflow + branching strategy + Codex integration\n    ├── configuration.md       ← Global configuration + adaptation guide + multi-device sync\n    ├── troubleshooting.md     ← Common troubleshooting\n    └── design-decisions.md    ← Design decision records\n```\n\n---\n\n## Origin of the Name\n\nIn Greek mythology, the hero Cadmus slew a dragon and sowed its teeth into the earth. A host of fully armed warriors sprang from the ground — they were called **Spartoi** (Σπαρτοί), meaning \"the sown ones.\"\n\nThis is the same story as iSparto's workflow: you sow your product requirements into `/init-project`, and an entire Agent Team assembles itself — Lead breaks down tasks, Developer writes code, Codex reviews and fixes, Doc Engineer keeps documentation in sync — a complete development team grown from a single seed.\n\nThe **i** was moved from the end of Spartoi to the front. Lowercase i = I = me, one person.\n\n**iSparto = I + Sparto = one-person army.**\n\n---\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaryhb0916%2Fisparto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinaryhb0916%2Fisparto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaryhb0916%2Fisparto/lists"}