THIS IS A MANDATORY WORKFLOW - NO STEPS CAN BE SKIPPED
YOU MUST USE ALL AVAILABLE RESOURCES:
- Check existing usage rules via
get_usage_rules
MCP tool or CLAUDE.md links - Use
package_docs_search
for ALL potentially relevant packages - Read the full documentation found
- Search for similar features in the codebase using grep/glob
- Check for existing patterns to follow
- Use
project_eval
to explore modules if available - Review any applicable existing usage rules for packages you'll be working with
REQUIRED ACTIONS:
- List ALL requirements explicitly
- Identify edge cases and limitations
- Check for security implications
- Verify compatibility with Ash patterns
- Document assumptions that need validation
CREATE FILE: <project_root>/notes/features/<number>-<name>.md
(inside the project directory)
MANDATORY STRUCTURE:
# Feature: <Feature Name>
## Summary
[1-2 sentences describing the feature]
## Requirements
- [ ] Requirement 1 (specific and measurable)
- [ ] Requirement 2
- [ ] etc.
## Research Summary
### Existing Usage Rules Checked
- Package X existing usage rules: [key rules that apply]
- Package Y existing usage rules: [key rules that apply]
### Documentation Reviewed
- Package X: [what you found]
- Package Y: [what you found]
### Existing Patterns Found
- Pattern 1: [file:line] description
- Pattern 2: [file:line] description
### Technical Approach
[Detailed explanation of HOW you will implement this]
## Risks & Mitigations
| Risk | Impact | Mitigation |
|------|--------|------------|
| Risk 1 | High/Med/Low | How to handle |
## Implementation Checklist
- [ ] Task 1 (specific file/module to create/modify)
- [ ] Task 2
- [ ] Test implementation
- [ ] Verify no regressions
## Questions for Zach
1. [Any clarifications needed]
YOU MUST STOP HERE:
- Present the plan document
- Explicitly ask: "Please review this plan. Should I proceed with implementation?"
- WAIT for explicit approval
- Do NOT proceed without approval
REQUIRED:
- Use TodoWrite to create tasks from implementation checklist
- Update
<project_root>/notes/features/<number>-<name>.md
with a## Log
section - Log EVERY significant decision or discovery
MANDATORY SEQUENCE FOR EACH TASK:
- Check for relevant generator using
list_generators
- Run generator with
--yes
if exists - Research docs again for specific implementation details
- Implement using Ash patterns ONLY
- Compile and check for errors
- Run tests if applicable
- Update log with results
AFTER EACH SUBTASK:
- Report what was done
- Show any errors/warnings
- Update todo status
- Ask if you should continue
REQUIRED CHECKS:
- All requirements met (check against original list)
- All tests passing
- No compilation warnings
- Code follows Ash patterns
UPDATE <project_root>/notes/features/<number>-<name>.md
:
- Add
## Final Implementation
section - Document what was built
- Note any deviations from plan
- List any follow-up tasks needed
FINAL REQUIREMENTS:
- Present summary of implementation
- Show test results
- Ask: "Feature implementation complete. Any additional changes needed?"
- WAIT for confirmation before marking complete
- NO COMMITS unless explicitly told "commit this"
- RESEARCH FIRST - always use package_docs_search
- ASH PATTERNS ONLY - no direct Ecto
- STOP AT CHECKPOINTS - wait for approval
- LOG EVERYTHING - maintain feature notes file