6.0 KiB
Roadmap: Ready2Blob
Milestones
- ✅ v1.0 MVP — Phases 1–4 (shipped 2026-03-27)
- 🚧 v1.1 Backlog & Tech Debt — Phases 5–7 (in progress)
Phases
✅ v1.0 MVP (Phases 1–4) — SHIPPED 2026-03-27
- Phase 1: Foundation (4/4 plans) — completed 2026-03-26
- Phase 2: Generators (4/4 plans) — completed 2026-03-26
- Phase 3: Wizard UI (5/5 plans) — completed 2026-03-27
- Phase 4: Review, Download & Security (5/5 plans) — completed 2026-03-27
Full phase details: .planning/milestones/v1.0-ROADMAP.md
🚧 v1.1 Backlog & Tech Debt (In Progress)
Milestone Goal: Ship all deferred tech debt and backlog features from v1.0 — scriptTargets filtering, UX consistency fixes, registry-driven backend list, 4 new backends, field validation, and contextual tooltips.
- Phase 5: Tech Debt - Fix all deferred v1.0 issues (scriptTargets filtering, Back button, registry-driven UI, dead export, test warnings) (completed 2026-03-30)
- Phase 6: New Backends - Add OneDrive, SFTP, Google Cloud Storage, and Backblaze B2 to the backend registry and wizard (completed 2026-03-31)
- Phase 7: Validation & UX Polish - Add field-level format validation and contextual tooltips across all backends
Phase Details
Phase 5: Tech Debt
Goal: The wizard behaves consistently and the codebase is clean — no visual noise from deselected script targets, ReviewStep has a Back button, BackendSelectionStep is driven by the registry, and dead code is removed Depends on: Phase 4 (v1.0 complete) Requirements: TECH-01, TECH-02, TECH-03, TECH-04, TECH-05 Success Criteria (what must be TRUE):
- User who deselected RMM in DeploymentStep sees only the Intune output block in ReviewStep (and vice versa)
- User can click a Back button on ReviewStep to return to DeploymentStep without losing any form data
- Adding a new entry to BACKEND_REGISTRY automatically surfaces that backend in the BackendSelectionStep UI with no other code changes
- BackendSelectionStep test suite runs with zero
act()warnings in the Vitest output BackendFormValues<T>export is absent fromsrc/schemas/index.tsand no TypeScript errors arise Plans: 4 plans
Plans:
- 05-00-PLAN.md — Wave 0 TDD stubs: ReviewStep filtering + Back button failing tests, registry.test.ts .fields prep
- 05-01-PLAN.md — Registry enrichment (TECH-03) + consumers update + dead export removal (TECH-04)
- 05-02-PLAN.md — ReviewStep scriptTargets filtering + Back button (TECH-01, TECH-02)
- 05-03-PLAN.md — act() warnings fix: userEvent migration + vi.useFakeTimers (TECH-05)
Phase 6: New Backends
Goal: IT pros can configure OneDrive, SFTP, Google Cloud Storage, and Backblaze B2 remotes through the same wizard flow, with appropriate guidance for OAuth-based and key-based auth methods Depends on: Phase 5 Requirements: BACK-01, BACK-02, BACK-03, BACK-04 Success Criteria (what must be TRUE):
- User can select OneDrive as a backend, paste a pre-obtained rclone OAuth token, and generate a valid rclone.conf containing
[type = onedrive]with the token field - User can select SFTP as a backend, choose between password and private-key authentication, fill the appropriate fields, and generate a valid rclone.conf
- User can select Google Cloud Storage as a backend, fill in the required fields, and generate a valid rclone.conf containing
[type = google cloud storage] - User can select Backblaze B2 as a backend, enter their application key credentials, and generate a valid rclone.conf containing
[type = b2] - All four new backends appear in the BackendSelectionStep list and each produces a downloadable config+scripts bundle Plans: 4 plans
Plans:
- 06-00-PLAN.md — Wave 0 TDD stubs: failing tests for all four new backends across registry, rclone-conf, and RemoteConfigStep
- 06-01-PLAN.md — Registry + schema + RCLONE_TYPE_MAP for OneDrive, GCS, Backblaze B2
- 06-02-PLAN.md — Registry + schema + RCLONE_TYPE_MAP for SFTP + SftpAuthToggle component
- 06-03-PLAN.md — Wire all four backends into RemoteConfigStep + human verification
Phase 7: Validation & UX Polish
Goal: Users receive immediate inline feedback when they enter incorrectly formatted values, and can access plain-language explanations on confusing credential fields without leaving the wizard Depends on: Phase 6 Requirements: VALID-01, UX-01 Success Criteria (what must be TRUE):
- User who enters an Azure storage account name shorter than 3 characters or containing uppercase letters sees an inline error message before they can advance
- User who enters an S3 region in an invalid format (e.g., spaces or uppercase) sees an inline error message
- User can hover or click a tooltip icon on sensitive fields (SAS token, access key, SFTP auth method, OneDrive token) and read a plain-language explanation without navigating away
- Tooltip content accurately distinguishes SAS token from storage account key in the Azure backend form Plans: 3 plans
Plans:
- 07-00-PLAN.md — Wave 0 TDD stubs: failing tests for VALID-01 regex rejection/acceptance and UX-01 tooltip toggle
- 07-01-PLAN.md — VALID-01: FieldDef validate extension + buildZodSchema regex chaining for 3 fields
- 07-02-PLAN.md — UX-01: tooltipText in registry + FieldRenderer/PasswordField ⓘ toggle + AzureAuthToggle/SftpAuthToggle wiring + human verification
Progress
| Phase | Milestone | Plans Complete | Status | Completed |
|---|---|---|---|---|
| 1. Foundation | v1.0 | 4/4 | Complete | 2026-03-26 |
| 2. Generators | v1.0 | 4/4 | Complete | 2026-03-26 |
| 3. Wizard UI | v1.0 | 5/5 | Complete | 2026-03-27 |
| 4. Review, Download & Security | v1.0 | 5/5 | Complete | 2026-03-27 |
| 5. Tech Debt | 4/4 | Complete | 2026-03-30 | - |
| 6. New Backends | 4/4 | Complete | 2026-03-31 | - |
| 7. Validation & UX Polish | v1.1 | 0/3 | Not started | - |