@kybird/llm-wiki 0.3.0 → 0.4.2
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 -5
- package/bin/llm-wiki.js +34 -12
- package/lib/auto-update.js +39 -1
- package/lib/kanban-cmd.js +1282 -1129
- package/lib/kanban-monitor.js +856 -0
- package/package.json +2 -2
- package/skills/kanban-plan/SKILL.md +21 -4
- package/skills/work-loop/SKILL.md +15 -1
- package/templates/AGENTS.md +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kybird/llm-wiki",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "LLM-friendly knowledge graph + kanban for AI coding agents. Raw daily logs → compiled wiki → merged semantic+grep search, and a card-per-file kanban the work-loop skill consumes unattended. Drop-in for any repo.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "kybird",
|
|
@@ -38,6 +38,6 @@
|
|
|
38
38
|
"work-loop"
|
|
39
39
|
],
|
|
40
40
|
"scripts": {
|
|
41
|
-
"test": "node --test test/roundtrip.test.js test/kanban-write.test.js test/kanban-pick-guards.test.js test/kanban-wait.test.js test/find-doc-root-worktree.test.js test/auto-update.test.js"
|
|
41
|
+
"test": "node --test test/roundtrip.test.js test/kanban-write.test.js test/kanban-pick-guards.test.js test/kanban-board-flags.test.js test/kanban-milestone.test.js test/kanban-monitor.test.js test/kanban-wait.test.js test/find-doc-root-worktree.test.js test/auto-update.test.js"
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: kanban-plan
|
|
3
|
-
description: Planning loop — turn a plan into board cards the work-loop can consume. Cards are written only via the CLI; decompose with divergence guards, gate what isn't ready.
|
|
4
|
-
skill-version:
|
|
3
|
+
description: Planning loop — turn a plan into board cards the work-loop can consume. Cards are written only via the CLI; decompose with divergence guards, gate what isn't ready, group multi-card plans under a milestone.
|
|
4
|
+
skill-version: 4
|
|
5
5
|
---
|
|
6
6
|
# When to use
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ skill-version: 2
|
|
|
15
15
|
- 기획(this skill) = **분해**: a plan becomes cards.
|
|
16
16
|
- 개발(`work-loop`) = **해소**: pick → done.
|
|
17
17
|
- QA = **수렴 강제**: fake dones get reverted; `board report` shows the ratio.
|
|
18
|
-
- The person watches progress through `llm-wiki board` / `board report` / `
|
|
18
|
+
- The person watches progress through `llm-wiki board` / `board report` / `llm-wiki monitor`.
|
|
19
19
|
Plan so that this one screen is enough — 리뷰가 카드 수에 비례하면 무인의 의미가 없다.
|
|
20
20
|
|
|
21
21
|
# Before creating cards
|
|
@@ -26,6 +26,23 @@ skill-version: 2
|
|
|
26
26
|
it (`supersede`); never spawn a near-duplicate. Titles are identifiers (plan.md 3.5):
|
|
27
27
|
no numbers, no versions in titles.
|
|
28
28
|
|
|
29
|
+
# Milestones — 계획 단위 소속 (plan.md 3.8)
|
|
30
|
+
|
|
31
|
+
A plan that decomposes into **2+ cards gets one milestone card** — the board's purpose
|
|
32
|
+
axis. One-card work needs no milestone (과잉이다).
|
|
33
|
+
|
|
34
|
+
1. `card new "<계획 제목>" --kind milestone --goal "<대의 한 문장>"` — the Goal is why
|
|
35
|
+
the plan exists; the morning human reads it above the terminal stream.
|
|
36
|
+
2. Every member card carries `--milestone "<계획 제목>"` (or `card edit --milestone`
|
|
37
|
+
later — active cards only; terminal membership is history).
|
|
38
|
+
3. The milestone is never picked and never closed by hand: `done`/`supersede`/`abandon`
|
|
39
|
+
of the last member auto-completes it (review-parked milestones only report).
|
|
40
|
+
Milestone progress is **derived**, never stored — don't manage its state.
|
|
41
|
+
|
|
42
|
+
Rules: milestones stay **flat** (a milestone never belongs to another milestone — CLI
|
|
43
|
+
rejects it). Gates don't propagate — each member carries its own `--not-before`.
|
|
44
|
+
Abandoning a milestone requires its members to be terminal first (CLI enforces, lists them).
|
|
45
|
+
|
|
29
46
|
# Decomposition rules (divergence guards, plan.md 2.3)
|
|
30
47
|
|
|
31
48
|
- One card = one context = one commit. If you cannot say what the commit would be, it is
|
|
@@ -33,7 +50,7 @@ skill-version: 2
|
|
|
33
50
|
- Children must be **strictly smaller** than the parent. When children replace a parent,
|
|
34
51
|
`supersede` it — the parent dissolves, it is not marked done.
|
|
35
52
|
- Depth ≤ 3 (plan → subtask → task). Deeper than that means you are writing the work,
|
|
36
|
-
not planning it.
|
|
53
|
+
not planning it. (The milestone sits **above** this ladder as grouping, not depth.)
|
|
37
54
|
- Do not board what is not ready to start:
|
|
38
55
|
- Time condition → `card new "<t>" --not-before 2026-09-05`. `pick` skips it until then.
|
|
39
56
|
- Observational condition → create it, then `handoff <t> --question "조건: …"`. It waits
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: work-loop
|
|
3
3
|
description: Unattended kanban loop — pick a card, resolve it with objective evidence, park judgment calls and move on. Board is the only task list; converge, don't diverge.
|
|
4
|
-
skill-version:
|
|
4
|
+
skill-version: 8
|
|
5
5
|
---
|
|
6
6
|
# When to use
|
|
7
7
|
|
|
@@ -18,6 +18,16 @@ skill-version: 5
|
|
|
18
18
|
3. Never build or assume a process supervisor. The loop lives in the session; the board
|
|
19
19
|
lives in files.
|
|
20
20
|
|
|
21
|
+
# Loop start — bring the monitor up (사람의 실시간 관측)
|
|
22
|
+
|
|
23
|
+
루프를 시작할 때 `llm-wiki monitor`를 백그라운드로 띄운다 — 밤중에 사람이 들어와도
|
|
24
|
+
클레임·진행·마일스톤이 살아 있는 보드를 본다. **멱등이다**: 이 루프의 보드(같은
|
|
25
|
+
프로젝트) 모니터가 이미 떠 있으면 exit 0으로 같은 URL을 되뇐다. 다른 프로젝트의
|
|
26
|
+
모니터가 기본 포트를 쓰고 있으면 **다음 포트에 자기 보드를 띄운다** — 멀티
|
|
27
|
+
프로젝트 밤에도 각자의 보드가 각자의 URL에 뜬다. 백그라운드 실행이 안 되는
|
|
28
|
+
환경이면 건너뛴다 — 모니터는 관측이지 의존성이 아니다. 정지 규칙에서도 모니터는
|
|
29
|
+
끄지 않는다(아침의 사람이 본다) — 읽기 전용이라 남겨두는 비용이 없다.
|
|
30
|
+
|
|
21
31
|
# Loop graph
|
|
22
32
|
|
|
23
33
|
```
|
|
@@ -61,6 +71,10 @@ pick → work → 판정 ─ done / handoff / abandon / supersede
|
|
|
61
71
|
(보고서와 함께 세션 타임랩스 영상을 남긴다 — 아침의 사람이 40초로 밤을 본다),
|
|
62
72
|
leave the questions in one place, and STOP. Do not invent new cards to look
|
|
63
73
|
productive. 밤새 카드가 300장이 되는 것이 이 시스템이 죽는 방식이다 (plan.md 2.3).
|
|
74
|
+
Milestone cards are **never pickable** (they are grouping, not work — plan.md 3.8):
|
|
75
|
+
if the No-pickable detail lists them, that is normal — don't `done` or `abandon` a
|
|
76
|
+
milestone by hand; it auto-completes when its last member terminates (a `done` that
|
|
77
|
+
prints `◉ milestone 완료` closed it for you).
|
|
64
78
|
|
|
65
79
|
5. **Search before work.** `llm-wiki search "<keywords>"` before starting a card. If the
|
|
66
80
|
wall you are about to hit already has an abandoned card or an anti-pattern page, skip
|
package/templates/AGENTS.md
CHANGED
|
@@ -13,8 +13,9 @@ Files are the source of truth. Kanban card files are written ONLY via the CLI
|
|
|
13
13
|
| After fixing a bug / making a decision / discovering something | `wiki-log` skill → a Case in `doc/raw/YYYY-MM-DD.md` with verbatim error + `hash:` grounding |
|
|
14
14
|
| When raw logs have accumulated | `wiki-compile` skill → promote to `doc/wiki/` pages, then `llm-wiki compile index` |
|
|
15
15
|
| Sanity check of the knowledge base | `wiki-lint` skill or `llm-wiki lint` |
|
|
16
|
-
| Planning work (person present) | `kanban-plan` skill → cards via `llm-wiki card new "<title>"` |
|
|
16
|
+
| Planning work (person present) | `kanban-plan` skill → cards via `llm-wiki card new "<title>"`. A plan that splits into 2+ cards gets **one milestone card** (`--kind milestone`, members carry `--milestone`); milestones are never picked and auto-complete when all members terminate |
|
|
17
17
|
| Unattended execution | `work-loop` skill → `llm-wiki pick --claim <name>`, park judgment calls with `handoff` |
|
|
18
|
+
| Watching the board (human) | `llm-wiki monitor` — read-only live view (claims, elapsed, gates, terminal pile, milestones) at `http://127.0.0.1:4747` |
|
|
18
19
|
|
|
19
20
|
## Rules
|
|
20
21
|
|