# Architecture Decision Records
This directory captures the significant architectural choices made in PerfectStar 2k — a TUI text editor for writers, built on WordStar's chord-based input language and WordPerfect's focused writing aesthetic.
Each ADR documents the context, the decision, and its consequences so future contributors understand *why* the system is shaped the way it is.
## Index
| [ADR-001](./ADR-001-ropey-for-text-storage.md) | Use Ropey for text storage | Accepted | 2025-06-15 |
| [ADR-002](./ADR-002-wordstar-chord-keymap.md) | WordStar chord-based keymap with static binding table | Accepted | 2025-06-15 |
| [ADR-003](./ADR-003-never-lose-undo.md) | Never-lose undo model (Emacs-style) | Accepted | 2025-06-15 |
| [ADR-004](./ADR-004-per-file-session-persistence.md) | Per-file session persistence keyed by path hash | Accepted | 2025-06-15 |
| [ADR-005](./ADR-005-bundled-hunspell-spellcheck.md) | Bundled Hunspell dictionary via spellbook (offline spellcheck) | Accepted | 2025-06-15 |
| [ADR-006](./ADR-006-hand-generated-rtf-manuscript-export.md) | Hand-generated RTF for manuscript export | Accepted | 2025-06-15 |
| [ADR-007](./ADR-007-dos-accurate-truecolor-themes.md) | DOS-accurate truecolor theme system | Accepted | 2025-06-15 |
## Format
ADRs follow [MADR](https://adr.github.io/madr/) (Markdown Any Decision Records). Each record includes:
- **Context and Problem Statement** — what prompted the decision
- **Decision Drivers** — constraints and goals that shaped the choice
- **Considered Options** — alternatives evaluated
- **Decision Outcome** — what was chosen and why
- **Consequences** — trade-offs accepted
## Adding a New ADR
1. Assign the next sequential number
2. Name the file `ADR-{NNN}-{kebab-case-title}.md`
3. Use the full or short-form MADR template
4. Update this index table