# Roadmap ## Phase 1: Foundation (Complete) Core functionality implemented: - [x] Project listing - [x] Repository listing - [x] Artifact listing and details - [x] Vulnerability display with filtering - [x] Scan triggering with wait - [x] Tag management - [x] SBOM retrieval - [x] Artifact/tag deletion - [x] Project configuration - [x] CI pipeline (syntax + lint) - [x] Modular package structure (`src/harbor/`) ## Phase 2: Quality Code quality and maintainability improvements: - [x] Add type hints throughout - [x] Modular code organization - [ ] Add unit tests for core functions - [ ] Add integration tests (mock API) - [ ] Improve error messages - [x] Add `--version` flag - [ ] Add `--quiet` mode for scripting ## Phase 3: Output Terminal output improvements: - [ ] Unicode status indicators - [ ] Color output (with NO_COLOR support) - [ ] Table alignment fixes - [ ] Progress indicators for long operations - [ ] JSON output mode for all commands ## Phase 4: Features Additional functionality: - [ ] `labels` command - manage artifact labels - [ ] `copy` command - copy artifact between repos - [x] `gc` command - show garbage collection status - [ ] `replication` command - list replication rules/executions - [ ] `quota` command - show project quota usage - [x] `audit` command - show audit logs - [ ] Partial digest tab completion ## Phase 5: Distribution Packaging and distribution: - [ ] pyproject.toml with entry points - [ ] Installable package (`pip install .`) - [ ] Man page generation - [ ] Shell completions (bash/zsh/fish) ## Phase 6: Admin (Complete) Admin capabilities for Harbor system management: - [x] `system` command - version, auth mode, storage volumes - [x] `gc` command - schedule, history, manual trigger - [x] `gc-run` command - trigger GC with dry-run/wait - [x] `users` command - list users with pagination - [x] `user-create` command - create local user - [x] `user-delete` command - delete user - [x] `user-admin` command - grant/revoke admin privileges - [x] `user-passwd` command - reset user password - [x] `audit` command - view audit logs with filters - [x] `audit-purge` command - purge old audit logs - [x] `cve-allow` command - manage system CVE allowlist - [x] `scan-all` command - trigger system-wide vulnerability scan ## Dependencies ``` Phase 1 (done) ──> Phase 2 ─┬─> Phase 3 ├─> Phase 4 ──> Phase 5 └─> Phase 6 (done) ``` Phase 3, 4, and 6 can proceed in parallel after Phase 2.