requirements-manager 0.1.1

Plain-text requirements management tool
Documentation
# 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:

1. **Project Specification**: Formal requirements that guide Requiem's development
2. **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]./requirements/USR-001.md: Plain Text Storage
- [USR-002]./requirements/USR-002.md: Unique and Stable Identifiers
- [USR-003]./requirements/USR-003.md: Requirement Relationships and Traceability
- [USR-004]./requirements/USR-004.md: Graph Analysis and Validation
- [USR-005]./requirements/USR-005.md: Static Site Generator Integration
- [USR-006]./requirements/USR-006.md: Requirement Templates
- [USR-007]./requirements/USR-007.md: Requirement Visibility and Navigation

[View all user requirements →](./requirements/user-requirements.md)

### 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]./requirements/SYS-001.md: Markdown File Format with YAML Frontmatter
- [SYS-002]./requirements/SYS-002.md: UUID and HRID Fields
- [SYS-003]./requirements/SYS-003.md: Parent Requirement Links
- ... and 17 more system requirements

[View all system requirements →](./requirements/system-requirements.md)

## 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]./requirements/SYS-001.md for the actual specification
- **HRIDs**: See [SYS-002]./requirements/SYS-002.md for identifier format rules
- **Parent Links**: See [SYS-003]./requirements/SYS-003.md for linking structure
- **Fingerprints**: See [SYS-005]./requirements/SYS-005.md 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 requirements
  - `USR.md`: Template for user requirements
  - `SYS.md`: Template for system requirements

## Exploring Further

Browse the requirements directly:
- [User Requirements Overview]./requirements/user-requirements.md
- [System Requirements Overview]./requirements/system-requirements.md

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](./maintaining.md).