EdsgerEdsger Docs

CLI Overview

Edsger CLI is an AI agent that automates the full software development lifecycle — from requirements analysis through code implementation, testing, and pull requests — while keeping your team in control.

Edsger CLI

Why Use the CLI

Traditional coding assistants (like Cursor, Copilot, or Claude Code) help developers write code faster, but they still require a human in the loop for every step. You write a prompt, review the output, iterate, and manually handle the workflow of turning a feature idea into a shipped pull request.

Edsger CLI takes a fundamentally different approach: it is an autonomous agent that executes the entire feature development lifecycle end-to-end. You define a feature in the Edsger web platform, set it to "Ready for AI", and the CLI picks it up, analyzes requirements, generates user stories and test cases, creates a technical design, writes code, runs tests, creates pull requests, performs code review, and refines the implementation — all without manual intervention.

The key differences:

Coding AssistantsEdsger CLI
ScopeSingle files or functionsComplete features end-to-end
WorkflowHuman drives each stepAutonomous multi-phase pipeline
QualityNo built-in verificationVerification gates + checklists at each phase
Team ControlNoneApprovals, feedback, and phase-level configuration
ConcurrencyOne task at a timeUp to 10 features processed simultaneously
ContinuityStateless per sessionPersistent state synced to the Edsger platform

What Is It

Edsger CLI is a Node.js command-line tool that connects to the Edsger platform via the Model Context Protocol (MCP). It provides two categories of functionality:

1. Standalone Developer Tools

These work independently without the platform:

  • Code Review (--review) — AI-powered analysis of uncommitted or staged changes, with blocking/warning severity. Integrates with git pre-commit hooks.
  • Code Refactoring (--refactor) — Analyzes your codebase for code smells, duplication, and technical debt, then applies improvements.
  • Project Initialization (--init) — Uses Claude to analyze your codebase and generate structured documentation in a .edsger/ directory.

2. Platform-Connected Agent Workflow

These require authentication with the Edsger platform:

  • Agent Workflow (default command) — The core feature. Continuously discovers, claims, and processes features across all your products. Each feature goes through a configurable pipeline of AI phases with verification gates.
  • Growth Analysis (growth) — AI-powered growth strategy and content generation for your products, including marketing channel recommendations and demo video creation.
  • App Store Publishing (app-store) — Generates professional App Store and Play Store screenshots and listing content.
  • Log Analysis (analyze-logs) — Analyzes user activity logs and creates structured feedback for product improvements.
  • Task Watching (--watch-tasks) — Monitors and executes pending AI tasks assigned in the platform.

Architecture

┌─────────────────────────────────────────────────────┐
│                   Edsger Platform                    │
│  (Products, Features, User Stories, Test Cases,      │
│   Checklists, Approvals, Feedback, Chat)             │
│                                                      │
│              MCP Server (JSON-RPC 2.0)               │
└───────────────────────┬─────────────────────────────┘
                        │ HTTPS

┌───────────────────────┴─────────────────────────────┐
│                    Edsger CLI                        │
│                                                      │
│  ┌──────────────────────────────────────────────┐   │
│  │           Agent Workflow Processor             │   │
│  │  - Polls for ready features every 30s         │   │
│  │  - Claims features via MCP                    │   │
│  │  - Manages concurrent workers (up to 10)      │   │
│  └────────┬───────────┬───────────┬─────────────┘   │
│           │           │           │                   │
│  ┌────────┴──┐ ┌──────┴───┐ ┌────┴──────┐          │
│  │  Worker 1 │ │ Worker 2  │ │ Worker 3  │  ...     │
│  │ (fork)    │ │ (fork)    │ │ (fork)    │          │
│  │           │ │           │ │           │          │
│  │ Clone repo│ │ Clone repo│ │ Clone repo│          │
│  │ Run phases│ │ Run phases│ │ Run phases│          │
│  │ Push code │ │ Push code │ │ Push code │          │
│  └───────────┘ └──────────┘ └───────────┘          │
│                                                      │
│  ┌──────────────────────────────────────────────┐   │
│  │             Chat Worker (fork)                │   │
│  │  - Processes chat messages from platform      │   │
│  │  - Receives phase events from feature workers │   │
│  └──────────────────────────────────────────────┘   │
│                                                      │
│  ┌──────────────────┐  ┌────────────────────────┐   │
│  │  Claude Agent SDK │  │  GitHub API (Octokit)  │   │
│  │  (AI Execution)   │  │  (Repos, PRs, Reviews) │   │
│  └──────────────────┘  └────────────────────────┘   │
└─────────────────────────────────────────────────────┘

