Skip to main content

Quick Start

The sudocode CLI is a powerful command-line tool that agents and users can utilize for managing specs, issues, relationships, and feedback in your git-native context management system. It provides a complete interface for spec-driven development with AI agents.
Users are not expected to use most of the CLI commands directly, except for project initialization and configuration. However, advanced users and integrators may find the CLI useful for scripting and automation.
1

Install sudocode

2

Initialize a project

3

Create your first spec

4

Create an implementation issue

Command Categories

The CLI is organized into logical command groups:

Project Setup

Initialize and configure sudocode projects
  • init - Initialize .sudocode directory

Spec Management

Create and manage specifications

Issue Management

Create and manage work items

Relationships

Model dependencies and connections
  • link - Create typed relationships
  • add-ref - Add inline references

Feedback System

Provide anchored feedback on specs

Query & Planning

Find ready work and track progress
  • ready - Show unblocked issues
  • blocked - Show blocked issues
  • status - Project status overview
  • stats - Project statistics

Sync & Export

Manage data synchronization
  • sync - Sync markdown ↔ JSONL ↔ SQLite
  • export - Export to various formats
  • import - Import external data

Common Command Patterns

Creating Entities

All create commands follow a similar pattern:

Listing and Filtering

List commands support powerful filtering:

Viewing Details

Show commands display complete entity information:
Output includes:
  • Entity metadata (title, priority, status, timestamps)
  • Content/description
  • Relationships (incoming and outgoing)
  • Tags
  • Feedback (for specs)

Updating Entities

Update commands support partial updates:

Global Options

These options work with all commands:
boolean
Output results as JSON for scripting
Useful for programmatic processing with tools like jq.
boolean
Display help for any command
boolean
Display sudocode version

Command Reference

Project Setup

Initialize a new sudocode project in the current directory.
Creates .sudocode/ directory with database, JSONL files, and configuration.View full documentation →

Spec Commands

Create a new specification document.
View full documentation →
List all specs with optional filtering.
View full documentation →
Display detailed information about a spec.
View full documentation →
Update an existing spec.
View full documentation →
Delete one or more specs.
View full documentation →

Issue Commands

Create a new issue.
View full documentation →
List all issues with filtering.
View full documentation →
Display detailed information about an issue.
View full documentation →
Update an existing issue.
View full documentation →
Close one or more issues.
View full documentation →
Delete one or more issues (soft or hard delete).
View full documentation →

Relationship Commands

Add an inline reference to a spec or issue.
View full documentation →

Feedback Commands

Add anchored feedback from an issue to a spec.
Feedback types: comment, suggestion, requestView full documentation →
List feedback with filtering.
View full documentation →
Display detailed information about feedback.
View full documentation →
Dismiss feedback as resolved.
View full documentation →

Query & Planning Commands

Show issues ready to work on (unblocked, open).
Returns issues with no blocking dependencies, sorted by priority.View full documentation →
Show blocked issues and what’s blocking them.
View full documentation →
Display project status overview.
View full documentation →
Display project statistics.
View full documentation →

Sync & Export Commands

Synchronize between markdown files, JSONL, and SQLite.
View full documentation →
Export specs and issues to various formats.
View full documentation →
Import data from external sources.
View full documentation →

Typical Workflows

Starting a New Feature

1

Create a spec

2

Break into implementation issues

3

Link issues to spec

4

Model dependencies

5

Find ready work

Agent Workflow

1

Query for ready work

2

Claim an issue

3

Implement the feature

Write code, run tests, commit changes
4

Provide feedback if needed

5

Close the issue

Daily Standup

1

What's in progress?

2

What's blocked?

3

What's ready to work on?

4

Project statistics

Tips & Best Practices

The --json flag makes it easy to integrate sudocode into scripts:
If your shell supports completion, enable it for faster command entry:
Create shell aliases for frequently-used commands:
sudocode is git-native. Commit JSONL files regularly:
The --grep flag supports fuzzy searching:

Error Handling

Common errors and solutions:
Solution: Run sudocode init in your project directory
Solution: Verify the ID with spec list or issue list
Solution: Close other sudocode processes or wait for sync to complete
Solution: Use valid values (priority: 0-4, status: open/in_progress/blocked/needs_review/closed)

Next Steps

Initialize Your Project

Get started with sudocode init

Create Your First Spec

Learn about spec creation

Manage Issues

Create actionable work items

MCP Integration

Integrate with AI agents

Additional Resources

Core Concepts

Learn about specs, issues, and relationships

Workflows

See common development workflows

GitHub

View source code and contribute