coco-workflow
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in tests/test-tracker.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
This is an autonomous, spec-driven development workflow plugin for Claude Code. It automates the entire software delivery pipeline—from generating a Product Requirements Document (PRD) to executing test-driven development loops and merging final pull requests.
Security Assessment
Overall Risk: Medium. The plugin is a lightweight shell script relying only on bash and jq, and it does not request dangerous system permissions. However, automated shell execution inherently carries risk. The scan flagged a recursive force deletion command (`rm -rf`) inside `tests/test-tracker.sh`. While this appears restricted to testing, any execution of forceful deletion commands requires careful review to prevent accidental local data loss. Furthermore, the tool's core function involves autonomously writing code, executing commands, and merging pull requests. This highly privileged workflow requires strict human supervision to prevent unintended changes to your repository or unsafe network interactions.
Quality Assessment
The project is actively maintained, with its most recent code push occurring today. It uses the permissive MIT license and provides clear, thorough documentation. The primary concern is low community visibility; having only 6 GitHub stars means the codebase has not undergone widespread peer review or battle-testing by the open-source community, making trust levels relatively low.
Verdict
Use with caution—its autonomous repository access and destructive shell commands in tests warrant a careful manual code review before integrating into sensitive projects.
Autonomous spec-driven development plugin for Claude Code. Describe a feature, get merged, tested, reviewed code. Full pipeline from PRD to PR with dependency-aware task tracking, AI code review, and zero dependencies beyond bash + jq.
Coco
Autonomous spec-driven development for Claude Code.
Describe a feature. Get merged, tested, reviewed code.
Named after Coco, a toy poodle who is small, fiercely opinionated, and relentlessly autonomous -- much like this plugin. She chases birds with the same energy Coco chases tasks through a dependency graph: methodically, loudly, and without asking for permission. When she's not barking at strangers or sneaking cheese, she's napping -- recharging for the next burst of chaotic productivity.
Why Coco?
Most Claude Code workflows handle one slice of the problem. A spec generator here, a task tracker there, an autonomous loop somewhere else. You end up duct-taping three repos together and hoping they agree on file formats.
Coco is the whole pipeline in one plugin:
Discover Plan Decompose Execute Review Ship
───────── ──▶ ─────────── ──▶ ─────────── ──▶ ─────────── ──▶ ──────── ──▶ ──────
PRD + interview → tasks.md + TDD loop AI code PRs merged,
Roadmap design.md tracker import + commits review issues closed
Zero dependencies beyond bash and jq. No daemon. No database. No node_modules. Install from the marketplace and go.
What You Get
- Discovery to delivery -- PRD, roadmap, design, tasks, implementation, review, merge. One plugin.
- Dependency-aware execution -- Built-in tracker with topological sort.
readyalways returns the next unblocked task. - Autonomous loop -- Circuit breaker, progress detection, configurable safety limits. Runs until done or stuck. Supports worktree-based parallel execution.
- AI code review -- Every PR reviewed before merge. Critical findings auto-fixed. Up to 3 review iterations.
- Adaptive routing -- Quick fix? Skip the ceremony. Full feature? Full pipeline. Complexity detected automatically.
- Session memory -- Survives context compaction. Pick up where you left off across sessions.
- Multi-repo support -- Derive platform-specific PRDs from a primary repo. Each satellite runs its own independent pipeline.
- Issue tracker sync -- Linear, GitHub Issues, or neither. Config-driven, not hard-coded.
Quick Start
Install
From the marketplace (recommended):
In Claude Code, run:
/plugin marketplace add skullninja/coco-workflow
/plugin install coco@coco-workflow
Then in your project:
/coco:setup
The setup command creates the .coco/ directory, walks you through key settings (project name, issue tracker, parallel execution), installs git hooks, and configures permissions.
As a git submodule (alternative):
git submodule add https://github.com/skullninja/coco-workflow.git coco-workflow
bash coco-workflow/scripts/setup.sh
Build something
# Full pipeline: discovery to delivery
/coco:prd "My product description" # Create PRD
/coco:roadmap v1.0 # Prioritized roadmap
/coco:phase "Phase 1: Foundation" # Orchestrate all features
# Single feature
/coco:planning-session tactical # Interview -> design -> tasks -> import
/coco:loop # Autonomous execution until done
# Quick fix
# Just describe the bug -- hotfix skill handles it
Check in on progress
/coco:standup # What happened, what's next, what's stuck
/coco:status # Execution state and parallel opportunities
How It Works
Architecture
| Layer | What | How |
|---|---|---|
| Discovery | PRD, analysis, roadmap, multi-repo derive | /coco:prd, /coco:roadmap |
| Planning | Discovery, design, task decomposition | AI-selected skills (interview, design, tasks, import) |
| Execution | Dependency resolution, TDD loop | Built-in tracker + /coco:loop |
| Review | AI code review on every PR | code-reviewer agent |
| Visibility | Issue tracker sync | Linear MCP, GitHub CLI, or none |
Adaptive Complexity Routing
Not every change needs the full pipeline. /coco:planning-session tactical and /coco:phase automatically right-size the workflow:
| Tier | Signal | What Runs |
|---|---|---|
| Trivial | Single file, bug fix, "quick" | hotfix -- no epic, no ceremony |
| Light | 1-3 files, single story | Design + import -- skip task decomposition |
| Standard | Multi-file, dependencies | Full pipeline -- interview, design, tasks, import |
Autonomous Loop
/coco:loop wraps TDD + PR + review in an autonomous loop:
- Circuit breaker -- Pauses after consecutive iterations with no progress
- Safety limit -- Configurable max iterations (default: 20)
- Error pause -- Stops on test/build failures
- Progress tracking -- Measured by git commits, not just status changes
- Feature PR -- Auto-creates and reviews the feature-to-main PR on completion
PR Workflow
Two-tier branching with AI code review:
main
+-- feature/{name} # one per epic
| +-- feature/{name}/{ISSUE-1} # one per task, PR -> feature branch
| +-- ...
+-- PR: feature/{name} -> main # after all tasks done, AI-reviewed
Every PR gets reviewed. Critical findings are auto-fixed and re-reviewed (up to 3 rounds). Set pr.enabled: false to skip PRs entirely.
Built-In Task Tracker
The tracker (lib/tracker.sh) is ~480 lines of bash + jq. No external tools.
- Dependency graphs with topological sort
- Epic management for grouping tasks into features
- Session memory across Claude Code sessions
- Metadata storage for issue keys, file ownership, custom data
- Git sync for committing tracker state
Hooks
Event-driven automation via Claude Code hooks:
| Hook | Trigger | What It Does |
|---|---|---|
| post-tool-use | After Write/Edit |
Runs lint + typecheck against modified file |
| pre-compact | Before compaction | Saves session state so you don't lose context |
| session-start | New session | Restores context from previous session |
Configure quality checks in .coco/config.yaml:
quality:
lint_command: "ruff check {file}" # or eslint, biome, etc.
typecheck_command: "mypy {file}" # or tsc --noEmit, etc.
auto_fix: false
Commands and Skills
Commands (13)
Human-facing entry points. These show up in / autocomplete.
| Command | Purpose |
|---|---|
/coco:setup |
Initialize Coco in the current project (config, hooks, permissions) |
/coco:prd |
Create, audit, or derive Product Requirements Document |
/coco:roadmap |
Build prioritized, phased roadmap from PRD + analysis |
/coco:phase |
Orchestrate full pipeline for a roadmap phase |
/coco:loop |
Autonomous execution loop with circuit breaker |
/coco:execute |
TDD execution loop (one task at a time) |
/coco:constitution |
Manage project constitution (guiding principles) |
/coco:dashboard |
Compact visual progress dashboard |
/coco:status |
Execution state and parallel opportunities |
/coco:standup |
Daily standup -- done, in-progress, blocked, metrics |
/coco:sync |
Reconcile tracker with issue tracker |
/coco:planning-session |
Guided planning (strategic / tactical / operational) |
/coco:planning-triage |
Score and disposition bugs, features, feedback |
Skills (6)
AI-selected workflow steps. These run automatically as part of the pipeline -- you don't invoke them directly.
| Skill | Purpose |
|---|---|
interview |
Pre-design discovery interview producing structured brief |
design |
Feature design (spec + plan) with optional clarification (supports light mode) |
tasks |
Dependency-ordered task list with 6-pass consistency analysis |
import |
Import to tracker + issue tracker (supports design-only mode) |
hotfix |
Single-issue fix -- no epic, no ceremony |
execute |
Delegates to /coco:execute command |
Issue Tracker Integration
| Provider | Integration |
|---|---|
| Linear | Via Linear MCP -- projects, issues, comments, status updates |
| GitHub | Via gh CLI -- issues + GitHub Projects V2 boards for visual status tracking |
| None | Tracker-only. No external calls. |
All config-driven. Status mappings, team names, labels, issue key formats -- everything lives in .coco/config.yaml.
GitHub Projects V2: When use_projects: true (default), creates a project board per feature with status columns (Todo, In Progress, In Review, Done). Issues move between columns automatically as tasks progress. Set use_projects: false for label-based tracking.
Installation
Requirements
- Claude Code
jqgitgh(GitHub CLI -- optional, only needed ifpr.enabled: true)
Setup
From the marketplace (recommended):
In Claude Code, run:
/plugin marketplace add skullninja/coco-workflow
/plugin install coco@coco-workflow
Then in your project:
/coco:setup
Follow the interactive config wizard for project name, issue tracker, and parallel execution settings.
As a git submodule (alternative):
git submodule add https://github.com/skullninja/coco-workflow.git coco-workflow
bash coco-workflow/scripts/setup.sh
Both paths create the .coco/ directory structure, walk through key configuration, and install git hooks. Restart Claude Code after submodule setup.
For existing projects, run /coco:prd audit after setup to generate a PRD from your codebase. For satellite repos in a multi-repo project, run /coco:prd derive /path/to/primary/docs/prd.md to create a platform-specific PRD.
Project Structure
coco-workflow/ # This repo (marketplace plugin or git submodule)
plugin.json # Claude Code plugin manifest
commands/ # 13 slash commands
skills/ # 6 AI-selected skills (interview, design, tasks, import, hotfix, execute)
agents/ # 3 agents (code-reviewer, task-executor, pre-commit-tester)
hooks/ # Claude Code hooks (quality, session memory)
git-hooks/ # Git hooks (commit-msg, pre-commit)
lib/tracker.sh # Built-in task tracker
templates/ # Default templates
config/coco.default.yaml # Default configuration
your-project/
.coco/
config.yaml # Your project configuration
memory/constitution.md # Project principles
templates/ # Template overrides
tasks/ # Tracker state (JSONL)
docs/
prd.md # Product Requirements Document
analysis/ # Analysis documents
roadmap/ # Roadmap documents
specs/{feature}/ # Spec artifacts per feature
Configuration
Copy and customize config/coco.default.yaml to .coco/config.yaml:
project:
name: "My Project"
specs_dir: "specs"
discovery:
prd_path: "docs/prd.md"
analysis_dir: "docs/analysis"
roadmap_dir: "docs/roadmap"
source_prd: "" # Path to source PRD (for derived/satellite repos)
issue_tracker:
provider: "none" # linear | github | none
quality:
lint_command: "" # e.g., "ruff check {file}"
typecheck_command: "" # e.g., "mypy {file}"
auto_fix: false
commit:
title_format: "{description}. Completes {issue_key}"
loop:
max_iterations: 20
no_progress_threshold: 3
pause_on_error: true
parallel:
enabled: false # Enable worktree-based parallel execution
max_agents: 3
pr:
enabled: true
issue_merge_strategy: "squash"
feature_merge_strategy: "merge"
review:
enabled: true
max_review_iterations: 3
See config/coco.default.yaml for all options.
Pipeline
flowchart TD
prd["/coco:prd<br>PRD + Analysis"] --> roadmap["/coco:roadmap<br>Phased Roadmap"]
roadmap --> phase["/coco:phase<br>Multi-feature orchestration"]
tactical["/coco:planning-session tactical<br>Single feature"] --> route
phase --> route
route{"Complexity<br>Routing"}
route -- Trivial --> hotfix["hotfix skill"]
route -- Light --> light["design → import<br>minimal spec, single-task epic"]
route -- Standard --> standard["interview → design → tasks → import<br>full spec suite, multi-task epic"]
light --> exec["/coco:loop or /coco:execute<br>TDD + commits"]
standard --> exec
exec --> review["code-reviewer agent<br>AI review, up to 3 rounds"]
review --> merge["PRs merged · Issues closed"]
hotfix --> merge
Acknowledgments
Built on ideas from:
- Ralph and ralph-claude-code -- Autonomous loop pattern with circuit breaker
- Choo Choo Ralph -- Combining structured task tracking with autonomous execution
- Beads -- Git-native task tracker with dependency-aware selection
- Spec-Kit -- Spec-driven planning commands for Claude Code
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi