coco-workflow

workflow
Guvenlik Denetimi
Basarisiz
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
Purpose
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.
SUMMARY

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.

README.md

Coco

Coco

Autonomous spec-driven development for Claude Code.
Describe a feature. Get merged, tested, reviewed code.

Claude Code Plugin MIT License Zero Dependencies


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. ready always 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
  • jq
  • git
  • gh (GitHub CLI -- optional, only needed if pr.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

MIT

Yorumlar (0)

Sonuc bulunamadi