Example: Requiem's Own Requirements
This section contains Requiem's actual project requirements - the specification that defines what this tool does. These requirements serve a dual purpose:
- Project Specification: Formal requirements that guide Requiem's development
- Worked Example: A real-world demonstration of Requiem managing its own requirements
Why This Matters
Most requirements management tools provide toy examples with a handful of simple requirements. By using Requiem to manage Requiem's own requirements, we demonstrate:
- Dogfooding: We trust our own tool for serious work
- Real traceability: User requirements flow down to system requirements
- Best practices: Professional structure, clear writing, proper linking
- Scale: A complete requirements set, not just a demo
- Integration: Requirements living alongside documentation (MdBook)
Requirements Structure
Requiem's requirements follow a two-level hierarchy:
User Requirements (USR)
High-level requirements that describe what users need from the tool. These focus on user-facing functionality and capabilities.
- USR-001: Plain Text Storage
- USR-002: Unique and Stable Identifiers
- USR-003: Requirement Relationships and Traceability
- USR-004: Graph Analysis and Validation
- USR-005: Static Site Generator Integration
- USR-006: Requirement Templates
- USR-007: Requirement Visibility and Navigation
System Requirements (SYS)
Detailed technical requirements that describe how the system implements user needs. These specify file formats, algorithms, CLI commands, and implementation details.
- SYS-001: Markdown File Format with YAML Frontmatter
- SYS-002: UUID and HRID Fields
- SYS-003: Parent Requirement Links
- ... and 17 more system requirements
View all system requirements →
Traceability in Action
Notice how system requirements trace back to user requirements. For example:
USR-006: Requirement Templates has five child system requirements:
- SYS-011: Template File Storage
- SYS-012: Default Template Application
- SYS-013: Template Override via CLI
- SYS-014: Template Format
- SYS-015: Namespace-Specific Templates
This demonstrates the USR→SYS traceability that Requiem was built to support. Each user need is decomposed into specific technical requirements.
Using This as a Learning Resource
As you read through the user guide, refer back to these requirements to see concepts in practice:
- File Format: See SYS-001 for the actual specification
- HRIDs: See SYS-002 for identifier format rules
- Parent Links: See SYS-003 for linking structure
- Fingerprints: See SYS-005 for suspect link detection
- Templates: See SYS-011 through SYS-015 for complete template system specification
- CLI Visibility: See SYS-017 through SYS-019 for the listing and navigation interface
Configuration
This requirements directory includes:
config.toml: Requiem configuration (version only).req/templates/: Template files for new requirementsUSR.md: Template for user requirementsSYS.md: Template for system requirements
Exploring Further
Browse the requirements directly:
Or jump to specific requirements using the links above.
Note: These requirements are managed using Requiem itself. Any changes go through the same review process documented in Maintaining Requirements.