chore: add feature planner setup for docker-watcher-core
Create structured plan files with 12 phases covering the full implementation: scaffold, store, crypto, Docker/NPM clients, registry poller, webhook, deployer, API layer, SvelteKit frontend, embedding, and hardening.
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Phase 10: Quick Deploy & Settings Pages
|
||||
|
||||
**Status:** ⬜ Not Started
|
||||
**Parent plan:** [PLAN.md](./PLAN.md)
|
||||
**Domain:** frontend
|
||||
|
||||
## Objective
|
||||
Build the Quick Deploy page (paste image, auto-inspect, one-click deploy) and all Settings pages (registries, credentials, global settings, webhook URL).
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] Task 1: Quick Deploy page (`routes/deploy/+page.svelte`) — image URL input, inspect button
|
||||
- [ ] Task 2: Quick Deploy inspect flow — call /api/deploy/inspect, display auto-filled form (project name, port, stage, subdomain)
|
||||
- [ ] Task 3: Quick Deploy submit — user reviews defaults, clicks Deploy, calls /api/deploy/quick
|
||||
- [ ] Task 4: Settings layout (`routes/settings/+layout.svelte`) — sub-navigation for settings sections
|
||||
- [ ] Task 5: Global settings page (`routes/settings/+page.svelte`) — domain, server IP, network, subdomain pattern, polling interval
|
||||
- [ ] Task 6: Registries page (`routes/settings/registries/+page.svelte`) — list, add, edit, delete, test connection
|
||||
- [ ] Task 7: Credentials page (`routes/settings/credentials/+page.svelte`) — NPM credentials, registry tokens (masked display)
|
||||
- [ ] Task 8: Webhook URL display and regenerate button in settings
|
||||
- [ ] Task 9: Projects config page (`routes/projects/config/+page.svelte` or integrated into project detail) — add/edit/delete projects, configure stages
|
||||
- [ ] Task 10: Stage configuration form — tag patterns, auto_deploy toggle, max_instances, subdomain override
|
||||
- [ ] Task 11: Form validation on all input pages — required fields, URL format, port range
|
||||
- [ ] Task 12: Success/error toast notifications for all form submissions
|
||||
|
||||
## Files to Modify/Create
|
||||
- `web/src/routes/deploy/+page.svelte` — quick deploy
|
||||
- `web/src/routes/settings/+layout.svelte` — settings layout
|
||||
- `web/src/routes/settings/+page.svelte` — global settings
|
||||
- `web/src/routes/settings/registries/+page.svelte` — registry management
|
||||
- `web/src/routes/settings/credentials/+page.svelte` — credential management
|
||||
- `web/src/lib/components/Toast.svelte` — toast notifications
|
||||
- `web/src/lib/components/FormField.svelte` — reusable form field with validation
|
||||
|
||||
## Acceptance Criteria
|
||||
- Quick Deploy: paste image URL → inspect → review defaults → deploy works end-to-end
|
||||
- All settings are editable and saved via API
|
||||
- Registry test connection shows success/failure
|
||||
- Credentials are masked in display (`••••••••`)
|
||||
- Webhook URL is shown with copy button and regenerate option
|
||||
- Form validation prevents bad submissions
|
||||
|
||||
## Notes
|
||||
- Quick Deploy is the zero-config entry point — should be dead simple UX
|
||||
- Credential fields: show mask, edit replaces entirely (no partial edit)
|
||||
- Registry test: calls POST /api/registries/:id/test, shows connection result
|
||||
- Toast component: appears top-right, auto-dismiss after 5s, color-coded (green/red)
|
||||
|
||||
## Review Checklist
|
||||
- [ ] All tasks completed
|
||||
- [ ] Quick deploy flow is intuitive (minimal clicks)
|
||||
- [ ] Credentials never shown in plaintext in UI
|
||||
- [ ] Form validation covers required fields and formats
|
||||
- [ ] Error states are handled with user-friendly messages
|
||||
|
||||
## Handoff to Next Phase
|
||||
<!-- Filled in by the implementation agent after completing this phase. -->
|
||||
Reference in New Issue
Block a user