{
  "markdown": "<div align=\"center\">\n\n# Kata\n\n**型** · /ˈkɑːtɑː/ · *noun* - a choreographed pattern practiced repeatedly until perfected\n\n![alt text](assets/brand/logo-circle-dark.png)\n<br>\n[kata.sh](https://kata.sh)\n\n</div>\n\n---\n\n## Kata Symphony\n\n**Kata Symphony** is a software factory agent orchestrator (and companion Pi coding agent extension). It polls GitHub or Linear projects for candidate tickets and dispatches parallel agent sessions to work on them autonomously — managing the full ticket lifecycle from backlog through implementation, PR creation, automated code review, human review, and merge, with multi-turn sessions and real-time event streaming. Symphony can be run headlessly, using the native Linear or GitHub project boards as the primary UI surface, or steered and monitored with the integrated web, Rust TUI, or Pi extension dashboard.\n\n| Piece | Path | Role |\n| --- | --- | --- |\n| [Symphony binary](apps/symphony/README.md) | `apps/symphony` | Orchestrator: polls GitHub or Linear, dispatches parallel agent sessions, manages the full PR lifecycle |\n| [Pi Symphony extension](apps/symphony/pi-extension/README.md) | `apps/symphony/pi-extension` | Primary operator UX inside Pi (`/symphony:*`, live console) |\n\n**[Kata CLI](apps/cli/README.md)** is a secondary, opinionated planning/backend workflow that integrates cleanly with Symphony.\n\nQuick start:\n\n```bash\ncd apps/symphony\ncargo build --release\n\ncd /path/to/your/repo\n/path/to/kata/apps/symphony/target/release/symphony init\n$EDITOR .symphony/WORKFLOW.md\n$EDITOR .symphony/prompts/repo.md\n\nGH_TOKEN=github_pat_... /path/to/kata/apps/symphony/target/release/symphony --port 8080\n# or: LINEAR_API_KEY=lin_api_... /path/to/kata/apps/symphony/target/release/symphony --port 8080\n```\n\nKey features:\n\n- **GitHub and Linear integration** - polls for issues, manages state transitions, respects priorities and dependency graphs\n- **Parallel agents** - configurable concurrency with per-state slot limits\n- **Multi-turn sessions** - agents continue on the same worker session across turns, preserving conversation history\n- **Full PR lifecycle** - agents create PRs, address review feedback, resolve comment threads, and merge\n- **Real-time streaming** - events flow from workers to the orchestrator as they happen\n- **Project-local config** - `symphony init` writes `.symphony/WORKFLOW.md`, starter prompts, and reference docs\n- **Dynamic config reload** - WORKFLOW.md changes take effect without restart\n- **SSH worker pools** - distribute sessions across remote machines\n- **HTTP dashboard + JSON API** - live observability at `localhost:8080`\n\nUse Kata Symphony when you want:\n\n- autonomous ticket-to-merge execution without human intervention\n- parallel agent sessions working through a tracker backlog\n- a headless orchestrator you can run on a server or CI\n\n### Pi Coding Agent extension\n\nThe recommended way to operate Symphony day to day is the Pi extension. Install `@kata-sh/pi-symphony-extension` to initialize, start, attach to, and monitor Symphony from Pi. It adds `/symphony:*` commands and a live console for running workers, retry queue entries, blocked issues, completed issues, and pending escalations.\n\nSymphony binary and Pi extension releases are **coupled**: they ship together at the same version.\n\n```bash\npi install npm:@kata-sh/pi-symphony-extension\n# or, from the monorepo package:\npi install git:github.com/gannonh/kata\n```\n\nRead more:\n\n- [apps/symphony/README.md](apps/symphony/README.md)\n- [apps/symphony/pi-extension/README.md](apps/symphony/pi-extension/README.md)\n\n## Kata CLI\n\nKata CLI is a secondary product: the backend IO and setup CLI for Kata Skills. It owns typed project, milestone, slice, task, and artifact operations while agent harnesses such as Pi and Symphony own chat and worker execution. It is especially useful as an opinionated planning workflow that integrates nicely with Symphony.\n\nQuick start:\n\n```bash\nnpm install -g @kata-sh/cli\nkata setup --pi\n```\n\nFor local development:\n\n```bash\npnpm --dir apps/cli run build\npnpm --dir apps/cli run test\n```\n\nUse Kata CLI when you want:\n\n- portable Kata Skills installable into multiple harnesses\n- durable backend operations through GitHub Projects v2 or Linear\n- typed backend operations for planning, execution, verification, progress, and milestone completion\n- a structured planning layer that feeds work into Symphony\n\nRead more in [apps/cli/README.md](apps/cli/README.md).\n\n## Repository layout\n\n| Path | Purpose |\n| --- | --- |\n| `apps/symphony` | Kata Symphony (Rust binary) |\n| `apps/symphony/pi-extension` | Pi Coding Agent extension for Symphony |\n| `apps/cli` | Kata CLI (secondary) |\n| `apps/cli/skills-src` | Source of truth for Kata Agent Skills |\n| `packages/core` | Shared types |\n| `packages/shared` | Shared agent, auth, config, git, session, and source logic |\n| `packages/ui` | Shared UI components |\n| `packages/mermaid` | Mermaid diagram renderer |\n\n## Local Development\n\nInstall dependencies:\n\n```bash\npnpm install\n```\n\nInstall repo-managed git hooks:\n\n```bash\npnpm run githooks:install\n```\n\nCommon commands:\n\n| Command | Purpose |\n| --- | --- |\n| `pnpm run validate` | Lint + typecheck + test all packages via Turbo |\n| `pnpm run validate:affected` | Same, only changed packages |\n| `cd apps/symphony && cargo build` | Build Kata Symphony |\n\n## Testing\n\nAll testing is orchestrated by Turborepo. Each package owns its test runner.\n\n| Command | Runs |\n| --- | --- |\n| `pnpm run test` | All package tests via Turborepo |\n| `pnpm run test:affected` | Only changed packages |\n\n| Package | Test runner | Notes |\n| --- | --- | --- |\n| symphony | cargo test | Rust, runs through package.json shim |\n| all others | package-local scripts | JS/TS packages run through Turborepo |\n\nA pre-push git hook runs `turbo run lint typecheck test --affected` before every push.\n\n## Releases\n\nReleases are manually dispatched (Symphony also has a scheduled nightly):\n\n| Workflow | Ships |\n| --- | --- |\n| `symphony-release.yml` | Symphony binary + Pi extension together (same version) |\n| `cli-release.yml` | CLI only (independent) |\n\nSee `.agents/skills/releasing-kata/SKILL.md` for the full release process.\n\n## License\n\nKata packages use the licenses declared in their package directories.\n",
  "bytes": 6252,
  "sha": "745403b2bf4fefead41328ce69c9d56fde0cfb0a838c44ad5fb007037c75ef5e",
  "repo_slug": "gannonh/kata-symphony",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_gannonh_kata_symphony_docs_index_md_7b89d173/readme"
}