plumbbob 0.8.17 → 0.8.18
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/.claude-plugin/plugin.json +1 -1
- package/README.md +6 -0
- package/dist/verbs/finish.js +4 -2
- package/package.json +2 -2
- package/skills/pb-finish/SKILL.md +15 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plumbbob",
|
|
3
3
|
"displayName": "PlumbBob",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.18",
|
|
5
5
|
"description": "Attention-first build process — driver skills + a CLI that keep you the decider: guidance on the work, a latch on the record.",
|
|
6
6
|
"author": { "name": "Rob McLarty", "email": "hello@robmclarty.com", "url": "https://robmclarty.com" },
|
|
7
7
|
"homepage": "https://github.com/robmclarty/plumbbob#readme",
|
package/README.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
<img src="hero.svg" alt="A row of plumb bobs of varying shapes hanging from strings" width="600">
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://robmclarty.github.io/plumbbob/">Website</a> ·
|
|
9
|
+
<a href="https://robmclarty.github.io/plumbbob/docs.html">Docs</a> ·
|
|
10
|
+
<a href="https://robmclarty.github.io/plumbbob/api.html">API reference</a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
7
13
|
PlumbBob is a Claude Code plugin — twelve `/pb-*` skills and a small CLI — that runs
|
|
8
14
|
LLM-assisted coding as a loop you control. You and the model settle the plan in a file
|
|
9
15
|
*before* any code; then the model builds one small step at a time and **stops after
|
package/dist/verbs/finish.js
CHANGED
|
@@ -80,9 +80,11 @@ function buildDefaultScope(root, slug) {
|
|
|
80
80
|
// `--body` reads the final-commit body from stdin (the single-quoted heredoc of
|
|
81
81
|
// D34), so the pb-finish skill can compose a proportional close-out message. Returns
|
|
82
82
|
// null when the flag is absent or stdin is empty — the commit then carries subject
|
|
83
|
-
// only.
|
|
83
|
+
// only. Reading fd 0 blocks until EOF, which the heredoc supplies; a read error (no
|
|
84
|
+
// stdin attached) degrades to null, and an interactive TTY — which would never send
|
|
85
|
+
// EOF — skips the read instead of hanging (twin of checkpoint.ts's guard).
|
|
84
86
|
function bodyArg(args) {
|
|
85
|
-
if (!args.includes('--body')) {
|
|
87
|
+
if (!args.includes('--body') || process.stdin.isTTY === true) {
|
|
86
88
|
return null;
|
|
87
89
|
}
|
|
88
90
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plumbbob",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.18",
|
|
4
4
|
"description": "Attention-first build process: 12 skills + a CLI that keep you the decider — guidance on the work, a latch on the record.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"agent",
|
|
11
11
|
"attention-first"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.
|
|
13
|
+
"homepage": "https://robmclarty.github.io/plumbbob/",
|
|
14
14
|
"bugs": "https://github.com/robmclarty/plumbbob/issues",
|
|
15
15
|
"repository": {
|
|
16
16
|
"type": "git",
|
|
@@ -30,11 +30,24 @@ record.
|
|
|
30
30
|
This is the "yeah, I did that" artifact. Write it by default; the human may edit it.
|
|
31
31
|
2. **Finish.** Run `plumbbob finish`, which appends the checkpoint SHAs to the
|
|
32
32
|
report and makes the final commit — subject `chore(<scope>): finish`, its body
|
|
33
|
-
led by a `plumbbob finish` marker plus an optional proportional `--body`
|
|
34
|
-
stdin heredoc) — then
|
|
33
|
+
led by a `plumbbob finish` marker plus an optional proportional `--body` — then
|
|
35
34
|
clears the control state (the in-flight markers, then `STATE` last — one delete
|
|
36
35
|
drops both the session sentinel and the active-build cursor it carries). The
|
|
37
36
|
build folder stays in place, committed, and rides the branch into the PR.
|
|
37
|
+
|
|
38
|
+
`--body` reads the close-out message from **stdin via a single-quoted heredoc
|
|
39
|
+
redirect** — the same form the other verbs use:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
plumbbob finish --body <<'BODY'
|
|
43
|
+
…proportional close-out prose…
|
|
44
|
+
BODY
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Redirect the heredoc *into* the command (`--body <<'BODY'`). Do **not** pass it as
|
|
48
|
+
an argument value (`--body "$(cat <<'BODY'…)"`): `--body` ignores an argument and
|
|
49
|
+
reads stdin, so that form leaves stdin open with no EOF and the command hangs. Omit
|
|
50
|
+
`--body` entirely and the commit carries the `plumbbob finish` marker subject only.
|
|
38
51
|
3. **Point at the next goal** — `/pb-plan` to frame the next one.
|
|
39
52
|
|
|
40
53
|
## The hard contracts
|