@simonfestl/husky-cli 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +230 -56
- package/dist/commands/changelog.d.ts +2 -0
- package/dist/commands/changelog.js +401 -0
- package/dist/commands/completion.d.ts +2 -0
- package/dist/commands/completion.js +400 -0
- package/dist/commands/config.js +95 -1
- package/dist/commands/department.d.ts +2 -0
- package/dist/commands/department.js +240 -0
- package/dist/commands/explain.d.ts +2 -0
- package/dist/commands/explain.js +411 -0
- package/dist/commands/idea.d.ts +2 -0
- package/dist/commands/idea.js +340 -0
- package/dist/commands/interactive.d.ts +1 -0
- package/dist/commands/interactive.js +1287 -0
- package/dist/commands/jules.d.ts +2 -0
- package/dist/commands/jules.js +593 -0
- package/dist/commands/process.d.ts +2 -0
- package/dist/commands/process.js +289 -0
- package/dist/commands/project.d.ts +2 -0
- package/dist/commands/project.js +473 -0
- package/dist/commands/roadmap.js +318 -0
- package/dist/commands/settings.d.ts +2 -0
- package/dist/commands/settings.js +153 -0
- package/dist/commands/strategy.d.ts +2 -0
- package/dist/commands/strategy.js +706 -0
- package/dist/commands/task.js +244 -1
- package/dist/commands/vm-config.d.ts +2 -0
- package/dist/commands/vm-config.js +318 -0
- package/dist/commands/vm.d.ts +2 -0
- package/dist/commands/vm.js +621 -0
- package/dist/commands/workflow.d.ts +2 -0
- package/dist/commands/workflow.js +545 -0
- package/dist/index.js +35 -2
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -2,87 +2,240 @@
|
|
|
2
2
|
|
|
3
3
|
CLI for Huskyv0 Task Orchestration with Claude Agent SDK integration.
|
|
4
4
|
|
|
5
|
+
**Part of the [huskyv0 monorepo](https://github.com/simon-sfxecom/huskyv0)**
|
|
6
|
+
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
|
-
# From
|
|
9
|
-
npm install -g
|
|
10
|
+
# From npm (recommended)
|
|
11
|
+
npm install -g @simonfestl/husky-cli
|
|
10
12
|
|
|
11
|
-
# Local development
|
|
13
|
+
# Local development (from monorepo root)
|
|
12
14
|
cd packages/cli
|
|
13
15
|
npm install
|
|
14
16
|
npm run build
|
|
15
17
|
npm link
|
|
16
18
|
```
|
|
17
19
|
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Configure API
|
|
24
|
+
husky config set api-url https://your-husky-dashboard.run.app
|
|
25
|
+
husky config set api-key your-api-key
|
|
26
|
+
|
|
27
|
+
# Test connection
|
|
28
|
+
husky config test
|
|
29
|
+
|
|
30
|
+
# Interactive mode
|
|
31
|
+
husky
|
|
32
|
+
```
|
|
33
|
+
|
|
18
34
|
## Commands
|
|
19
35
|
|
|
20
36
|
### Task Management
|
|
21
37
|
|
|
22
38
|
```bash
|
|
23
|
-
# List tasks
|
|
24
|
-
husky task list
|
|
25
|
-
husky task list --
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
husky task create "Fix login bug" --priority high --project abc123
|
|
29
|
-
|
|
30
|
-
# Start/complete tasks
|
|
39
|
+
husky task list # List all tasks
|
|
40
|
+
husky task list --status in_progress # Filter by status
|
|
41
|
+
husky task list --json # JSON output
|
|
42
|
+
husky task create "Fix login bug" --priority high
|
|
43
|
+
husky task get <task-id>
|
|
31
44
|
husky task start <task-id>
|
|
32
45
|
husky task done <task-id> --pr https://github.com/...
|
|
46
|
+
husky task update <task-id> --status done
|
|
47
|
+
husky task delete <task-id>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Project Management
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
husky project list
|
|
54
|
+
husky project create "New Project" --description "..."
|
|
55
|
+
husky project get <project-id>
|
|
56
|
+
husky project update <project-id> --status active
|
|
57
|
+
husky project delete <project-id>
|
|
58
|
+
husky project add-knowledge <project-id> --content "..."
|
|
59
|
+
husky project list-knowledge <project-id>
|
|
60
|
+
husky project delete-knowledge <project-id> <knowledge-id>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Workflow Management
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
husky workflow list
|
|
67
|
+
husky workflow create "Onboarding" --department <id>
|
|
68
|
+
husky workflow get <workflow-id>
|
|
69
|
+
husky workflow update <workflow-id> --name "Updated"
|
|
70
|
+
husky workflow delete <workflow-id>
|
|
71
|
+
husky workflow add-step <workflow-id> --name "Step 1"
|
|
72
|
+
husky workflow update-step <workflow-id> <step-id> --name "Updated"
|
|
73
|
+
husky workflow delete-step <workflow-id> <step-id>
|
|
74
|
+
husky workflow generate-steps <workflow-id> # AI-generated
|
|
75
|
+
husky workflow generate-mermaid <workflow-id> # Mermaid diagram
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Idea Management
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
husky idea list
|
|
82
|
+
husky idea create "New feature idea" --category feature
|
|
83
|
+
husky idea get <idea-id>
|
|
84
|
+
husky idea update <idea-id> --status approved
|
|
85
|
+
husky idea delete <idea-id>
|
|
86
|
+
husky idea convert-to-task <idea-id>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Department Management
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
husky department list
|
|
93
|
+
husky department create "Engineering"
|
|
94
|
+
husky department get <department-id>
|
|
95
|
+
husky department update <department-id> --name "Dev"
|
|
96
|
+
husky department delete <department-id>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### VM Session Management
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
husky vm list
|
|
103
|
+
husky vm create --prompt "Fix bugs" --agent claude
|
|
104
|
+
husky vm get <session-id>
|
|
105
|
+
husky vm start <session-id>
|
|
106
|
+
husky vm stop <session-id>
|
|
107
|
+
husky vm logs <session-id>
|
|
108
|
+
husky vm approve <session-id>
|
|
109
|
+
husky vm reject <session-id> --reason "..."
|
|
110
|
+
husky vm update <session-id> --status approved
|
|
111
|
+
husky vm delete <session-id>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Jules Session Management
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
husky jules list
|
|
118
|
+
husky jules create --task-id <id> --prompt "..."
|
|
119
|
+
husky jules get <session-id>
|
|
120
|
+
husky jules message <session-id> --content "..."
|
|
121
|
+
husky jules approve <session-id>
|
|
122
|
+
husky jules activities <session-id>
|
|
123
|
+
husky jules update <session-id> --status completed
|
|
124
|
+
husky jules delete <session-id>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Business Strategy
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
husky strategy show
|
|
131
|
+
husky strategy set-vision "Our vision..."
|
|
132
|
+
husky strategy set-mission "Our mission..."
|
|
133
|
+
husky strategy add-value --title "Innovation" --description "..."
|
|
134
|
+
husky strategy update-value <id> --title "Updated"
|
|
135
|
+
husky strategy delete-value <id>
|
|
136
|
+
husky strategy add-goal --title "Q1 Goal" --target "..."
|
|
137
|
+
husky strategy update-goal <id> --status completed
|
|
138
|
+
husky strategy delete-goal <id>
|
|
139
|
+
husky strategy add-persona --name "Developer" --description "..."
|
|
140
|
+
husky strategy update-persona <id> --name "Updated"
|
|
141
|
+
husky strategy delete-persona <id>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Process Management
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
husky process list
|
|
148
|
+
husky process create "Release Process" --department <id>
|
|
149
|
+
husky process get <process-id>
|
|
150
|
+
husky process update <process-id> --name "Updated"
|
|
151
|
+
husky process delete <process-id>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Roadmap Management
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
husky roadmap list
|
|
158
|
+
husky roadmap get <roadmap-id>
|
|
159
|
+
husky roadmap create "Q1 2025" --description "..."
|
|
160
|
+
husky roadmap update <roadmap-id> --name "Updated"
|
|
161
|
+
husky roadmap delete <roadmap-id>
|
|
162
|
+
husky roadmap add-phase <roadmap-id> --name "Phase 1"
|
|
163
|
+
husky roadmap add-feature <roadmap-id> --phase <id> --title "Feature"
|
|
164
|
+
husky roadmap list-features <roadmap-id>
|
|
165
|
+
husky roadmap update-feature <roadmap-id> <feature-id> --status done
|
|
166
|
+
husky roadmap delete-feature <roadmap-id> <feature-id>
|
|
167
|
+
husky roadmap convert-feature <roadmap-id> <feature-id> # To task
|
|
168
|
+
husky roadmap generate # AI-generated
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Changelog Management
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
husky changelog generate --from <tag> --to HEAD
|
|
175
|
+
husky changelog list
|
|
176
|
+
husky changelog show <changelog-id>
|
|
177
|
+
husky changelog publish <changelog-id>
|
|
178
|
+
husky changelog delete <changelog-id>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### VM Config Management
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
husky vm-config list
|
|
185
|
+
husky vm-config create --machine-type e2-medium --disk-size 50
|
|
186
|
+
husky vm-config update <config-id> --machine-type e2-standard-2
|
|
187
|
+
husky vm-config delete <config-id>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Settings
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
husky settings get <key>
|
|
194
|
+
husky settings set <key> <value>
|
|
33
195
|
```
|
|
34
196
|
|
|
35
197
|
### Configuration
|
|
36
198
|
|
|
37
199
|
```bash
|
|
38
|
-
# Set API URL and key
|
|
39
200
|
husky config set api-url https://your-husky-dashboard.run.app
|
|
40
201
|
husky config set api-key your-api-key
|
|
41
|
-
|
|
42
|
-
# View config
|
|
202
|
+
husky config get api-url
|
|
43
203
|
husky config list
|
|
204
|
+
husky config test
|
|
44
205
|
```
|
|
45
206
|
|
|
46
|
-
###
|
|
207
|
+
### Help & Documentation
|
|
47
208
|
|
|
48
209
|
```bash
|
|
49
|
-
#
|
|
50
|
-
husky
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
--api-key=<api-key> \
|
|
55
|
-
--anthropic-key=<anthropic-key> \
|
|
56
|
-
--workdir=/workspace
|
|
210
|
+
husky explain task # Explain task commands
|
|
211
|
+
husky explain workflow # Explain workflow commands
|
|
212
|
+
husky explain all # Full documentation
|
|
213
|
+
husky --help
|
|
214
|
+
```
|
|
57
215
|
|
|
58
|
-
|
|
59
|
-
husky agent wait-approval \
|
|
60
|
-
--session-id=<session-id> \
|
|
61
|
-
--api-url=https://husky.example.com \
|
|
62
|
-
--api-key=<api-key> \
|
|
63
|
-
--timeout=1800
|
|
216
|
+
### Shell Completion
|
|
64
217
|
|
|
65
|
-
|
|
66
|
-
husky
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
--api-key=<api-key> \
|
|
70
|
-
--anthropic-key=<anthropic-key> \
|
|
71
|
-
--github-token=<github-token>
|
|
218
|
+
```bash
|
|
219
|
+
husky completion bash >> ~/.bashrc
|
|
220
|
+
husky completion zsh >> ~/.zshrc
|
|
221
|
+
husky completion fish > ~/.config/fish/completions/husky.fish
|
|
72
222
|
```
|
|
73
223
|
|
|
74
224
|
## Environment Variables
|
|
75
225
|
|
|
76
226
|
| Variable | Description |
|
|
77
227
|
|----------|-------------|
|
|
78
|
-
| `ANTHROPIC_API_KEY` | Anthropic API key for Claude |
|
|
79
228
|
| `HUSKY_API_URL` | Husky Dashboard URL |
|
|
80
229
|
| `HUSKY_API_KEY` | Husky API key |
|
|
230
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key for Claude |
|
|
81
231
|
| `GITHUB_TOKEN` | GitHub token for commits (optional) |
|
|
82
232
|
|
|
83
233
|
## Development
|
|
84
234
|
|
|
85
235
|
```bash
|
|
236
|
+
# From monorepo root
|
|
237
|
+
cd packages/cli
|
|
238
|
+
|
|
86
239
|
# Install dependencies
|
|
87
240
|
npm install
|
|
88
241
|
|
|
@@ -91,42 +244,63 @@ npm run build
|
|
|
91
244
|
|
|
92
245
|
# Watch mode
|
|
93
246
|
npm run dev
|
|
247
|
+
|
|
248
|
+
# Link globally for testing
|
|
249
|
+
npm link
|
|
94
250
|
```
|
|
95
251
|
|
|
96
252
|
## Publishing / Release
|
|
97
253
|
|
|
98
|
-
|
|
254
|
+
The CLI is automatically published to npm via GitHub Actions using OIDC Trusted Publishing.
|
|
99
255
|
|
|
100
|
-
###
|
|
256
|
+
### Publishing a New Version
|
|
101
257
|
|
|
102
|
-
1. **
|
|
258
|
+
1. **Update version in `package.json`:**
|
|
103
259
|
```bash
|
|
104
|
-
|
|
260
|
+
cd packages/cli
|
|
261
|
+
npm version patch # or minor/major
|
|
105
262
|
```
|
|
106
263
|
|
|
107
|
-
2. **
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
|
|
264
|
+
2. **Commit and push:**
|
|
265
|
+
```bash
|
|
266
|
+
git add .
|
|
267
|
+
git commit -m "chore(cli): bump version to x.x.x"
|
|
268
|
+
git push origin main
|
|
269
|
+
```
|
|
112
270
|
|
|
113
|
-
3. **
|
|
114
|
-
-
|
|
115
|
-
-
|
|
271
|
+
3. **Automatic publishing:**
|
|
272
|
+
- Changes in `packages/cli/**` trigger sync to `simon-sfxecom/husky-cli` (public repo)
|
|
273
|
+
- Public repo publishes to npm with OIDC provenance
|
|
274
|
+
- No `NPM_TOKEN` secret required (OIDC Trusted Publishing)
|
|
116
275
|
|
|
117
|
-
###
|
|
276
|
+
### Manual Trigger
|
|
118
277
|
|
|
119
|
-
|
|
120
|
-
- GitHub > Actions > "
|
|
278
|
+
If needed, the workflow can be triggered manually:
|
|
279
|
+
- GitHub > Actions > "Sync CLI to Public Repo" > "Run workflow"
|
|
121
280
|
|
|
122
|
-
###
|
|
281
|
+
### npm Trusted Publishing Setup
|
|
123
282
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
283
|
+
The package uses OIDC-based publishing. Configuration on npmjs.com:
|
|
284
|
+
- Package Settings > Publishing access > Configure trusted publishing
|
|
285
|
+
- Repository: `simon-sfxecom/husky-cli`
|
|
286
|
+
- Workflow: `publish.yml`
|
|
127
287
|
|
|
128
288
|
## Changelog
|
|
129
289
|
|
|
290
|
+
### v0.5.0 (2026-01-06)
|
|
291
|
+
- Full Dashboard feature parity (69 new commands)
|
|
292
|
+
- Added: project, workflow, idea, department, vm, jules, process, strategy, settings, vm-config commands
|
|
293
|
+
- Added: Interactive TUI mode (`husky` without args)
|
|
294
|
+
- Added: Shell completion (bash/zsh/fish)
|
|
295
|
+
- Added: `--json` flag for all commands
|
|
296
|
+
- Monorepo migration from separate husky-cli repo
|
|
297
|
+
|
|
298
|
+
### v0.3.0 (2026-01-05)
|
|
299
|
+
- Added roadmap commands (list, get, create, generate, phases, features)
|
|
300
|
+
- Added changelog commands (generate, list, show, publish)
|
|
301
|
+
- Added explain command for documentation
|
|
302
|
+
- Added config test command
|
|
303
|
+
|
|
130
304
|
### v0.2.0 (2025-01-05)
|
|
131
305
|
- Added `agent` commands (plan, execute, wait-approval)
|
|
132
306
|
- Added StreamClient with batching for efficient API calls
|