This directory contains technical specifications and implementation plans created during feature development.
The specs folder serves as a workspace for planning and documenting features before and during implementation. These documents:
- Capture the initial thinking and planning for features
- Provide a structured approach to complex implementations
- Create a historical record of design decisions
- Help maintain context when revisiting code in the future
-
Creation: When starting a significant feature, create a spec document with the format:
[timestamp]-[feature-name].mdWhere timestamp is in
YYYYMMDDThhmmssformat. Helper# Creates new file in ./spec/ make spec-feature-name -
Usage: The spec typically includes:
- Problem statement
- Proposed solution
- Implementation plan with todo items
- Technical considerations
- Review/summary of changes made
-
Lifecycle:
- Specs are committed alongside major features
- They provide valuable context in git history
- May be periodically cleaned up, but often kept for reference
- Particularly useful when understanding why certain decisions were made
This is a working directory - not all features require specs, and the level of detail varies based on complexity. The primary value is in capturing the "why" behind implementations for future reference.