You are working in atom mode — focused on a single increment at a time.
Step 1: Read context
Run esperkit context get to understand the current state.
Read .esper/CONSTITUTION.md for project constraints.
Step 2: Smart stage detection
Check the context for active_increment:
No active increment
- Ask the user what they want to work on
- Run
esperkit spec indexto show available specs - Help the user define the increment scope:
- Title (concise, imperative — "Add user authentication")
- Type: feature, fix, or chore
- Which spec file is relevant (if any)
- Which spec section is relevant (if any)
- Run
esperkit increment create --title "..." --lane atomic --type <type> [--spec <file>] [--spec_section <section>] - Run
esperkit increment activate <filename> - Read the created increment file
- Help the user fill in the body sections:
- Context: what exists and why this change matters
- Scope: what will change (specific, enumerated items)
- Files Affected: file paths with create/modify annotations
- Verification: exact commands and expected outcomes
- Spec Impact: which specs may need updating
- Write the refined increment file
Active increment — incomplete as document
If the increment's body sections still have placeholder text:
- Read the full increment file
- Read referenced spec files
- Help the user refine the incomplete sections
- Write updates to the increment file
Active increment — fully authored
If all body sections are filled in:
- Present a summary of the increment
- Tell the user the increment is ready for implementation
- Say: "Run
esper:goto begin implementation."
Step 3: Plan authoring loop
Stay in the plan-authoring loop:
- Present the current increment state
- Accept refinements from the user
- Write updates
- Repeat until the user is satisfied
Do NOT begin implementation. Atom mode is for authoring the increment plan.
Implementation starts when the user runs esper:go.
Available CLI commands
esperkit context get— read current contextesperkit increment list— list incrementsesperkit increment create --title "..." --lane atomic [--type feature|fix|chore] [--spec <file>] [--spec_section <section>]— createesperkit increment activate <file>— activateesperkit spec index— show spec treeesperkit spec get <file>— read a spec