XiaoSeS
9443731dc4
fix(cli): stabilize namespace sync fingerprints
...
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2026-08-29 16:39:27 +08:00
mrLi
84feb38931
feat(cli): add namespace workspace sync
...
Signed-off-by: mrLi <50289372+15258725278@users.noreply.github.com>
2026-08-18 18:24:11 +08:00
dongmucat
d4d1f65705
fix(cli): scope local remove by namespace ( #606 )
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-28 16:58:32 +08:00
betterlmy
f519b08a73
fix(cli): preflight canonical install targets
...
Signed-off-by: betterlmy <betterlmy@icloud.com>
2026-07-17 17:20:22 +08:00
dongmucat
e50140272b
fix(security): close review hardening gaps
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-16 17:48:15 +08:00
dongmucat
40d7de8462
fix(security): harden review findings
...
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-12 14:40:30 +08:00
dongmucat
a14d89d8c9
refactor(cli): improve doctor command semantics and transparency
...
变更摘要:
- doctor 命令重构:从重建改为扫描并合并语义,保留扫描范围外的条目
- 修复字段命名:itemsRestored → itemsScanned/itemsPreserved,语义更清晰
- 改进用户提示:输出区分扫描到的和保留的条目,帮助文档补充保留行为说明
- 补充代码注释:说明同 slug 不同 installDir 允许并存的设计意图
- 统一错误码:download/handleJsonResponse 的非 2xx 响应统一使用 EXIT.generic
- 新增测试覆盖:合并场景、刷新场景、冲突不删除无关条目等边界情况
关键文件:
- cli/src/services/doctor-service.ts
- cli/src/commands/doctor.ts
- cli/src/commands/help.ts
- cli/test/unit/services/doctor-service.test.ts
- cli/test/integration/doctor-command.test.ts
2026-05-09 11:30:36 +08:00
dongmucat
e249db35a3
test(cli): add comprehensive integration tests and fix update command bugs
...
- Add integration tests for doctor, install, list, publish, remove, whoami commands
- Expand fake-registry with resolve/delete state capture for real assertions
- Fix update command: use correct package name @astron-team/skillhub from constants
- Refactor runUpdateCommand to accept string[] instead of fragile string splitting
- Add dependency injection to updateCommand for testable unit tests without global mocks
- Replace package.json import with codegen (scripts/generate-pkg-info.ts) to avoid
leaking devDependencies into the build artifact
- Fix startNetworkFailureServer TOCTOU race by keeping listener alive
- Add TODO markers for known help command bugs (--json not forwarded, unknown topic crash)
- Extend update integration test timeout for real npm registry checks
2026-05-07 14:46:40 +08:00
dongmucat
6916539d77
fix(cli): harden doctor scan and inventory writes
...
Protect doctor metadata scanning from symlinked agent, skill, and .skillhub directories, and make inventory mutations use locked atomic writes with stale lock recovery.
2026-04-29 15:37:05 +08:00
dongmucat
351dddc912
feat(cli): add SkillHub CLI v1 with full command suite
...
Implement complete CLI tool for SkillHub with 12 commands, 7 backend API endpoints, and comprehensive documentation.
CLI Commands:
- help, version: Basic information
- login, logout, whoami: Authentication management
- search: Discover published skills
- install: Install skills to agent directories (14 Tier 1 agents supported)
- list, remove, doctor: Local skill management
- publish: Publish skill packages
- update: Self-update mechanism
Backend API:
- Add /api/cli/v1 endpoints for auth, search, resolve, download, delete, publish
- Implement CliAuthController and CliSkillController
- Add security policies for CLI routes
- Full test coverage (19 backend tests)
CLI Implementation:
- TypeScript with strict mode, Bun runtime
- Pure JS zip handling (fflate) for cross-platform compatibility
- 15 agent profiles (14 Tier 1 + generic fallback)
- Secure token storage (0600 permissions)
- Path safety validation for remove operations
- Comprehensive error handling (404/403/network distinction)
- 41 unit and integration tests
Documentation:
- CLI user guide (Chinese and English)
- README updates with quick start
- GitHub Actions workflow for cross-platform CI
Quality:
- lint: 0 errors
- typecheck: pass
- test: 41/41 pass
- build: 0.30 MB (target=node for npm/npx compatibility)
2026-04-29 15:37:04 +08:00