paneltir 0.12.0 → 0.13.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/CLAUDE_MD_SNIPPET.md +16 -0
- package/INSTALL.md +2 -2
- package/README.md +1 -1
- package/bin/paneltir.mjs +18 -1
- package/dist/index.d.ts +632 -535
- package/dist/index.js +217 -41
- package/fingerprint.json +5 -5
- package/package.json +11 -25
- package/template/.claude/skills/panel/SKILL.md +50 -0
package/CLAUDE_MD_SNIPPET.md
CHANGED
|
@@ -68,6 +68,22 @@ library shared with other projects. Rules:
|
|
|
68
68
|
orders waiting on Claude, each as a count that filters the board or opens the
|
|
69
69
|
question when tapped — beside the health pills the project supplies. Nothing
|
|
70
70
|
to do there draws one sentence instead of a row of noughts.
|
|
71
|
+
- **A second problem found mid-card is fixed or filed, never a reason to
|
|
72
|
+
stop.** Small, reversible and inside what was already being touched: fixed in
|
|
73
|
+
the same pass. Anything larger becomes a card in `ideas` and the original work
|
|
74
|
+
carries on. And a detail a card does not specify is Claude's to choose — that
|
|
75
|
+
is the normal state of a card rather than a gap in it. Only `askme`, `explain`
|
|
76
|
+
and `hold` mean stop, and an undecided question holds back only the part of
|
|
77
|
+
the work that depends on it. A question that needs the owner is asked on the
|
|
78
|
+
board as a choice with `value: null`, where it outlives the conversation,
|
|
79
|
+
never as a session that stalls waiting for a reply.
|
|
80
|
+
- **Two buttons write orders instead of acting.** *Ask for a version bump*
|
|
81
|
+
on the board writes a `version-bump-<date>` card: every target this project
|
|
82
|
+
ships moves up one version and one build, and they all end on the same pair
|
|
83
|
+
(build 18 / 1.0.18 → build 19 / 1.0.19). *Add a card asking Claude to
|
|
84
|
+
install it* on the Tools screen writes an `install-<tool>-<date>` card
|
|
85
|
+
carrying the settings snippet to merge. The panel runs nothing, so both are
|
|
86
|
+
requests for the next session, one open at a time per subject.
|
|
71
87
|
- **The panel explains itself once.** New readers get a short guided tour the
|
|
72
88
|
first time they open the board; each note is dismissed and stays dismissed.
|
|
73
89
|
**Help** in the header reports what the panel needs — the password, the
|
package/INSTALL.md
CHANGED
|
@@ -19,7 +19,7 @@ identity** — never another project's.
|
|
|
19
19
|
npm install paneltir
|
|
20
20
|
|
|
21
21
|
# or, without npm access, straight from the repository:
|
|
22
|
-
# npm install github:daifukus/paneltir#v0.
|
|
22
|
+
# npm install github:daifukus/paneltir#v0.13.0
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
(Use the tag you were given; never install without pinning a version.)
|
|
@@ -237,7 +237,7 @@ identity** — never another project's.
|
|
|
237
237
|
|
|
238
238
|
```bash
|
|
239
239
|
npx paneltir version # version, fingerprint, where it came from
|
|
240
|
-
npx paneltir check 0.
|
|
240
|
+
npx paneltir check 0.13.0 # exits non-zero if that is not what is installed
|
|
241
241
|
npx paneltir board # read the board and say what is wrong with it
|
|
242
242
|
```
|
|
243
243
|
|
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ tag rather than a branch, so an unfinished push cannot reach a project:
|
|
|
54
54
|
npm install paneltir
|
|
55
55
|
|
|
56
56
|
# or, without npm access, straight from the repository:
|
|
57
|
-
# npm install github:daifukus/paneltir#v0.
|
|
57
|
+
# npm install github:daifukus/paneltir#v0.13.0
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
Installing from Git runs the `prepare` script, which builds `dist/`, so the
|
package/bin/paneltir.mjs
CHANGED
|
@@ -614,8 +614,25 @@ async function run(args) {
|
|
|
614
614
|
// rendered at the bottom of the revisions log and fell outside the bell's
|
|
615
615
|
// newest-first window — a record of work that read as the first thing ever
|
|
616
616
|
// done here.
|
|
617
|
+
/*
|
|
618
|
+
* An id the board does not already have. The id used to be `run-<date>-<n>`
|
|
619
|
+
* with `n` the list's length, which is unique only while the list only ever
|
|
620
|
+
* grows: once it reaches the cap below and is trimmed, the length stops
|
|
621
|
+
* moving and every pass on the same day gets the same id. Two runs sharing
|
|
622
|
+
* an id is two React keys colliding in the revisions log, and one bell entry
|
|
623
|
+
* standing for both — mark the first seen and the second is silenced too,
|
|
624
|
+
* which is the fault `PanelNotification.id` warns about by name.
|
|
625
|
+
*/
|
|
626
|
+
const used = new Set(board.runs.map((run) => run?.id))
|
|
627
|
+
let serial = board.runs.length + 1
|
|
628
|
+
let id = `run-${date}-${String(serial).padStart(3, '0')}`
|
|
629
|
+
while (used.has(id)) {
|
|
630
|
+
serial += 1
|
|
631
|
+
id = `run-${date}-${String(serial).padStart(3, '0')}`
|
|
632
|
+
}
|
|
633
|
+
|
|
617
634
|
board.runs.push({
|
|
618
|
-
id
|
|
635
|
+
id,
|
|
619
636
|
date,
|
|
620
637
|
by,
|
|
621
638
|
summary,
|