@webappwiz/cli 0.0.5 → 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.
@@ -2,7 +2,7 @@ import {
2
2
  table
3
3
  } from "./index-jbrs6gqt.js";
4
4
  // package.json
5
- var version = "0.0.5";
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.5
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, wait for it to land rather
45
- than buying a rebase conflict: say one line about what you are waiting on,
46
- then re-check periodically. A status is only true for the moment you read it,
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
- \`\`\`\`markdown
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 what actually changed.
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
- for a merge, for a task you \`arbor rm\`ed instead. Anything else worth
88
- saying goes after this block, not instead of it.
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) and list every step you can foresee under \`## Next\` as
95
- \`- [ ]\` items, roughly one commit each. Move items to \`## Done\` as you finish
96
- them: those checkboxes are the only progress the task reports. Decisions,
97
- dead ends and how to verify go under \`## Notes\`. Update it as each step
98
- lands, during implementation rather than at the end; a stale plan is worse
99
- than none, and a session that dies mid-task reports nothing.
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
@@ -6,7 +6,7 @@ import {
6
6
  update,
7
7
  update1 as update2,
8
8
  version
9
- } from "./index-0kf75kja.js";
9
+ } from "./index-6km6e845.js";
10
10
  import {
11
11
  JUDGE_RULES,
12
12
  SIGNOFF_RULES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webappwiz/cli",
3
- "version": "0.0.5",
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.5",
21
- "webappwiz": "^0.0.5"
20
+ "@webappwiz/rules": "^0.0.7",
21
+ "webappwiz": "^0.0.7"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "typescript": "^7"
package/webappwiz.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  update,
5
5
  update1 as update2,
6
6
  version
7
- } from "./index-0kf75kja.js";
7
+ } from "./index-6km6e845.js";
8
8
  import {
9
9
  JUDGE_RULES,
10
10
  SIGNOFF_RULES