gsd-2  by gsd-build

Autonomous coding agent for spec-driven development

Created 3 days ago

New!

737 stars

Top 47.0% on SourcePulse

GitHubView on GitHub
Project Summary

GSD-2 is a powerful CLI system designed for autonomous, long-term software development by AI agents. It addresses the limitations of prompt-based frameworks by providing direct control over agent execution, context management, and recovery mechanisms. This system enables developers and power users to initiate complex coding projects and return to a completed, well-versioned build with minimal human oversight.

How It Works

Built on the Pi SDK, GSD-2 functions as a standalone TypeScript application that programmatically controls agent sessions. It structures work into Milestones, Slices, and Tasks, enforcing that each task fits within a single LLM context window (200k tokens). GSD-2 manages a state machine via files in the .gsd/ directory, ensuring fresh context and pre-loaded relevant files for each task. This approach avoids LLM context degradation and allows for robust crash recovery, adaptive replanning, and detailed cost tracking.

Quick Start & Requirements

  • Primary install: npm install -g gsd-pi
  • Prerequisites: Node.js ≥ 20.6.0 (22+ recommended), Git. An LLM provider account (20+ supported, including Anthropic, OpenAI, Google, OpenRouter, GitHub Copilot) is required.
  • Setup: Log in via gsd /login to select an LLM provider. Optional API keys for Brave Search, Google Gemini, Context7, and Jina can be provided on first launch.
  • Links: npm package, Pi SDK.

Highlighted Details

  • Autonomous Mode (/gsd auto): Researches, plans, executes, verifies, and commits tasks autonomously through entire milestones without user intervention.
  • Robustness: Implements crash recovery via lock files, detects stuck loops with retries, and manages soft, idle, and hard timeouts for session supervision.
  • Cost & Performance Tracking: Provides a per-unit token/cost ledger with a dashboard, allowing budget ceilings to pause auto mode.
  • Version Control: Utilizes a "branch-per-slice" Git strategy with squash merges to main, preserving per-task history on branches for revertibility and bisecting.
  • Context Engineering: Each task runs in a fresh context window with pre-inlined task plans, slice plans, and prior summaries, ensuring focused execution.

Maintenance & Community

The provided README does not detail specific contributors, sponsorships, or community channels (e.g., Discord, Slack).

Licensing & Compatibility

Licensed under the MIT License, which is generally permissive for commercial use and integration with closed-source projects.

Limitations & Caveats

The voice-to-text feature (/voice) is exclusive to macOS. While designed for autonomy, complex LLM interactions may still require manual intervention for unexpected edge cases. The overhead of creating fresh context windows for every task, while beneficial for isolation, might be less efficient than systems maintaining a single, long-lived session.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
61
Issues (30d)
96
Star History
783 stars in the last 3 days

Explore Similar Projects

Feedback? Help us improve.