@staff0rd/assist 0.134.1 → 0.135.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 +6 -0
- package/claude/commands/draft.md +71 -0
- package/claude/settings.json +5 -0
- package/dist/index.js +784 -507
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@ After installation, the `assist` command will be available globally. You can als
|
|
|
36
36
|
- `/comment` - Add pending review comments to the current PR
|
|
37
37
|
- `/commit` - Commit only relevant files from the session
|
|
38
38
|
- `/devlog` - Generate devlog entry for the next unversioned day
|
|
39
|
+
- `/draft` - Draft a new backlog item with LLM-assisted questioning
|
|
39
40
|
- `/next-backlog-item` - Pick and implement the next backlog item
|
|
40
41
|
- `/pr` - Raise a PR with a concise description
|
|
41
42
|
- `/refactor` - Run refactoring checks for code quality
|
|
@@ -78,9 +79,14 @@ After installation, the `assist` command will be available globally. You can als
|
|
|
78
79
|
- `assist backlog init` - Create an empty assist.backlog.yml
|
|
79
80
|
- `assist backlog list [--status <type>] [-v]` - List all backlog items with status icons
|
|
80
81
|
- `assist backlog add` - Add a new backlog item interactively (prompts for type: story/bug)
|
|
82
|
+
- `assist backlog add --json` - Add a backlog item from JSON on stdin (used by `/draft`)
|
|
83
|
+
- `assist backlog next` - Pick and run the next backlog item, or open `/draft` if none remain
|
|
81
84
|
- `assist backlog start <id>` - Set a backlog item to in-progress
|
|
82
85
|
- `assist backlog done <id>` - Set a backlog item to done
|
|
83
86
|
- `assist backlog delete <id>` - Delete a backlog item
|
|
87
|
+
- `assist backlog plan <id>` - Display the phased plan for a backlog item
|
|
88
|
+
- `assist backlog phase-done <id> <phase>` - Signal that a plan phase is complete (used by orchestrator)
|
|
89
|
+
- `assist backlog run <id>` - Run a backlog item's plan phase-by-phase with Claude
|
|
84
90
|
- `assist backlog web [-p, --port <number>]` - Start a web view of the backlog (default port 3000)
|
|
85
91
|
- `assist roam auth` - Authenticate with Roam via OAuth (opens browser, saves tokens to ~/.assist.yml)
|
|
86
92
|
- `assist roam show-claude-code-icon` - Forward Claude Code hook activity to Roam local API
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Draft a new backlog item with LLM-assisted questioning
|
|
3
|
+
allowed_args: "[rough description of what you want to build]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are helping the user create a well-structured backlog item with a phased implementation plan.
|
|
7
|
+
|
|
8
|
+
## Step 1: Understand the idea
|
|
9
|
+
|
|
10
|
+
If the user provided a description via $ARGUMENTS, use that as a starting point. Otherwise, ask what they want to build.
|
|
11
|
+
|
|
12
|
+
Read relevant parts of the codebase to understand the current architecture and patterns.
|
|
13
|
+
|
|
14
|
+
## Step 2: Ask clarifying questions
|
|
15
|
+
|
|
16
|
+
Ask 2-4 targeted questions conversationally to flesh out the idea. Focus on:
|
|
17
|
+
|
|
18
|
+
- **Scope**: What exactly should this include? What is out of scope?
|
|
19
|
+
- **Done criteria**: What does "done" look like? How will we know it works?
|
|
20
|
+
- **Constraints**: Are there existing patterns, APIs, or conventions to follow?
|
|
21
|
+
- **Edge cases**: What happens when things go wrong?
|
|
22
|
+
|
|
23
|
+
Ask one question at a time. Wait for the user's response before asking the next.
|
|
24
|
+
|
|
25
|
+
## Step 3: Propose the item
|
|
26
|
+
|
|
27
|
+
Once you have enough context, propose a complete backlog item. Show it to the user in a readable format:
|
|
28
|
+
|
|
29
|
+
**Name:** (concise title)
|
|
30
|
+
**Type:** story or bug
|
|
31
|
+
**Description:** 1-3 sentences
|
|
32
|
+
**Acceptance Criteria:**
|
|
33
|
+
- (specific, testable criteria)
|
|
34
|
+
|
|
35
|
+
**Plan:**
|
|
36
|
+
- Phase 1: (name) — tasks...
|
|
37
|
+
- Phase 2: (name) — tasks...
|
|
38
|
+
|
|
39
|
+
Keep phases small (2-4 tasks each). A typical item should have 2-3 phases.
|
|
40
|
+
|
|
41
|
+
## Step 4: Iterate
|
|
42
|
+
|
|
43
|
+
Ask the user if they want to change anything. Iterate until they confirm.
|
|
44
|
+
|
|
45
|
+
## Step 5: Save
|
|
46
|
+
|
|
47
|
+
Once confirmed, pipe the JSON to the CLI. The JSON must match this shape:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"name": "...",
|
|
52
|
+
"type": "story",
|
|
53
|
+
"description": "...",
|
|
54
|
+
"acceptanceCriteria": ["...", "..."],
|
|
55
|
+
"plan": [
|
|
56
|
+
{
|
|
57
|
+
"name": "Phase name",
|
|
58
|
+
"tasks": [
|
|
59
|
+
{ "task": "Do something", "verify": "optional verification step" }
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Run:
|
|
67
|
+
```
|
|
68
|
+
echo '<the confirmed json>' | assist backlog add --json 2>&1
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Then show the user the item was created and suggest they can run `assist backlog run <id>` to start implementation.
|
package/claude/settings.json
CHANGED
|
@@ -33,6 +33,9 @@
|
|
|
33
33
|
"Bash(assist backlog list:*)",
|
|
34
34
|
"Bash(assist backlog start:*)",
|
|
35
35
|
"Bash(assist backlog done:*)",
|
|
36
|
+
"Bash(assist backlog plan:*)",
|
|
37
|
+
"Bash(assist backlog phase-done:*)",
|
|
38
|
+
"Bash(assist backlog add:*)",
|
|
36
39
|
"Bash(assist transcript summarise:*)",
|
|
37
40
|
"Bash(assist complexity:*)",
|
|
38
41
|
"Bash(assist transcript format:*)",
|
|
@@ -86,6 +89,8 @@
|
|
|
86
89
|
"SlashCommand(/inspect)",
|
|
87
90
|
"Skill(screenshot)",
|
|
88
91
|
"SlashCommand(/screenshot)",
|
|
92
|
+
"Skill(draft)",
|
|
93
|
+
"SlashCommand(/draft)",
|
|
89
94
|
"WebFetch(domain:staffordwilliams.com)"
|
|
90
95
|
],
|
|
91
96
|
"deny": ["Bash(git commit:*)", "Bash(npm run:*)", "Bash(npx assist:*)"]
|