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 Assistants | Edsger CLI | |
|---|---|---|
| Scope | Single files or functions | Complete features end-to-end |
| Workflow | Human drives each step | Autonomous multi-phase pipeline |
| Quality | No built-in verification | Verification gates + checklists at each phase |
| Team Control | None | Approvals, feedback, and phase-level configuration |
| Concurrency | One task at a time | Up to 10 features processed simultaneously |
| Continuity | Stateless per session | Persistent 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 edsgerOr use directly with npx:
npx edsger --helpRequirements
- 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 --initFor 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
edsgerWhen you run edsger with no arguments, the CLI:
- Connects to the Edsger platform using your stored credentials
- Discovers all products you have access to
- Finds features in
ready_for_aistatus across all products - Claims features (up to your configured concurrency limit)
- For each claimed feature: clones the repository, runs the configured phase pipeline, creates pull requests, and updates the feature status
- 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:
- Opens your browser to
edsger.ai/cli/auth - You sign in and generate a CLI token
- You paste the token into the CLI
- The CLI validates the token by calling the MCP server
- Credentials are saved to
~/.edsger/auth.jsonwith 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:
- It shows a notification in the terminal
- Installs the update in the background
- New feature workers automatically pick up the updated code
- No restart needed — the update takes effect on the next feature processed
Credential Security
- CLI tokens are stored at
~/.edsger/auth.jsonwith file permissions0600(owner read/write only) - Environment variables stored via
edsger config setare saved at~/.edsger/env.json - GitHub tokens are never embedded in clone URLs — they are passed via
git -c credential.helperto avoid exposure in process listings - The CLI never sends your local API keys to the Edsger platform