Core Concepts
Understand the key concepts and terminology used in Edsger.
Core Concepts
Edsger is built around several key concepts that help you manage your software development lifecycle with AI automation and human oversight.
Products
A Product is the top-level entity in Edsger. It represents a software product, application, or project that you're building. Products can be connected to GitHub repositories for seamless integration. Products contain features, user stories, test cases, checklists, and more.
Features
Features are the building blocks of your product. Each feature represents a distinct piece of functionality that delivers value to users. Features progress through a structured lifecycle of phases, each with optional verification gates requiring human approval.
- Status tracking: Track progress through 14+ development phases
- Acceptance criteria: Define when a feature is complete
- Priority levels: Organize work by importance
- Execution modes: Control how AI processes the feature (full pipeline, single phase, or from a specific phase)
See Features Overview for the full status lifecycle.
Phases
Edsger organizes feature development into structured phases. Each phase represents a step in the development lifecycle:
- Feature Analysis — AI analyzes the feature and generates detailed requirements
- User Stories Analysis — AI generates user stories from the analysis
- Test Cases Analysis — AI creates test cases based on requirements
- Technical Design — AI generates architecture and implementation plans
- Branch Planning — AI plans the branch strategy for implementation
- Code Implementation — AI writes code based on the technical design
- PR Splitting — AI splits large changes into reviewable pull requests
- PR Execution — AI creates and manages pull requests on GitHub
- Functional Testing — AI runs tests and validates functionality
- Code Review — AI performs code review on the implementation
- Code Refine — AI refines code based on review feedback
- Bug Fixing — AI fixes issues found during testing
Verification Gates
Most phases have a corresponding verification gate (e.g., feature_analysis_verification). At these gates:
- AI work pauses and waits for human review
- Team members can approve to advance to the next phase
- Team members can provide feedback to trigger a re-run of the phase
- The feature won't progress until the gate is cleared
This ensures your team stays in control while AI handles the heavy lifting.
Approvals
The approval system allows you to configure which phases require human sign-off before proceeding. Per-product approval configurations let you:
- Assign specific team members as approvers for each phase
- Require approval before advancing past key checkpoints
- Receive email notifications when approvals are needed
- Approve or reject directly from email links
Approval-supported phases: Feature Analysis, User Stories Analysis, Test Cases Analysis, Technical Design, Branch Planning, and Functional Testing.
Feedbacks
Feedbacks are rich, targeted comments that team members provide during verification gates. Unlike simple comments, feedbacks are structured and injected directly into AI prompts when a phase is re-run:
- Types: requirement, constraint, preference, context, quality criteria, suggestion, question, issue
- Targeting: Can target specific phases, line numbers, or ranges within documents
- Re-runs: When feedback triggers a re-run, the AI receives all feedback as context for improvement
User Stories
User Stories describe functionality from an end-user perspective. They follow the format: "As a [user type], I want to [action] so that [benefit]."
User stories are linked to features and track their own status: draft → pending_approval → approved → in_progress → done (or cancelled).
Test Cases
Test Cases define how to verify that features work correctly. Each test case includes steps, expected results, and can be marked as critical to indicate high-priority verification. Test cases follow the same status workflow as user stories.
Test Reports
Test Reports track the execution results of test cases for a feature. When a report is created, it automatically populates results for all test cases in the feature. Each result can be marked as passed, failed, skipped, or pending. Reports progress through draft → submitted → approved or rejected.
Checklists
Checklists are phase-based quality assurance tools that ensure each phase of development meets standards. They can be scoped to a product (applying to all features) or a specific feature.
- Phase-specific: Checklists are associated with specific development phases
- Role-based: Targeted at specific roles (PM, Developer, QA, Tech Lead, etc.)
- Item types: Boolean (yes/no), text, number, or select
- Templates: Reusable checklist templates can be shared publicly, privately, or within teams
Execution Modes
Execution modes control how the AI processes a feature through its lifecycle:
- Full Pipeline (
full_pipeline): Run all phases from start to finish - Single Phase (e.g.,
only_feature_analysis): Run just one specific phase - From Phase (e.g.,
from_technical_design): Run from a specific phase onwards - Autonomous (
autonomous): AI autonomously analyzes and implements changes - Custom (
custom): User-defined phase sequence
AI Chat
Edsger includes an AI chat system where team members can interact with AI about features and products:
- Feature Chat: Discuss a specific feature — the AI has full context of the feature's status, user stories, test cases, and technical design
- Product Chat: Discuss product-level topics — the AI can list features, create new ones, and manage checklists
- AI can take actions directly from chat (update status, trigger re-runs, manage checklists, create tasks)
Tasks
Tasks are actionable items assigned to team members or AI. They can be created manually or by the system, and have priority levels (1-4). Tasks can be executed by humans or AI agents.
Teams
Teams enable collaboration with role-based access control. Team members can be assigned different roles:
- Owner: Full administrative access
- Admin: Can manage team settings and members
- Member: Can view and contribute to products
- Viewer: Read-only access
Teams are invited by email, and products can be shared with teams for collaborative development.
GitHub Integration
Edsger integrates with GitHub in two modes:
- GitHub App (Recommended): Fine-grained permissions with institutional access
- OAuth App: User-based authentication for personal repositories
Integration enables branch management, pull request creation, webhook notifications, and automated workflows directly from the Edsger platform.