docs: create roadmap (4 phases)
This commit is contained in:
+27
-27
@@ -89,36 +89,36 @@ Which phases cover which requirements. Updated during roadmap creation.
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| WIZD-01 | — | Pending |
|
||||
| WIZD-02 | — | Pending |
|
||||
| WIZD-03 | — | Pending |
|
||||
| WIZD-04 | — | Pending |
|
||||
| BACK-01 | — | Pending |
|
||||
| BACK-02 | — | Pending |
|
||||
| BACK-03 | — | Pending |
|
||||
| CONF-01 | — | Pending |
|
||||
| CONF-02 | — | Pending |
|
||||
| CONF-03 | — | Pending |
|
||||
| DEPL-01 | — | Pending |
|
||||
| DEPL-02 | — | Pending |
|
||||
| DEPL-03 | — | Pending |
|
||||
| DEPL-04 | — | Pending |
|
||||
| DEPL-05 | — | Pending |
|
||||
| DOWN-01 | — | Pending |
|
||||
| DOWN-02 | — | Pending |
|
||||
| DOWN-03 | — | Pending |
|
||||
| DOWN-04 | — | Pending |
|
||||
| DOWN-05 | — | Pending |
|
||||
| DOWN-06 | — | Pending |
|
||||
| SECU-01 | — | Pending |
|
||||
| SECU-02 | — | Pending |
|
||||
| SECU-03 | — | Pending |
|
||||
| WIZD-01 | Phase 3 | Pending |
|
||||
| WIZD-02 | Phase 3 | Pending |
|
||||
| WIZD-03 | Phase 3 | Pending |
|
||||
| WIZD-04 | Phase 3 | Pending |
|
||||
| BACK-01 | Phase 3 | Pending |
|
||||
| BACK-02 | Phase 3 | Pending |
|
||||
| BACK-03 | Phase 3 | Pending |
|
||||
| CONF-01 | Phase 2 | Pending |
|
||||
| CONF-02 | Phase 4 | Pending |
|
||||
| CONF-03 | Phase 4 | Pending |
|
||||
| DEPL-01 | Phase 2 | Pending |
|
||||
| DEPL-02 | Phase 2 | Pending |
|
||||
| DEPL-03 | Phase 2 | Pending |
|
||||
| DEPL-04 | Phase 2 | Pending |
|
||||
| DEPL-05 | Phase 2 | Pending |
|
||||
| DOWN-01 | Phase 4 | Pending |
|
||||
| DOWN-02 | Phase 4 | Pending |
|
||||
| DOWN-03 | Phase 4 | Pending |
|
||||
| DOWN-04 | Phase 4 | Pending |
|
||||
| DOWN-05 | Phase 4 | Pending |
|
||||
| DOWN-06 | Phase 4 | Pending |
|
||||
| SECU-01 | Phase 4 | Pending |
|
||||
| SECU-02 | Phase 4 | Pending |
|
||||
| SECU-03 | Phase 4 | Pending |
|
||||
|
||||
**Coverage:**
|
||||
- v1 requirements: 24 total
|
||||
- Mapped to phases: 0
|
||||
- Unmapped: 24 ⚠️
|
||||
- Mapped to phases: 24
|
||||
- Unmapped: 0 ✓
|
||||
|
||||
---
|
||||
*Requirements defined: 2026-03-26*
|
||||
*Last updated: 2026-03-26 after initial definition*
|
||||
*Last updated: 2026-03-26 after roadmap creation*
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
# Roadmap: Ready2Blob
|
||||
|
||||
## Overview
|
||||
|
||||
Ready2Blob is built inside-out: architectural foundation first, then pure generator functions, then wizard UI, then the download and security layer. This order front-loads the highest-risk correctness requirements (PowerShell encoding, SYSTEM-context paths, credential handling) before any user-facing code exists, and keeps all four phases independently verifiable.
|
||||
|
||||
## Phases
|
||||
|
||||
**Phase Numbering:**
|
||||
- Integer phases (1, 2, 3): Planned milestone work
|
||||
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
|
||||
|
||||
Decimal phases appear between their surrounding integers in numeric order.
|
||||
|
||||
- [ ] **Phase 1: Foundation** - Project scaffold, TypeScript types, Backend Schema Registry, Zod schemas, and wizard state store
|
||||
- [ ] **Phase 2: Generators** - Pure builder functions for rclone.conf and PowerShell deployment scripts, plus download manager
|
||||
- [ ] **Phase 3: Wizard UI** - Multi-step wizard with backend selector, dynamic backend forms, and deployment options
|
||||
- [ ] **Phase 4: Review, Download & Security** - Live config preview, security warning gate, all download buttons, clipboard copy, and ZIP bundle
|
||||
|
||||
## Phase Details
|
||||
|
||||
### Phase 1: Foundation
|
||||
**Goal**: The architectural skeleton exists and all downstream phases can build on it without rework
|
||||
**Depends on**: Nothing (first phase)
|
||||
**Requirements**: None directly — this phase creates the infrastructure that all v1 requirements depend on
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. Vite dev server starts and serves a React + TypeScript app with no console errors
|
||||
2. The Backend Schema Registry defines at least Azure Blob, S3, and S3-compatible backends with typed field definitions
|
||||
3. Zod validation schemas can be derived from the registry and validate correct/incorrect input correctly
|
||||
4. The WizardState useReducer store initializes, accepts dispatch actions, and state is accessible via Context
|
||||
**Plans**: TBD
|
||||
|
||||
### Phase 2: Generators
|
||||
**Goal**: Given a completed wizard state, the app can produce correct, deployment-ready file content for all output types
|
||||
**Depends on**: Phase 1
|
||||
**Requirements**: CONF-01, DEPL-01, DEPL-02, DEPL-03, DEPL-04, DEPL-05
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. `buildRcloneConf()` produces a valid INI-format rclone.conf string with correct key/value pairs for each supported backend
|
||||
2. The Intune install script writes config using UTF-8 no-BOM encoding, places it at the correct path, and never echoes credential values
|
||||
3. The Intune detection script exits 0 when both rclone.exe and the config file are present, and non-zero otherwise
|
||||
4. The RMM script is self-contained, idempotent, and runs correctly in a generic SYSTEM context
|
||||
5. Toggling "include rclone installation" adds a download step to all generated scripts; disabling it removes it
|
||||
**Plans**: TBD
|
||||
|
||||
### Phase 3: Wizard UI
|
||||
**Goal**: An IT admin can navigate the full wizard from backend selection through deployment options without losing data
|
||||
**Depends on**: Phase 1
|
||||
**Requirements**: WIZD-01, WIZD-02, WIZD-03, WIZD-04, BACK-01, BACK-02, BACK-03
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. User can select a storage backend from a list where Azure Blob and S3 appear first
|
||||
2. User can navigate forward through all wizard steps (backend selection → backend config → deployment options) and back without losing entered values
|
||||
3. User can configure an Azure Blob remote by entering a storage account name and choosing SAS token or access key authentication
|
||||
4. User can configure an Amazon S3 or S3-compatible remote (access key, secret, region, optional endpoint override)
|
||||
5. User can set a custom remote name and the field rejects names with invalid characters
|
||||
**Plans**: TBD
|
||||
|
||||
### Phase 4: Review, Download & Security
|
||||
**Goal**: An IT admin can see exactly what will be deployed, acknowledge the security implications, and download any combination of generated files
|
||||
**Depends on**: Phases 2, 3
|
||||
**Requirements**: CONF-02, CONF-03, DOWN-01, DOWN-02, DOWN-03, DOWN-04, DOWN-05, DOWN-06, SECU-01, SECU-02, SECU-03
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. A live preview of the rclone.conf content updates in real time as the user fills in the wizard forms
|
||||
2. Before any download is enabled, the user must acknowledge a security warning that credentials are stored in plain text
|
||||
3. The app prominently displays that no data is sent to any server, and wizard state is never written to localStorage or sessionStorage
|
||||
4. User can download each artifact individually (rclone.conf, Intune install script, Intune detection script, RMM script) or all together as a ZIP bundle
|
||||
5. User can copy any output block to clipboard without downloading
|
||||
**Plans**: TBD
|
||||
|
||||
## Progress
|
||||
|
||||
**Execution Order:**
|
||||
Phases execute in numeric order: 1 → 2 → 3 → 4
|
||||
|
||||
| Phase | Plans Complete | Status | Completed |
|
||||
|-------|----------------|--------|-----------|
|
||||
| 1. Foundation | 0/? | Not started | - |
|
||||
| 2. Generators | 0/? | Not started | - |
|
||||
| 3. Wizard UI | 0/? | Not started | - |
|
||||
| 4. Review, Download & Security | 0/? | Not started | - |
|
||||
@@ -0,0 +1,63 @@
|
||||
# Project State
|
||||
|
||||
## Project Reference
|
||||
|
||||
See: .planning/PROJECT.md (updated 2026-03-26)
|
||||
|
||||
**Core value:** An IT pro can go from zero to a deployable rclone setup in minutes — without needing to know rclone's config syntax or PowerShell deployment conventions.
|
||||
**Current focus:** Phase 1 — Foundation
|
||||
|
||||
## Current Position
|
||||
|
||||
Phase: 1 of 4 (Foundation)
|
||||
Plan: 0 of ? in current phase
|
||||
Status: Ready to plan
|
||||
Last activity: 2026-03-26 — Roadmap created
|
||||
|
||||
Progress: [░░░░░░░░░░] 0%
|
||||
|
||||
## Performance Metrics
|
||||
|
||||
**Velocity:**
|
||||
- Total plans completed: 0
|
||||
- Average duration: —
|
||||
- Total execution time: —
|
||||
|
||||
**By Phase:**
|
||||
|
||||
| Phase | Plans | Total | Avg/Plan |
|
||||
|-------|-------|-------|----------|
|
||||
| - | - | - | - |
|
||||
|
||||
**Recent Trend:**
|
||||
- Last 5 plans: —
|
||||
- Trend: —
|
||||
|
||||
*Updated after each plan completion*
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
### Decisions
|
||||
|
||||
Decisions are logged in PROJECT.md Key Decisions table.
|
||||
Recent decisions affecting current work:
|
||||
|
||||
- Pure frontend (no backend): simpler hosting, no data retention risk with credentials
|
||||
- Support all rclone backends: broader utility beyond Azure Blob
|
||||
- Optional rclone install in scripts: different orgs have different baseline images
|
||||
|
||||
### Pending Todos
|
||||
|
||||
None yet.
|
||||
|
||||
### Blockers/Concerns
|
||||
|
||||
- Phase 2: Verify exact rclone backend field names against live rclone.org docs before implementing Schema Registry — wrong keys produce silently broken configs
|
||||
- Phase 2: Verify Intune 32-bit/64-bit PS host defaults and script re-execution trigger against live Microsoft docs before writing script templates
|
||||
- Phase 3: Confirm current `rclone authorize` token JSON structure for OneDrive before designing OAuth token input UX
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-03-26
|
||||
Stopped at: Roadmap created — ready to plan Phase 1
|
||||
Resume file: None
|
||||
Reference in New Issue
Block a user