Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sokold) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
_____ ____ _ __ ____ _ _____
/ ___// __ \| |/ // __ \| | | __ \
\__ \| | | | /| | | | | | | | |
___) | |__| | . \| |__| | |____| |__| |
|____/ \____/|_|\_\\____/|______|_____/ SOKOLd - AI-Powered Code Generation CLI
Transform natural language descriptions into working code with a single command. SOKOLd uses SpecKit agents under the hood to handle the complete workflow—from specification through implementation.
Quick Start
# Install globally
npm install -g sokold
# Create a feature with natural language
sokold "Add a REST API endpoint for user authentication with JWT"
# That's it! SOKOLd handles everything:
# ✓ Initializes SpecKit structure (if needed)
# ✓ Generates specifications (specify → plan → tasks)
# ✓ Implements the feature
# ✓ Runs verification checks
# ✓ Auto-fixes issues (up to 3 attempts)How It Works
SOKOLd orchestrates SpecKit agents in a pipeline:
- Specify → Generate a detailed specification from your description
- Plan → Create an implementation plan
- Tasks → Break down the plan into actionable tasks
- Implement → Execute the tasks using AI
- Verify → Run builds, tests, and linting
- Fix → Auto-fix any issues (retry loop)
You describe what you want, and SOKOLd handles the rest.
Commands
Primary Usage
# Describe what you want to build
sokold "Your feature description here"
# Continue from where you left off
sokold --continue
sokold -c
# Preview what would happen without executing
sokold "Add feature X" --dry-run
# Use a specific AI tool
sokold "Add feature X" --tool copilot
sokold "Add feature X" --tool claude
# Use a specific model
sokold "Add feature X" --model gpt-4Check Status
sokold --status
sokold -sShows:
- Whether SpecKit is initialized
- What specification files exist (
spec.md,plan.md,tasks.md) - What the next step would be
Configuration
SOKOLd stores configuration in .sokold/config.yaml. Manage it via CLI:
# List all settings with descriptions
sokold config list
# Get a specific setting
sokold config get tool
sokold get tool # shorthand
# Set a setting
sokold config set tool claude
sokold set tool claude # shorthand
# Show config file path
sokold config pathConfig Keys
| Key | Description | Values |
|---|---|---|
tool |
AI CLI tool to use | copilot, claude |
model |
Model to use | e.g., gpt-4, claude-3-opus |
autoApprove |
Auto-approve all tool calls | true, false |
verbose |
Show verbose output | true, false |
output.colors |
Enable colored output | true, false |
output.format |
Output format | human, json |
workflow.currentBranchOnly |
Stay on current branch (no feature branches) | true, false |
SpecKit Patching
SOKOLd can patch SpecKit scripts to support workflow.currentBranchOnly mode, which prevents automatic branch creation:
# Check current patch status
sokold speckit status
# Apply patches for branch control
sokold speckit patch
# Remove patches (restore originals)
sokold speckit unpatchWhen workflow.currentBranchOnly is enabled:
- Specs go in
specs/main/instead ofspecs/###-feature-name/ - No new git branches are created
- Works entirely on your current branch
Configuration File
Configuration is stored in .sokold/config.yaml:
# .sokold/config.yaml
# AI Tool Settings
tool: copilot # Options: copilot, claude
# model: gpt-4 # Optional: specific model
# Auto-approve all tool calls without prompting
autoApprove: true
# Workflow Settings
workflow:
# When true: work on current branch, specs in specs/main/
# When false: create feature branches and numbered spec folders
currentBranchOnly: false
# Output Settings
output:
colors: true
format: human # Options: human, json
# Verbose output
verbose: falseCLI Options
-t, --tool <name> Use specific AI tool: copilot (default) or claude
-m, --model <name> Use specific model (e.g., gpt-4, claude-3-opus)
-c, --continue Continue from where you left off
-s, --status Show project status
--dry-run Show what would be done without executing
-v, --verbose Show detailed output
-h, --help Show helpRequirements
- Node.js >= 18.0.0
- SpecKit installed (
specifyCLI available) - AI CLI (one of):
- GitHub Copilot CLI (installed and authenticated)
- Claude CLI (installed and authenticated)
Project Structure
When you run SOKOLd, it creates/uses:
your-project/
├── .sokold/
│ └── config.yaml # SOKOLd configuration
├── .specify/
│ └── scripts/ # SpecKit scripts (auto-generated)
└── specs/
└── main/ # Feature specs (when currentBranchOnly=true)
├── spec.md # Feature specification
├── plan.md # Implementation plan
└── tasks.md # Task breakdownExamples
# Build a new feature
sokold "Add user authentication with JWT tokens and password hashing"
# Add an API endpoint
sokold "Create a REST API for managing todos with CRUD operations"
# Continue interrupted work
sokold --continue
# Use Claude instead of Copilot
sokold "Add caching layer with Redis" --tool claude
# Work on current branch only (no branch creation)
sokold set workflow.currentBranchOnly true
sokold "Add logging middleware"
# Check what's done and what's next
sokold --statusPipeline Output
When running, SOKOLd shows:
_____ ____ _ __ ____ _ _____
/ ___// __ \| |/ // __ \| | | __ \
\__ \| | | | /| | | | | | | | |
___) | |__| | . \| |__| | |____| |__| |
|____/ \____/|_|\_\____/|______|_____/
📊 Project status:
SpecKit initialized: ✓
Has specification: ✗
Has plan: ✗
Has tasks: ✗
📋 Execution plan:
→ specify
→ plan
→ tasks
→ implement
→ verify
⚡ Running: specify
$ copilot --allow-all-tools -p "/speckit.specify Add user auth..."
✓ specify completed
... (continues through pipeline)
✅ Pipeline completed!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 EXECUTION SUMMARY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Completed steps:
• specify
• plan
• tasks
• implement
• verify
⏱️ Duration: 245s
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Exit Codes
| Code | Meaning |
|---|---|
0 |
Success |
1 |
General error / Command failed |
License
MIT