by Chorus-AIDLC
The Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle)
# Add to your Claude Code skills
git clone https://github.com/Chorus-AIDLC/ChorusLast scanned: 5/6/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server: Middleware bypass via repeated slashes in serveStatic",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@modelcontextprotocol/sdk: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@prisma/dev: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "next: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "next-intl: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "prisma: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "shadcn: Vulnerability found",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-05-06T06:31:59.233Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
Chorus is an agent harness — the infrastructure that wraps around LLM agents to manage session lifecycle, task state, sub-agent orchestration, observability, and failure recovery. It lets multiple AI Agents (with fine-grained, configurable permissions) and humans collaborate through the full workflow from requirements to delivery.
Inspired by the AI-DLC (AI-Driven Development Lifecycle) methodology. Core philosophy: Reversed Conversation — AI proposes, humans verify.
Idea ──> Proposal ──> [Document + Task DAG] ──> Execute ──> Verify ──> Done
^ ^ ^ ^ ^ ^
Human idea:write proposal:write task:write *:admin *:admin
creates + elaborate + drafts + reports + verifies + closes
The labels under each stage are the permissions an actor needs at that stage — granted to a human, an Agent (preset or Custom), or both. There are no fixed roles; any combination of the 5 × 3 permission matrix is possible. See docs/PERMISSIONS.md.
v0.9.0 — Brainstorm skill for fuzzy ideas (open-ended chat before structured Q&A) and idea-completion reports (every shipped idea gets a Summary / Decisions / Follow-ups writeup, surfaced on the idea overview).
v0.8.0 — OpenSpec-aware mode (Claude Code): auto-activates when an openspec/ directory and the openspec CLI are both present, adds /opsx/{explore,propose,apply,archive} and a post-verify archive-trigger hook.
v0.7.0 — Fine-grained agent permissions: 5 resources × 3 actions grid replaces the PM/Developer/Admin three-way choice, with presets + a Custom option for free combination.
v0.6.7 — Chorus plugin for Codex CLI (one-command installer), workspace picker when one email belongs to multiple Companies, per-client connect guides.
v0.6.6 — npm one-click install (npx @chorus-aidlc/chorus), document export (MD/PDF/Word), proposal revoke, faster agent checkin with work status at a glance.
v0.6.2 — Embedded PGlite mode (zero-dependency deployment), structured logging with Pino, stateless MCP for horizontal scaling, default port changed to 8637.
v0.6.1 — /yolo skill: full-auto AI-DLC pipeline (Idea → Proposal → Execute → Verify) with Agent Team parallel execution.
v0.6.0 — IdeaTracker dashboard, independent review agents (proposal-reviewer + task-reviewer), real-time agent presence indicators, cross-column Kanban animation.
Full changelog: CHANGELOG.md
Run Chorus locally with two commands — no database, no Docker, no config files needed.
npm install -g @chorus-aidlc/chorus
chorus
That's it. Chorus starts with an embedded PostgreSQL (PGlite), runs migrations automatically, and opens at http://localhost:8637.
Note: PGlite is an embedded, single-process PostgreSQL — great for local single-user usage, but its connection handling has limits under concurrent load. If you plan to run multiple agents or users simultaneously, use an external PostgreSQL via
DATABASE_URL=postgresql://...or the full Docker Compose stack.
Default login: admin@chorus.local / chorus
# Custom port
chorus --port 3000
# Custom data directory (default: ~/.chorus-data)
chorus --data-dir /path/to/data
# Custom credentials
DEFAULT_USER=me@example.com DEFAULT_PASSWORD=secret chorus
# Use an external PostgreSQL instead of embedded PGlite
DATABASE_URL=postgresql://user:pass@host:5432/chorus chorus
| Method | Command |
|--------|---------|
| npm (simplest) | npm i -g @chorus-aidlc/chorus && chorus |
| Docker (standalone) | docker compose -f docker-compose.local.yml up |
| Docker (full stack) | docker compose up (PostgreSQL + Redis + Chorus) |
| AWS CDK | Deploy to AWS |

Watch a PM Agent analyze requirements and generate a proposal with PRD and task DAG — with real-time presence indicators showing agent activity.

The left panel is a pixel workspace where pixel characters represent each Agent's real-time working status; the right panel shows live Agent terminal output.

The Kanban board updates automatically as Agents work, with task cards flowing between To Do → In Progress → To Verify in real time. Agent presence indicators highlight which resources are being worked on.

Kanban board for task status tracking alongside a dependency DAG showing execution order and parallel paths.

PM Agents clarify requirements through structured Q&A rounds before creating Proposals. The panel shows idea details alongside completed elaboration rounds with answers and category tags.

Proposals generated by the PM Agent contain document drafts and task DAG drafts. Admins review and approve or reject on this panel.

Dev Agent self-checks and Admin reviews each acceptance criterion independently, with structured pass/fail evidence for every item.

A Cmd+K command palette for searching across all 6 entity types (Tasks, Ideas, Proposals, Documents, Projects, Project Groups). Supports scope filtering (Global / Group / Project), filter tabs per entity type, and keyboard navigation. Both the Web UI and AI agents (via chorus_search MCP tool) share the same search backend.
┌──────────────────────────────────────────────────────────────────┐
│ Chorus — Agent Harness (:8637) │
│ │
│ ┌── Harness Capabilities ───────────────────────────────────┐ │
│ │ Session Lifecycle │ Task State Machine │ Context Inject │ │
│ │ Sub-Agent Orchestration │ Observability │ Failure Recovery│ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ┌── Chorus Plugin (lifecycle hooks) ────────────────────────┐ │
│ │ SubagentStart/Stop │ Heartbeat │ Skill & Context Inject │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ┌── API Layer ──────────────────────────────────────────────┐ │
│ │ /api/mcp — MCP Streaming (50+ tools, permission-gated) │ │
│ │ /api/* — REST API (Web UI + SSE push) │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ┌── Service Layer ──────────────────────────────────────────┐ │
│ │ AI-DLC Workflow │ UUID-first │ Multi-tenant │ │
│ └───────────────────────────