# Ship v2 Rebuild Progress Tracking rebuilding ship for agent-first JSON interface. ## Status: READY FOR TESTING ## Completed - [x] Design docs (SHIP_V2.md, SPEC.md) - [x] JSON output types and helpers (`internal/output`) - [x] Auto-detection logic (`internal/detect`) - [x] Error codes and exit codes - [x] New CLI structure (`ship [PATH]` as primary) - [x] Deploy orchestration with placeholder implementations ## Current Phase: Subcommand Implementations - [x] Static site deploy (rsync + Caddyfile) - [x] Docker deploy (build + systemd + Caddy) - [x] Binary deploy (scp + systemd + Caddy) - [x] Health check implementation - [x] TTL support (server-side) - [x] Port allocation (server-side) ## Upcoming - [ ] Testing with real deploys - [ ] Remove v1 code after validation ## Wiring - v2 is now the default interface - Set `SHIP_V1=1` to use legacy v1 (human-formatted output) ## Completed Recently - [x] `ship list` - enumerate all deploys from /etc/ship/ports and /var/www - [x] `ship status NAME` - show deploy status, port, type, TTL - [x] `ship logs NAME` - show journalctl logs (or Caddy logs for static) - [x] `ship remove NAME` - full cleanup of all deploy artifacts ## Completed Recently - [x] TTL cleanup timer (server-side systemd timer) - [x] `ship host init` with JSON output - [x] Docker + Caddy installation - [x] Cleanup script for expired TTL deploys ## Commits - `5b88935` feat(v2): add output and detect packages - `8094639` feat(v2): add CLI structure and deploy orchestration --- ## Notes - Branch: `agent-mode` - Keep v1 code for reference until v2 is working - Test with real deploys before merging to main