From 4f6d7319dafe9b2676245cf740b81352c5a4b1bd Mon Sep 17 00:00:00 2001 From: Mikkeli Matlock Date: Tue, 3 Feb 2026 01:11:57 +0900 Subject: [PATCH] docs: define v1 requirements 21 requirements across 5 categories 7 requirements deferred to v2 Co-Authored-By: Claude Opus 4.5 --- .planning/REQUIREMENTS.md | 108 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 .planning/REQUIREMENTS.md diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md new file mode 100644 index 0000000..a67ab42 --- /dev/null +++ b/.planning/REQUIREMENTS.md @@ -0,0 +1,108 @@ +# Requirements: Pirate Station + +**Defined:** 2026-02-03 +**Core Value:** Users can securely access and manage files on the Pi from anywhere via the web, with the server completely isolated to its designated storage directory. + +## v1 Requirements + +Requirements for initial release. Each maps to roadmap phases. + +### Authentication + +- [ ] **AUTH-01**: User can log in with username and password +- [ ] **AUTH-02**: Passwords stored with secure hashing (bcrypt/argon2) +- [ ] **AUTH-03**: JWT tokens for session management +- [ ] **AUTH-04**: User can log out + +### CLI Tool + +- [ ] **CLI-01**: Admin can create user account with username/password +- [ ] **CLI-02**: Admin can delete user account +- [ ] **CLI-03**: Admin can change user password +- [ ] **CLI-04**: Admin can list all users + +### File Operations + +- [ ] **FILE-01**: User can browse folders and see file listing +- [ ] **FILE-02**: User can upload files +- [ ] **FILE-03**: User can download files +- [ ] **FILE-04**: User can delete files and folders +- [ ] **FILE-05**: User can create folders +- [ ] **FILE-06**: User can rename files and folders +- [ ] **FILE-07**: User can move files and folders + +### Web UI + +- [ ] **UI-01**: Current path displayed (non-clickable) +- [ ] **UI-02**: `..` entry for navigating up one directory +- [ ] **UI-03**: File sizes displayed in listing +- [ ] **UI-04**: Upload progress indicator + +### Infrastructure + +- [ ] **INFRA-01**: Docker container runs isolated to mounted volume only +- [ ] **INFRA-02**: Single binary Go backend + +## v2 Requirements + +Deferred to future release. Tracked but not in current roadmap. + +### UI Enhancements + +- **UI-05**: Drag-and-drop file upload +- **UI-06**: Responsive mobile design +- **UI-07**: Clickable breadcrumb navigation + +### Features + +- **FEAT-01**: File preview (images, text, video) +- **FEAT-02**: Bulk file selection and operations + +## Out of Scope + +Explicitly excluded. Documented to prevent scope creep. + +| Feature | Reason | +|---------|--------| +| Self-registration | Security — admin creates accounts via CLI only | +| Web admin panel | Simplicity — CLI is sufficient for small user base | +| Per-user private folders | Not needed — trusted group shares one space | +| File preview/streaming | Complexity — just upload, download, manage | +| Tailscale integration | User constraint — using frpc/rathole instead | + +## Traceability + +Which phases cover which requirements. Updated during roadmap creation. + +| Requirement | Phase | Status | +|-------------|-------|--------| +| AUTH-01 | TBD | Pending | +| AUTH-02 | TBD | Pending | +| AUTH-03 | TBD | Pending | +| AUTH-04 | TBD | Pending | +| CLI-01 | TBD | Pending | +| CLI-02 | TBD | Pending | +| CLI-03 | TBD | Pending | +| CLI-04 | TBD | Pending | +| FILE-01 | TBD | Pending | +| FILE-02 | TBD | Pending | +| FILE-03 | TBD | Pending | +| FILE-04 | TBD | Pending | +| FILE-05 | TBD | Pending | +| FILE-06 | TBD | Pending | +| FILE-07 | TBD | Pending | +| UI-01 | TBD | Pending | +| UI-02 | TBD | Pending | +| UI-03 | TBD | Pending | +| UI-04 | TBD | Pending | +| INFRA-01 | TBD | Pending | +| INFRA-02 | TBD | Pending | + +**Coverage:** +- v1 requirements: 21 total +- Mapped to phases: 0 +- Unmapped: 21 (pending roadmap) + +--- +*Requirements defined: 2026-02-03* +*Last updated: 2026-02-03 after initial definition*