The CLI uses child process isolation — each feature runs in its own forked Node.js process with its own working directory (cloned repository). This provides:

  • Crash isolation — One feature failing does not affect others
  • Concurrent processing — Multiple features progress simultaneously
  • Hot updates — After auto-update, new workers load the latest code
  • Memory isolation — Each worker runs in its own ~50-80MB process

Installation

npm install -g edsger

Or use directly with npx:

npx edsger --help

Requirements

  • Node.js >= 18.0.0
  • Git (for code review, refactoring, and workflow features)
  • An Edsger platform account (for agent workflow, growth, app store, and task features)
  • Playwright (optional, for app store screenshot generation)
  • FFmpeg (optional, for growth analysis video generation)

Quick Start

For Standalone Tools (No Account Required)

# Review all uncommitted changes
edsger --review

# Review only staged changes (great as a pre-commit hook)
edsger --review --staged

# Analyze and refactor code in the current directory
edsger --refactor

# Generate project documentation
edsger --init

For Agent Workflow (Account Required)

# 1. Authenticate with the Edsger platform
edsger login

# 2. (Optional) Configure API keys for growth/video features
edsger config set ELEVENLABS_API_KEY=sk-xxxxx

# 3. (Optional) Initialize project documentation for better AI context
edsger --init

# 4. Run the agent — it automatically finds and processes features
edsger

When you run edsger with no arguments, the CLI:

  1. Connects to the Edsger platform using your stored credentials
  2. Discovers all products you have access to
  3. Finds features in ready_for_ai status across all products
  4. Claims features (up to your configured concurrency limit)
  5. For each claimed feature: clones the repository, runs the configured phase pipeline, creates pull requests, and updates the feature status
  6. Continues polling for new features every 30 seconds until you stop it (Ctrl+C)

How It Connects to the Platform

The CLI communicates with the Edsger platform through the Model Context Protocol (MCP) — a JSON-RPC 2.0 API over HTTPS. Every operation (listing products, claiming features, updating statuses, creating user stories, etc.) is an MCP method call authenticated with your CLI token.

When you run edsger login, the CLI:

  1. Opens your browser to edsger.ai/cli/auth
  2. You sign in and generate a CLI token
  3. You paste the token into the CLI
  4. The CLI validates the token by calling the MCP server
  5. Credentials are saved to ~/.edsger/auth.json with owner-only permissions (0600)

You can also authenticate via environment variables (EDSGER_MCP_SERVER_URL and EDSGER_MCP_TOKEN) if you prefer not to use the login flow — useful for CI/CD environments.

Auto-Update

The CLI periodically checks for new versions via npm. When a new version is detected:

  1. It shows a notification in the terminal
  2. Installs the update in the background
  3. New feature workers automatically pick up the updated code
  4. No restart needed — the update takes effect on the next feature processed

Credential Security

  • CLI tokens are stored at ~/.edsger/auth.json with file permissions 0600 (owner read/write only)
  • Environment variables stored via edsger config set are saved at ~/.edsger/env.json
  • GitHub tokens are never embedded in clone URLs — they are passed via git -c credential.helper to avoid exposure in process listings
  • The CLI never sends your local API keys to the Edsger platform