Lambo Builder Documentation Rules
How to document every change during development
Documentation Rules for Lambo Builder
Context Independence Principle: Documentation must be complete enough that anyone can understand the project state without access to chat history or conversation context.
Every Phase Must Have
1. Phase Overview Document
- File:
phase-N-name.md - Required Frontmatter:
--- title: Phase N - Name description: What this phase accomplishes icon: 🎯 Date: November 1, 2025 Status: 🎯 IN PROGRESS | ✅ COMPLETE | ⏳ NOT STARTED Purpose: Why this phase exists --- - Content:
- Objective
- Success criteria
- Task breakdown
- Dependencies
- Risks & mitigation
- Progress summary
2. Daily Progress Updates
- File:
progress-tracking.md(single file, updated daily) - Update daily with:
- Date and focus area
- Completed tasks (checkboxes)
- In-progress tasks
- Next steps
- Blockers
- Notes and decisions
3. Architecture Decisions
- Separate file per major decision
- File naming:
[topic]-architecture.md - Must include:
- The decision made
- Rationale and reasoning
- Alternatives considered
- Impact on the system
- Examples/code snippets
4. Completion Checklist
- Location: In phase document
- Must include:
- Verifiable tasks
- Links to completed work
- Sign-off criteria
- Next phase prerequisites
Every Session Must Update
1. Progress Tracking
- File:
progress-tracking.md - Update: At end of each session
- Include:
- What was accomplished
- What's in progress
- What's next
- Any blockers encountered
2. Phase Documents
- Update: As tasks are completed
- Mark: Checkboxes for completed tasks
- Add: Notes about implementation details
3. New Decisions
- Create: New architecture doc if major decision made
- Update: Decisions log in progress-tracking.md
File Naming Convention
Phase Documents
phase-0-cleanup.mdphase-1-module-unification.mdphase-2-modularity-tool.md- Use kebab-case, include phase number
Architecture Documents
module-system-architecture.mdrouting-architecture.mdwidget-io-system.md- Use kebab-case, descriptive names
Progress Documents
progress-tracking.md(single file, continuously updated)deprecated-removal-checklist.md(tracking document)
Reference Documents
widget-library.mdapi-reference.mdcanvas-integration-matrix.md
Frontmatter Requirements
Required Fields
---
title: Clear Descriptive Title
description: What this document covers (1-2 sentences)
icon: 🎯 # Use relevant emoji
Date: November 1, 2025 # Creation date
Status: 🎯 ACTIVE | 📘 REFERENCE | ✅ COMPLETE | ⏳ NOT STARTED
Purpose: Why this document exists and what problem it solves
---
Optional Fields
---
order: 1 # For sorting in navigation
tags: [phase-0, cleanup, deprecated]
lastUpdated: November 2, 2025
author: Platform Team
---
Update Frequency
Daily Updates
- File:
progress-tracking.md - When: End of each development session
- What: Completed tasks, blockers, decisions
Per Task Updates
- Files: Phase documents
- When: As tasks are completed
- What: Mark checkboxes, add notes
On Decision Updates
- Files: New architecture document
- When: Major architectural decision made
- What: Full decision documentation
Weekly Reviews
- Files: All phase documents
- When: End of each week
- What: Review progress, update estimates
Documentation Best Practices
1. Be Specific
❌ "Updated the module system" ✅ "Replaced EditorModuleContract with BrowserModuleContract in user-management module, added ModuleParameterMetadata to 5 public actions"
2. Include Context
❌ "Fixed the bug" ✅ "Fixed infinite loop in navigation service caused by circular dependency between RouterService and ContextService. Solution: Used injection token pattern."
3. Link Related Documents
See [Module System Architecture](./module-system-architecture.md) for rationale.
4. Use Checkboxes for Tasks
- [x] Completed task
- [ ] Pending task
- 🎯 In progress task (use emoji)
5. Document Decisions
Always include:
- What was decided
- Why it was decided
- What alternatives were considered
- What the impact is
6. Code Examples
Include code snippets for architectural decisions:
```typescript
// Example of BrowserModuleContract implementation
@ModuleDecorator({
id: 'user-management',
version: '1.0.0'
})
export class UserManagementModule implements BrowserModuleContract {
// ...
}
```
Context Independence Rules
1. No Conversation References
❌ "As we discussed earlier..." ✅ "The decision was made to use BrowserModuleContract because..."
2. Complete Information
❌ "See previous notes" ✅ "See Phase 0 Cleanup for details"
3. Self-Contained Documents
- Each document should stand alone
- Include all necessary context
- Link to related documents
4. Assume New Reader
- Write as if someone is reading for the first time
- Explain abbreviations and acronyms
- Provide background context
Quality Checklist
Before committing documentation:
- Frontmatter complete and correct
- Date and status accurate
- Purpose clearly stated
- All tasks have checkboxes
- Decisions are documented
- Links to related docs included
- Code examples have syntax highlighting
- No conversation references
- Self-contained and complete
- Proper markdown formatting
Examples
Good Documentation Example
---
title: Module System Architecture
description: Why we use BrowserModuleContract and hybrid routing
icon: 🧩
Date: November 1, 2025
Status: 📘 REFERENCE
Purpose: Document the chosen module system architecture
---
# Module System Architecture
## Decision: Hybrid Approach + BrowserModuleContract
### Rationale
We chose BrowserModuleContract over EditorModuleContract for three key reasons:
1. **Maturity:** BrowserModuleContract is more mature with the unified parameter system
2. **AI Training:** Single pattern makes AI training simpler
3. **Type Safety:** Better TypeScript support with readonly properties
### Alternatives Considered
- Keep both systems (rejected: too confusing)
- Create new unified system (rejected: too time-consuming)
- Use EditorModuleContract everywhere (rejected: less feature-complete)
### Impact
- All modules must implement BrowserModuleContract
- EditorModuleContract must be removed from codebase
- Migration path: user-management module first, then others
[Continue with full details...]
Bad Documentation Example
# Module System
We decided to use BrowserModuleContract.
See earlier for why.
Maintenance
Weekly Review
- Review all documentation for accuracy
- Update progress tracking
- Mark completed phases
- Update estimates
Phase Completion
- Mark phase as complete
- Update phase status
- Create summary
- Link to next phase
Plan Updates
- If plan changes, document why
- Update affected phase documents
- Notify in progress tracking
- Link to decision document
Reference: Following guidelines from docs/english/docs-angular-docs/add-docs/add-documentation.md
Last Updated: November 1, 2025