2.8 KiB
2.8 KiB
Feature Spec: [FEAT-XXX] - Short Descriptive Title
Milestone: [e.g. MVP Core / Performance & Polish / Extension Framework] Priority: Must-have / Should-have / Nice-to-have Spec Owner: [Your Name / AI Agent Name] Status: Draft → Under Review → Approved → Implemented → Verified
1. Purpose & User Story
As a [user type], I want [goal] so that [benefit].
(One clear sentence. Keep it concise.)
2. Functional Requirements
- REQ-1: [Clear, testable description]
- REQ-2: ...
- REQ-3: ...
(List what the feature must do. Make each item verifiable.)
3. Non-Functional Requirements
- Performance: [e.g. Latency < 800ms at p95, max 5k tokens, etc.]
- Security / Safety: [e.g. Input validation, no raw errors to user, etc.]
- Compatibility: [e.g. Works with all existing wallet backends, no breaking changes for extensions]
- UI/UX: [e.g. Follows existing Quasar/Vue patterns in wallet.js]
- Other: [cost, scalability, accessibility, etc.]
4. Technical Approach (Optional – recommended for complex features)
- Proposed solution: [e.g. Extend existing CRUD in lnbits/core/, new extension, middleware change, etc.]
- Key files to modify: [list expected files]
- New dependencies: [none / specific package + version]
- Migration / Database changes: [yes/no + description]
5. Success Criteria & Verification
Must pass all of these to be accepted:
- All functional requirements (REQ-*) implemented and tested
- Non-functional requirements met (performance, security, etc.)
- Relevant tests pass:
make test-unit,make test-api,make test-regtest(as applicable) make checkpasses (ruff, mypy, pyright, prettier, checkbundle)- Constitution compliance: All changes respect CONSTITUTION.md
- Backward compatibility: No breakage for existing extensions or wallet backends
- Documentation updated (if applicable: README, OpenAPI, inline comments)
Additional Tests / Edge Cases:
- Test invalid inputs / error paths
- Test with FakeWallet and at least one real backend
- Test with multiple extensions installed
6. Safety & Risk Assessment
- Potential risks: [e.g. Payment flow impact, key exposure, extension conflicts]
- Mitigation: [how addressed]
- Security review needed: [yes/no]
7. Implementation Notes (for AI / Developer)
- Style to match: Existing code patterns in
lnbits/core/andwallet.js - Surgical changes only (per AGENTS.md)
- Any known gotchas or dependencies on other features:
8. Acceptance Checklist (Sign-off)
- Spec reviewed and approved by project owner
- Implementation completed
- Verification steps passed
- PR created with link to this spec
- Constitution & AGENTS.md compliance confirmed
Created: [Date] Last Updated: [Date] Approved By: [Name / "Approved"]