@webappwiz/cli 0.0.6 → 0.0.7
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/{index-k6gswc4n.js → index-6km6e845.js} +56 -35
- package/index.js +1 -1
- package/package.json +3 -3
- package/webappwiz.js +1 -1
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
table
|
|
3
3
|
} from "./index-jbrs6gqt.js";
|
|
4
4
|
// package.json
|
|
5
|
-
var version = "0.0.
|
|
5
|
+
var version = "0.0.7";
|
|
6
6
|
|
|
7
7
|
// skills/add.ts
|
|
8
8
|
import { ConsoleLogger } from "webappwiz/log";
|
|
@@ -15,7 +15,7 @@ import { dirname } from "node:path";
|
|
|
15
15
|
var arbor_skill_default = `---
|
|
16
16
|
name: arbor
|
|
17
17
|
description: Use the @webappwiz/arbor CLI to land your work on trunk, or a base branch given as an argument, from an isolated git worktree without pull requests. Read this before making any code change in an arbor repository, since it decides where the work happens, and whenever you need to add, claim, merge, remove, list, show, locate, or escalate a task.
|
|
18
|
-
version: 0.0.
|
|
18
|
+
version: 0.0.7
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
# Using arbor
|
|
@@ -41,9 +41,12 @@ its changed files:
|
|
|
41
41
|
\`git -C "$(arbor path <task>)" diff --name-only main...task/<task>\`
|
|
42
42
|
(\`arbor show <task>\` for its plan; neither takes its lease).
|
|
43
43
|
|
|
44
|
-
If nothing overlaps, carry on. If something does,
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
If nothing overlaps, carry on. If something does, do not pick a side
|
|
45
|
+
yourself: \`arbor add\` your task if you have not already, record the overlap
|
|
46
|
+
in \`ARBOR.md\` (which task, which files), then \`arbor escalate\` and ask the
|
|
47
|
+
user whether to wait for the other task, work alongside it and accept the
|
|
48
|
+
rebase, or drop yours. If they choose to wait, re-check periodically. A
|
|
49
|
+
status is only true for the moment you read it,
|
|
47
50
|
so re-run \`arbor ls\` every time you are about to repeat one. Act on what it
|
|
48
51
|
becomes:
|
|
49
52
|
|
|
@@ -76,27 +79,63 @@ command runs): when waiting, watch a task's status, never its lease.
|
|
|
76
79
|
|
|
77
80
|
A successful merge deletes the worktree, and your working directory with it:
|
|
78
81
|
\`cd\` to the main tree (merge prints its path) before running anything else.
|
|
79
|
-
Then report it:
|
|
80
82
|
|
|
81
|
-
|
|
83
|
+
## Escalation
|
|
84
|
+
|
|
85
|
+
Merge only work you verified yourself. Escalate instead when verification
|
|
86
|
+
needs a person: external services, destructive migrations, anything tests
|
|
87
|
+
cannot confirm. And if the user asked to see the work before it lands,
|
|
88
|
+
escalate regardless.
|
|
89
|
+
|
|
90
|
+
1. \`arbor escalate <reason>\`.
|
|
91
|
+
2. Under \`## Blocked\` in \`ARBOR.md\`, state what needs verifying, ending in a
|
|
92
|
+
question a yes/no or a sentence can answer.
|
|
93
|
+
3. Leave something the human can look at and print its **absolute path**
|
|
94
|
+
(start from \`arbor path <task>\`). For anything visual or UX, that means a
|
|
95
|
+
screenshot; if producing one is expensive or has side effects, ask before
|
|
96
|
+
starting and say what it will cost.
|
|
97
|
+
|
|
98
|
+
If you claim a tree whose \`## Blocked\` question is unanswered, do not resume
|
|
99
|
+
or merge: ask the user and wait for the answer.
|
|
100
|
+
|
|
101
|
+
## Reporting
|
|
102
|
+
|
|
103
|
+
However a task ends, say so in one block; only a merge names a base:
|
|
104
|
+
|
|
105
|
+
\`\`\`markdown
|
|
82
106
|
### ✅ Merged \`<task>\` onto \`<base>\`
|
|
83
107
|
|
|
84
|
-
One sentence blending what the task set out to do with
|
|
85
|
-
|
|
108
|
+
One sentence blending what the task set out to do with where it ended up.
|
|
109
|
+
\`\`\`
|
|
110
|
+
|
|
111
|
+
\`\`\`markdown
|
|
112
|
+
### ⚠️ Escalated \`<task>\`
|
|
86
113
|
|
|
87
|
-
|
|
88
|
-
|
|
114
|
+
One sentence blending what the task set out to do with what it now waits on.
|
|
115
|
+
\`\`\`
|
|
116
|
+
|
|
117
|
+
\`\`\`markdown
|
|
118
|
+
### 🛑 Removed \`<task>\`
|
|
119
|
+
|
|
120
|
+
One sentence blending what the task set out to do with why you \`arbor rm\`ed
|
|
121
|
+
it instead.
|
|
122
|
+
\`\`\`
|
|
123
|
+
|
|
124
|
+
Anything else worth saying goes after this block, not instead of it.
|
|
89
125
|
|
|
90
126
|
## ARBOR.md
|
|
91
127
|
|
|
92
128
|
Your session can die at any moment; \`ARBOR.md\` is what lets a stranger
|
|
93
129
|
\`arbor claim\` the task and continue. Fill in \`## Goal\` (one or two lines on
|
|
94
|
-
what done means)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
130
|
+
what done means), list the file paths you plan to touch under \`## Files\`,
|
|
131
|
+
and list every step you can foresee under \`## Next\` as \`- [ ]\` items,
|
|
132
|
+
roughly one commit each. Move items to \`## Done\` as you finish them: those
|
|
133
|
+
checkboxes are the only progress the task reports. Decisions, dead ends and
|
|
134
|
+
how to verify go under \`## Notes\`. Keep the whole file current throughout
|
|
135
|
+
implementation, not at the end: after each step lands, check it off, and
|
|
136
|
+
when the set of files you are touching changes, change \`## Files\` to match.
|
|
137
|
+
A stale plan is worse than none, and a session that dies mid-task reports
|
|
138
|
+
nothing.
|
|
100
139
|
|
|
101
140
|
\`arbor show <task>\` prints the file and every way it departs from the
|
|
102
141
|
expected shape; run it on your own task after writing the file. \`add\` excludes
|
|
@@ -110,24 +149,6 @@ Plain, human-style commit messages with **no attribution**: no
|
|
|
110
149
|
\`--author\` overrides. Commit as often as it helps you; a task usually takes
|
|
111
150
|
fewer than 5 commits, and wanting many more means the task wants splitting,
|
|
112
151
|
not squashing.
|
|
113
|
-
|
|
114
|
-
## Escalation
|
|
115
|
-
|
|
116
|
-
Merge only work you verified yourself. Escalate instead when verification
|
|
117
|
-
needs a person: external services, destructive migrations, anything tests
|
|
118
|
-
cannot confirm. And if the user asked to see the work before it lands,
|
|
119
|
-
escalate regardless.
|
|
120
|
-
|
|
121
|
-
1. \`arbor escalate <reason>\`.
|
|
122
|
-
2. Under \`## Blocked\` in \`ARBOR.md\`, state what needs verifying, ending in a
|
|
123
|
-
question a yes/no or a sentence can answer.
|
|
124
|
-
3. Leave something the human can look at and print its **absolute path**
|
|
125
|
-
(start from \`arbor path <task>\`). For anything visual or UX, that means a
|
|
126
|
-
screenshot; if producing one is expensive or has side effects, ask before
|
|
127
|
-
starting and say what it will cost.
|
|
128
|
-
|
|
129
|
-
If you claim a tree whose \`## Blocked\` question is unanswered, do not resume
|
|
130
|
-
or merge: ask the user and wait for the answer.
|
|
131
152
|
`;
|
|
132
153
|
|
|
133
154
|
// skills/skill.ts
|
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webappwiz/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "The webappwiz CLI: judge code against rules, sign off a diff, and manage agent skills",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Jared Johnson",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@webappwiz/rules": "^0.0.
|
|
21
|
-
"webappwiz": "^0.0.
|
|
20
|
+
"@webappwiz/rules": "^0.0.7",
|
|
21
|
+
"webappwiz": "^0.0.7"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"typescript": "^7"
|