From ebad3cd0d3da2919e5851e97c4f86c5617d817f1 Mon Sep 17 00:00:00 2001 From: zhi Date: Sat, 21 Mar 2026 16:06:41 +0000 Subject: [PATCH] Refresh CLI status documentation --- .gitignore | 1 + README.md | 45 +++++++++++++++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 7f840a2..5fbc933 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ bin/ +hf dist/ coverage.out *.test diff --git a/README.md b/README.md index 0d82ddb..868b346 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,9 @@ go build -ldflags "-X git.hangman-lab.top/zhi/HarborForge.Cli/internal/commands. cmd/hf/ CLI entrypoint internal/ client/ HTTP client wrapper for HarborForge API - commands/ Command implementations (version, health, config, auth helpers) + commands/ Command implementations config/ Config file resolution and management (.hf-config.json) - help/ Help and help-brief renderer + help/ Help and help-brief renderer with detailed leaf help mode/ Runtime mode detection (padded-cell vs manual) output/ Output formatting (human-readable, JSON, tables) passmgr/ pass_mgr integration for secret resolution @@ -60,19 +60,40 @@ internal/ ## Current Status -Implemented: +### Implemented + +**Foundation:** - Go module and binary entrypoint - Config file resolution relative to binary directory - Runtime mode detection (`pass_mgr` present/absent) -- Top-level and group/leaf help rendering system (`--help` / `--help-brief` / `not permitted` stubs) -- Detailed leaf help text for implemented commands, with padded-cell/manual auth flag differences -- Permission-aware command visibility via `/auth/me/permissions` when a token is available -- HTTP client wrapper +- HTTP client wrapper (GET/POST/PUT/PATCH/DELETE) - Output formatting (human-readable + `--json`) -- `hf version`, `hf health`, `hf config` - Auth token resolution (padded-cell + manual) -- Backend-aligned role/permission commands, including role-name lookup and permission-name↔id translation against current API routes -Planned: -- User, role, project, task, milestone, meeting, support, propose, monitor commands -- Rich per-command help/usage text beyond the current stub renderer +**Help system:** +- Top-level and group/leaf help rendering (`--help` / `--help-brief`) +- Permission-aware command visibility via `/auth/me/permissions` +- Detailed leaf help text for all commands, with padded-cell/manual auth flag differences +- `(not permitted)` rendering for unauthorized commands + +**Core commands:** +- `hf version`, `hf health`, `hf config` (show / `--url` / `--acc-mgr-token`) + +**Resource commands (all implemented with list/get/create/update/delete + special actions):** +- `hf user` — create, list, get, update, activate, deactivate, delete +- `hf role` — list, get, create, update, delete, set-permissions, add-permissions, remove-permissions +- `hf permission` — list +- `hf project` — list, get, create, update, delete, members, add-member, remove-member +- `hf milestone` — list, get, create, update, delete, progress +- `hf task` — list, get, create, update, transition, take, delete, search +- `hf meeting` — list, get, create, update, attend, delete +- `hf support` — list, get, create, update, take, transition, delete +- `hf propose` — list, get, create, update, accept, reject, reopen +- `hf monitor` — overview, server (list/get/create/delete), api-key (generate/revoke) + +### Pending + +- Backend code-based endpoint support (some commands still use id-based API routes) +- Comment and worklog commands +- Cross-platform binary packaging / release pipeline +- Integration tests