CLI tool for managing hierarchical specifications with EARS (Easy Approach to Requirements Syntax) requirements.
sc enables recursive spec decomposition where large features break down into smaller, manageable specs. Each spec can have child specs (tree hierarchy) and dependencies (blocking relationships).
Inspired by https://github.com/steveyegge/beads :)
# Install dependencies
bun install
# Build the CLI
bun run build
# Link for global usage
bun link
# Create your first spec
sc create -t "My First Spec"
# Create spec with specific status (optional)
sc create -s blocked -t "Future Feature"
# View spec hierarchy (tree view with effective status)
sc list
# Find work to do (leaf specs ready for work)
sc list --ready
# Set up shell integration (auto-cd on claim)
eval "$(sc init bash)" # or zsh/fish
# Claim and start working (sets status to in_progress)
sc claim <spec-id>- Hierarchical specs - Parent/child relationships for decomposition
- Dependency tracking - Specs can block other specs
- EARS validation - Structured requirement syntax ensures testable, unambiguous requirements
- Git-integrated workflow - Status-only by default, branch/worktree opt-in
- Status tracking - Multiple status states including ready, in_progress, closed, and more (see CLAUDE.md)
See CLAUDE.md for comprehensive documentation including:
- Complete command reference
- EARS pattern templates and validation
- Agent workflow guidance
- Development standards
# Run tests
bun run test
# Lint
bun run lint
# Type check
bun run typecheck# Get help on any command
sc <command> --help
# View EARS pattern reference
sc ears
# Check repository health
sc doctor