litclaude-ai 0.2.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.
Files changed (156) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/LICENSE +21 -0
  3. package/README.md +369 -0
  4. package/README_ko-KR.md +374 -0
  5. package/RELEASE_CHECKLIST.md +165 -0
  6. package/bin/litclaude-ai.js +643 -0
  7. package/cover.png +0 -0
  8. package/docs/agents.md +67 -0
  9. package/docs/hooks.md +134 -0
  10. package/docs/lsp.md +40 -0
  11. package/docs/migration.md +209 -0
  12. package/docs/workflow-compatibility-audit.md +119 -0
  13. package/generate_cover.py +123 -0
  14. package/package.json +48 -0
  15. package/plugins/litclaude/.claude-plugin/plugin.json +25 -0
  16. package/plugins/litclaude/.lsp.json +13 -0
  17. package/plugins/litclaude/.mcp.json +9 -0
  18. package/plugins/litclaude/agents/boulder-executor.md +12 -0
  19. package/plugins/litclaude/agents/librarian-researcher.md +15 -0
  20. package/plugins/litclaude/agents/oracle-verifier.md +16 -0
  21. package/plugins/litclaude/agents/prometheus-planner.md +13 -0
  22. package/plugins/litclaude/agents/qa-runner.md +16 -0
  23. package/plugins/litclaude/agents/quality-reviewer.md +17 -0
  24. package/plugins/litclaude/bin/litclaude-hook.js +110 -0
  25. package/plugins/litclaude/bin/litclaude-hud.js +271 -0
  26. package/plugins/litclaude/bin/litclaude-lsp-doctor.js +15 -0
  27. package/plugins/litclaude/bin/litclaude-mcp.js +70 -0
  28. package/plugins/litclaude/commands/deep-interview.md +21 -0
  29. package/plugins/litclaude/commands/dynamic-workflow.md +36 -0
  30. package/plugins/litclaude/commands/lit-loop.md +40 -0
  31. package/plugins/litclaude/commands/lit-plan.md +35 -0
  32. package/plugins/litclaude/commands/litgoal.md +30 -0
  33. package/plugins/litclaude/commands/review-work.md +35 -0
  34. package/plugins/litclaude/commands/start-work.md +36 -0
  35. package/plugins/litclaude/hooks/hooks.json +54 -0
  36. package/plugins/litclaude/lib/context-pressure.mjs +25 -0
  37. package/plugins/litclaude/lib/hud-accent-palette.mjs +58 -0
  38. package/plugins/litclaude/lib/litgoal/cli.mjs +266 -0
  39. package/plugins/litclaude/lib/litgoal/ledger.mjs +16 -0
  40. package/plugins/litclaude/lib/litgoal/paths.mjs +7 -0
  41. package/plugins/litclaude/lib/litgoal/state.mjs +67 -0
  42. package/plugins/litclaude/lib/mutated-file-paths.mjs +63 -0
  43. package/plugins/litclaude/lib/start-work-continuation.mjs +99 -0
  44. package/plugins/litclaude/lib/workflow-check.mjs +83 -0
  45. package/plugins/litclaude/skills/ai-slop-remover/SKILL.md +142 -0
  46. package/plugins/litclaude/skills/comment-checker/SKILL.md +55 -0
  47. package/plugins/litclaude/skills/debugging/SKILL.md +70 -0
  48. package/plugins/litclaude/skills/debugging/references/methodology/00-setup.md +108 -0
  49. package/plugins/litclaude/skills/debugging/references/methodology/02-investigate.md +126 -0
  50. package/plugins/litclaude/skills/debugging/references/methodology/04-oracle-triple.md +106 -0
  51. package/plugins/litclaude/skills/debugging/references/methodology/05-escalate.md +69 -0
  52. package/plugins/litclaude/skills/debugging/references/methodology/06-fix.md +116 -0
  53. package/plugins/litclaude/skills/debugging/references/methodology/08-qa.md +94 -0
  54. package/plugins/litclaude/skills/debugging/references/methodology/09-cleanup.md +164 -0
  55. package/plugins/litclaude/skills/debugging/references/methodology/partial-runtime-evidence.md +228 -0
  56. package/plugins/litclaude/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  57. package/plugins/litclaude/skills/debugging/references/runtimes/go.md +252 -0
  58. package/plugins/litclaude/skills/debugging/references/runtimes/native-binary.md +484 -0
  59. package/plugins/litclaude/skills/debugging/references/runtimes/node.md +260 -0
  60. package/plugins/litclaude/skills/debugging/references/runtimes/python.md +248 -0
  61. package/plugins/litclaude/skills/debugging/references/runtimes/rust.md +234 -0
  62. package/plugins/litclaude/skills/debugging/references/tools/ghidra.md +212 -0
  63. package/plugins/litclaude/skills/debugging/references/tools/playwright-cli.md +194 -0
  64. package/plugins/litclaude/skills/debugging/references/tools/pwndbg.md +263 -0
  65. package/plugins/litclaude/skills/debugging/references/tools/pwntools.md +265 -0
  66. package/plugins/litclaude/skills/deep-interview/SKILL.md +323 -0
  67. package/plugins/litclaude/skills/deep-interview/scripts/render_progress.py +193 -0
  68. package/plugins/litclaude/skills/frontend-ui-ux/SKILL.md +62 -0
  69. package/plugins/litclaude/skills/lit-loop/SKILL.md +144 -0
  70. package/plugins/litclaude/skills/lit-plan/SKILL.md +125 -0
  71. package/plugins/litclaude/skills/litgoal/SKILL.md +219 -0
  72. package/plugins/litclaude/skills/lsp/SKILL.md +63 -0
  73. package/plugins/litclaude/skills/programming/SKILL.md +106 -0
  74. package/plugins/litclaude/skills/programming/references/go/README.md +90 -0
  75. package/plugins/litclaude/skills/programming/references/go/backend-stack.md +641 -0
  76. package/plugins/litclaude/skills/programming/references/go/bootstrap.md +328 -0
  77. package/plugins/litclaude/skills/programming/references/go/bubbletea-v2.md +360 -0
  78. package/plugins/litclaude/skills/programming/references/go/cobra-stack.md +468 -0
  79. package/plugins/litclaude/skills/programming/references/go/concurrency.md +362 -0
  80. package/plugins/litclaude/skills/programming/references/go/data-modeling.md +329 -0
  81. package/plugins/litclaude/skills/programming/references/go/error-handling.md +359 -0
  82. package/plugins/litclaude/skills/programming/references/go/golangci-strict.md +236 -0
  83. package/plugins/litclaude/skills/programming/references/go/grpc-connect.md +375 -0
  84. package/plugins/litclaude/skills/programming/references/go/libraries.md +337 -0
  85. package/plugins/litclaude/skills/programming/references/go/one-liners.md +202 -0
  86. package/plugins/litclaude/skills/programming/references/go/sqlc-pgx.md +471 -0
  87. package/plugins/litclaude/skills/programming/references/go/testing.md +467 -0
  88. package/plugins/litclaude/skills/programming/references/go/type-patterns.md +298 -0
  89. package/plugins/litclaude/skills/programming/references/python/README.md +314 -0
  90. package/plugins/litclaude/skills/programming/references/python/async-anyio.md +442 -0
  91. package/plugins/litclaude/skills/programming/references/python/data-modeling.md +233 -0
  92. package/plugins/litclaude/skills/programming/references/python/data-processing.md +133 -0
  93. package/plugins/litclaude/skills/programming/references/python/error-handling.md +218 -0
  94. package/plugins/litclaude/skills/programming/references/python/fastapi-stack.md +316 -0
  95. package/plugins/litclaude/skills/programming/references/python/httpx2-optimization.md +360 -0
  96. package/plugins/litclaude/skills/programming/references/python/libraries.md +307 -0
  97. package/plugins/litclaude/skills/programming/references/python/one-liners.md +268 -0
  98. package/plugins/litclaude/skills/programming/references/python/orjson-stack.md +378 -0
  99. package/plugins/litclaude/skills/programming/references/python/pydantic-ai.md +285 -0
  100. package/plugins/litclaude/skills/programming/references/python/pyproject-strict.md +232 -0
  101. package/plugins/litclaude/skills/programming/references/python/textual-tui.md +201 -0
  102. package/plugins/litclaude/skills/programming/references/python/type-patterns.md +176 -0
  103. package/plugins/litclaude/skills/programming/references/rust/README.md +317 -0
  104. package/plugins/litclaude/skills/programming/references/rust/async-tokio.md +299 -0
  105. package/plugins/litclaude/skills/programming/references/rust/axum-stack.md +467 -0
  106. package/plugins/litclaude/skills/programming/references/rust/cargo-strict.md +317 -0
  107. package/plugins/litclaude/skills/programming/references/rust/clap-stack.md +409 -0
  108. package/plugins/litclaude/skills/programming/references/rust/concurrency.md +375 -0
  109. package/plugins/litclaude/skills/programming/references/rust/libraries.md +439 -0
  110. package/plugins/litclaude/skills/programming/references/rust/one-liners.md +291 -0
  111. package/plugins/litclaude/skills/programming/references/rust/proptest-insta.md +429 -0
  112. package/plugins/litclaude/skills/programming/references/rust/type-state.md +354 -0
  113. package/plugins/litclaude/skills/programming/references/rust/unsafe-discipline.md +250 -0
  114. package/plugins/litclaude/skills/programming/references/rust/zero-cost-safety.md +527 -0
  115. package/plugins/litclaude/skills/programming/references/rust-ub/README.md +289 -0
  116. package/plugins/litclaude/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
  117. package/plugins/litclaude/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
  118. package/plugins/litclaude/skills/programming/references/typescript/README.md +195 -0
  119. package/plugins/litclaude/skills/programming/references/typescript/backend-hono.md +672 -0
  120. package/plugins/litclaude/skills/programming/references/typescript/bootstrap.md +199 -0
  121. package/plugins/litclaude/skills/programming/references/typescript/data-modeling.md +202 -0
  122. package/plugins/litclaude/skills/programming/references/typescript/error-handling.md +169 -0
  123. package/plugins/litclaude/skills/programming/references/typescript/tsconfig-strict.md +152 -0
  124. package/plugins/litclaude/skills/programming/references/typescript/type-patterns.md +196 -0
  125. package/plugins/litclaude/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
  126. package/plugins/litclaude/skills/programming/scripts/go/new-project.py +138 -0
  127. package/plugins/litclaude/skills/programming/scripts/go/templates/.editorconfig +13 -0
  128. package/plugins/litclaude/skills/programming/scripts/go/templates/.golangci.yml +95 -0
  129. package/plugins/litclaude/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
  130. package/plugins/litclaude/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
  131. package/plugins/litclaude/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
  132. package/plugins/litclaude/skills/programming/scripts/go/templates/ci.yml +37 -0
  133. package/plugins/litclaude/skills/programming/scripts/go/templates/config.go +24 -0
  134. package/plugins/litclaude/skills/programming/scripts/go/templates/gitignore +15 -0
  135. package/plugins/litclaude/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
  136. package/plugins/litclaude/skills/programming/scripts/go/templates/run.go +15 -0
  137. package/plugins/litclaude/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
  138. package/plugins/litclaude/skills/programming/scripts/python/new-project.py +172 -0
  139. package/plugins/litclaude/skills/programming/scripts/python/new-script.py +116 -0
  140. package/plugins/litclaude/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
  141. package/plugins/litclaude/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
  142. package/plugins/litclaude/skills/programming/scripts/rust/new-project.py +175 -0
  143. package/plugins/litclaude/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
  144. package/plugins/litclaude/skills/programming/scripts/typescript/new-project.ts +177 -0
  145. package/plugins/litclaude/skills/refactor/SKILL.md +73 -0
  146. package/plugins/litclaude/skills/remove-ai-slops/SKILL.md +52 -0
  147. package/plugins/litclaude/skills/review-work/SKILL.md +331 -0
  148. package/plugins/litclaude/skills/rules/SKILL.md +66 -0
  149. package/plugins/litclaude/skills/start-work/SKILL.md +132 -0
  150. package/scripts/audit-plan-checkboxes.mjs +37 -0
  151. package/scripts/doctor.mjs +41 -0
  152. package/scripts/inspect-agent-tools.mjs +27 -0
  153. package/scripts/postinstall.mjs +50 -0
  154. package/scripts/qa-claude-plugin-smoke.sh +60 -0
  155. package/scripts/qa-portable-install.sh +136 -0
  156. package/scripts/validate-plugin.mjs +72 -0
@@ -0,0 +1,374 @@
1
+ <p align="center"><img src="./cover.png" width="100%" /></p>
2
+
3
+ <h1 align="center">LitClaude</h1>
4
+ <p align="center">
5
+ <em>Claude Code 안에서 쓰는 LitClaude 스타일 워크플로우: prompt hook, litwork skill, agent, MCP, LSP helper.</em>
6
+ </p>
7
+ <p align="center">
8
+ <a href="#빠른-시작">빠른 시작</a> · <a href="#lit-사용법">LIT 사용법</a> · <a href="#명령어">명령어</a> · <a href="./README.md">English</a>
9
+ </p>
10
+ <p align="center">
11
+ <img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" />
12
+ <img src="https://img.shields.io/badge/version-0.2.2-2ea44f" />
13
+ <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
+ <img src="https://img.shields.io/badge/license-MIT-blue" />
15
+ </p>
16
+
17
+ ---
18
+
19
+ [English](./README.md) | **한국어**
20
+
21
+ ---
22
+
23
+ > [!NOTE]
24
+ > LitClaude는 prompt hook, skill, agent, MCP, LSP, LIT discipline을 위한
25
+ > 조용한 Claude Code-native workflow package입니다. `litclaude@litclaude-ai`로
26
+ > 설치되므로, 매번 긴 `--plugin-dir` 없이 일반 `claude` 실행에서
27
+ > LitClaude skill과 hook을 불러올 수 있습니다.
28
+
29
+ 현재 checkout은 `litclaude-ai@0.2.2` 배포 준비용으로 정리되어 있습니다. 목적은
30
+ 다른 PC에서도 빠르게 설치하기 위한 개인용 package metadata를 갖추는 것입니다.
31
+ npm package metadata를 준비했다고 해서 홍보, 공개 저장소 운영, Claude
32
+ marketplace 등록을 의미하지는 않습니다. 새 버전 배포는 항상 별도의 명시적
33
+ 승인 후에 진행합니다. v0.2.2 release material은 v0.2.0 workflow parity work를
34
+ 보존하고, v0.2.1 readiness 위에 Dynamic workflow hardening을 추가하며,
35
+ LitClaude 자체의 표현으로 정리되어 있습니다. npm publish가 완료됐다고
36
+ 주장하지 않습니다.
37
+
38
+ ## 기능
39
+
40
+ - **자연스러운 Claude 실행** - 한 번 `npx`로 설치한 뒤에는 plain `claude`
41
+ - **LIT prompt hook** - `lit`, `litwork`, `$lit-plan`, `$lit-loop` 트리거
42
+ - **Deep interview mode** - `/deep-interview` 또는 `$deep-interview`로 넓고
43
+ 모호한 의도를 먼저 spec으로 정리한 뒤 계획/구현으로 넘김
44
+ - **v0.2.0 workflow parity** - package publish가 끝났다고 말하지 않으면서
45
+ `review-work` 5-lane review discipline과 litgoal runtime 문서를 추가
46
+ - **v0.2.2 Dynamic workflow hardening** - 더 엄격한 subagent assignment
47
+ contract, `start-work-next`, context-pressure resume guidance, 정확한
48
+ mutated-file 감지, 강화된 `workflow-check --json` readiness check를 추가
49
+ - **5-lane review** - `/review-work`가 goal/constraint verification,
50
+ hands-on QA execution, code quality, security, local-first context mining을
51
+ 한 번에 점검
52
+ - **Native goal guidance** - Claude Code가 `/goal` 또는 `get_goal`,
53
+ `create_goal`, `update_goal` 같은 goal surface를 제공하면 이를 우선
54
+ 사용하도록 유도하고, goal tools are unavailable 상황의 fallback도 명시
55
+ - **Litgoal CLI/state** - `plugins/litclaude/lib/litgoal/`가 durable
56
+ criteria, evidence, checkpoint, steering, review blocker를 `.litclaude/litgoal/`
57
+ 아래에 기록
58
+ - **Dynamic workflow/worktree guidance** - 크거나 병렬적인 작업은 Claude
59
+ Code Dynamic workflow, subagent delegation, Dynamic worktree 격리 쪽으로 유도
60
+ - **Claude skills** - LitClaude 스타일을 더 풍부하게 옮긴 corpus:
61
+ `programming`, `debugging`, `refactor`, `ai-slop-remover`, `remove-ai-slops`,
62
+ `review-work`, `frontend-ui-ux`, `comment-checker`, `rules`, `lsp`,
63
+ `litgoal`, `deep-interview`, `lit-plan`, `lit-loop`, `start-work`
64
+ - **Auxiliary workflow packs** - `programming/references`,
65
+ `programming/scripts`, `debugging/references`까지 포함해서 언어별,
66
+ 런타임별 세부 지침을 보존
67
+ - **워크플로우 agents** - planner, executor, verifier, reviewer, librarian, QA runner
68
+ - **Local marketplace 등록** - `claude plugin details litclaude@litclaude-ai`에서 inventory 확인
69
+ - **MCP와 LSP helper** - plugin-local stdio MCP와 TypeScript 계열 LSP doctor
70
+ - **LitClaude HUD** - npm install 시 `pretty-claude-hud` 기반의 compact
71
+ Claude Code statusLine을 네온 `[🔥LITCLAUDE vX.Y.Z]` 브랜드로 자동 설정하고,
72
+ 설치 중 눈에 잘 띄는 색상 선택, 즉시 mini-HUD 미리보기, compact context
73
+ bar, 낮은 사용량도 비어 보이지 않는 rate-limit bar, 더 넓은 brand accent
74
+ 적용 범위, 간격이 있는 reset countdown을 제공
75
+ - **안전한 uninstall** - LitClaude가 관리한 상태만 제거
76
+
77
+ ## 빠른 시작
78
+
79
+ ### 설치
80
+
81
+ ```bash
82
+ npx --yes litclaude-ai install
83
+ ```
84
+
85
+ interactive `npx` 설치에서는 LitClaude가 HUD brand color 후보를 더 선명한
86
+ 실제 터미널 색상으로 바로 보여주고, 선택한 accent를 Claude의 managed
87
+ `statusLine` command에 저장합니다. animated install에서는 setup, plugin,
88
+ marketplace, registry, cache label도 색상으로 구분해서 진행 상황을 더 쉽게
89
+ 스캔할 수 있습니다. noninteractive install은 deterministic한 plain
90
+ `INSTALL_STEP` line을 유지합니다.
91
+
92
+ 현재 위치가 이 저장소 checkout이면, registry package와 같은 package name을
93
+ 가진 same-name source checkout 안에 있는 상태입니다. 이 경우
94
+ `npx --yes litclaude-ai@0.1.11 install` 같은 이전 published build가 local
95
+ checkout을 먼저 해석해서 `sh: litclaude-ai: command not found`로 실패할 수
96
+ 있었습니다. 이 checkout은 `node_modules/.bin` shim을 의도적으로 추적하지
97
+ 않습니다. 새 폴더에서는 일반 설치 명령이 정상 동작합니다.
98
+
99
+ ```bash
100
+ cd /tmp
101
+ npx --yes litclaude-ai@0.2.2 install
102
+ ```
103
+
104
+ 설치 상태를 확인합니다.
105
+
106
+ ```bash
107
+ npx --yes litclaude-ai doctor
108
+ ```
109
+
110
+ installer는 Claude Code의 `statusLine` command도 packaged LitClaude HUD로
111
+ 설정합니다. 색상을 제거한 예시는 다음처럼 시작합니다.
112
+
113
+ ```text
114
+ [🔥LITCLAUDE v0.2.2] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
115
+ ```
116
+
117
+ `↻` 표시는 rate-limit reset까지 남은 시간을 짧게 보여주는 countdown입니다.
118
+ percentage와는 한 칸 띄워서 읽기 쉽게 만들었고, 낮은 non-zero 사용량도
119
+ partial bar glyph로 표시되어 비어 보이지 않습니다. context bar는 3칸,
120
+ rate-limit bar는 2칸으로 줄여 Claude Code status-line 공간을 덜 차지합니다.
121
+ Claude Code가 제공하는 epoch seconds 형태와 ISO timestamp 형태를 모두
122
+ 해석합니다.
123
+
124
+ picker 없이 색상을 지정하려면 설치 전에 `LITCLAUDE_HUD_ACCENT`를
125
+ `cyan`, `blue`, `teal`, `green`, `lavender`, `rose`, `gold`, `orange`,
126
+ `slate`, `gray` 중 하나로 설정하세요.
127
+
128
+ 설치 후에는 일반적인 `claude` 명령으로 Claude Code를 실행합니다.
129
+
130
+ ```bash
131
+ claude
132
+ ```
133
+
134
+ ### 대체 진입점
135
+
136
+ ```bash
137
+ bunx litclaude-ai install
138
+ npm install -g litclaude-ai
139
+ litclaude install
140
+ ```
141
+
142
+ 현재 checkout처럼 package 이름이 같은 폴더 안에서 `npm exec`를 직접 쓸
143
+ 때는 registry package와 same-name source checkout이 섞이지 않도록 fresh
144
+ prefix를 주는 편이 안전합니다.
145
+
146
+ ```bash
147
+ npm exec --prefix "$(mktemp -d)" --yes --package litclaude-ai -- litclaude install
148
+ ```
149
+
150
+ LitClaude가 관리한 설치 상태만 제거하려면 다음을 사용합니다.
151
+
152
+ ```bash
153
+ npx --yes litclaude-ai uninstall
154
+ ```
155
+
156
+ ## 설치 방식
157
+
158
+ installer는 `litclaude@litclaude-ai`를 Claude Code user plugin registry
159
+ 아래의 `~/.claude/plugins`에 등록하고 `settings.json`의 `enabledPlugins`,
160
+ LitClaude 전용 local marketplace 항목, `known_marketplaces.json`을 함께
161
+ 기록합니다. 이 marketplace metadata가 있어야 Claude가
162
+ `claude plugin details`에서 skill과 hook inventory를 해석합니다.
163
+
164
+ 격리 테스트가 필요할 때만 `CLAUDE_CONFIG_DIR=/some/path`와
165
+ `LITCLAUDE_HOME=/some/path`를 지정하세요.
166
+
167
+ ## LIT 사용법
168
+
169
+ 설치 후에는 일반적인 `claude` 명령에서 LitClaude를 사용할 수 있습니다.
170
+
171
+ ```bash
172
+ claude
173
+ ```
174
+
175
+ 그다음 Claude Code에 아래 프롬프트 중 하나를 입력합니다.
176
+
177
+ ```text
178
+ lit
179
+ litwork
180
+ $lit-plan <계획이 필요한 작업>
181
+ /lit-plan <계획이 필요한 작업>
182
+ $lit-loop <증거 기반으로 실행할 작업>
183
+ /lit-loop <증거 기반으로 실행할 작업>
184
+ $deep-interview <명확화가 필요한 작업>
185
+ /deep-interview <명확화가 필요한 작업>
186
+ $dynamic-workflow <병렬 또는 위임할 목표>
187
+ /dynamic-workflow <병렬 또는 위임할 목표>
188
+ $review-work <검토할 범위>
189
+ /review-work <검토할 범위>
190
+ $litgoal <goal operation>
191
+ /litgoal <goal operation>
192
+ $start-work plans/example-plan.md
193
+ /start-work plans/example-plan.md
194
+ ```
195
+
196
+ 기대 동작은 LitClaude prompt hook이 LIT route에는 `LITWORK MODE ENABLED`
197
+ 컨텍스트를 추가하고 `LitClaude lit hook active`라는 visible hook message를
198
+ 보여주는 것입니다. `/deep-interview`에는 `DEEP INTERVIEW MODE ENABLED`
199
+ 컨텍스트를 추가하고 Claude를 `/litclaude:deep-interview` /
200
+ `Skill(deep-interview)` 쪽으로 라우팅합니다. 또한 plain `lit`는 일반 작업
201
+ 실행 전 `/litclaude:lit-loop` / `Skill(lit-loop)` semantics로 처리됩니다.
202
+ 그 뒤 skill 및 agent 지시문이 Claude를 test-first 작업, native goal 처리,
203
+ 실제 수동 QA 증거, cleanup receipt, 향후 release step의 명시적 승인 쪽으로
204
+ 유도합니다.
205
+
206
+ LitClaude는 `/goal`을 대신 입력하거나 slash command text를 자동 전송하지
207
+ 않습니다. 대신 hook과 LIT skill이 run context를 보강합니다. Claude Code의
208
+ native goal surface가 있으면 `get_goal`을 먼저 확인하고, matching active
209
+ goal이 없을 때만 `create_goal`을 호출하며, `update_goal`은 검증 완료 또는
210
+ 진짜 blocker가 있을 때까지 미루도록 안내합니다. goal tools are unavailable,
211
+ 즉 model-facing goal tools가 이 Claude Code session에 노출되지 않은 경우에는
212
+ 로컬 evidence ledger를 기준으로 계속 진행하고, 긴 실행 전에 필요한 경우에만
213
+ 정확한 `/goal <completion condition>`를 제안합니다. 큰 독립 작업에서는
214
+ 같은 원칙을 Claude Code가 노출한 orchestration surface에 적용합니다.
215
+ `Workflow`가 노출되면 `Workflow` tool을 호출하고, isolated edit lane이
216
+ model-facing worktree를 필요로 하면 `EnterWorktree`를 사용합니다. CLI surface만
217
+ 가능한 새 격리 lane에서는 `claude --worktree <short-name> --tmux`를 사용합니다.
218
+
219
+ v0.2.2 Dynamic workflow hardening에서 `/dynamic-workflow`는 넓은 위임 작업을
220
+ 위한 통합 bootstrap route입니다. `/goal`은 user-controlled 상태로 두고,
221
+ model-facing goal tools가 노출되면 확인하며, 필요하면 정확한 fallback
222
+ `/goal <completion condition>`만 제안합니다. subagent delegation은
223
+ `prometheus-planner`, `boulder-executor`, `oracle-verifier`, `qa-runner`,
224
+ `quality-reviewer`, `librarian-researcher`에 매핑됩니다. Child assignment는
225
+ `TASK:`로 시작하고 `DELIVERABLE`, `SCOPE`, `VERIFY`를 포함해야 하므로, 위임된
226
+ 작업은 구체적인 산출물, 범위, 검증 경로를 갖습니다. Full QA 전에는 다음 package
227
+ diagnostic을 실행합니다.
228
+
229
+ ```bash
230
+ litclaude-ai workflow-check --json
231
+ ```
232
+
233
+ 긴 `$start-work` 실행이 중간에 끊기거나 compact된 뒤 새 pane에서 이어갈 때는
234
+ checkout에서 continuation helper를 실행합니다.
235
+
236
+ ```bash
237
+ litclaude-ai start-work-next --json
238
+ ```
239
+
240
+ 이 명령은 `.litclaude/boulder.json`과 `.litclaude/start-work/ledger.jsonl`을 읽고 active
241
+ plan, ledger path, 첫 번째 unchecked top-level task를 출력합니다. Plan이 끝났으면
242
+ `{"status":"idle","directive":null}`을 반환합니다.
243
+
244
+ v0.2.0 workflow parity에서 `review-work`는 전용 review route입니다. 5-lane
245
+ review는 goal/constraint verification, hands-on QA execution, code quality,
246
+ security, local-first context mining을 포함합니다. 각 lane은
247
+ `oracle-verifier`, `qa-runner`, `quality-reviewer`, `librarian-researcher`에
248
+ 연결되고, 증거를 모아 PASS, FAIL, NEEDS-CONTEXT verdict로 정리합니다.
249
+ Manual-QA channels는 artifact를 남겨야 하며 tmux session, server, port,
250
+ browser tab, temp directory는 completion 전에 cleanup receipt를 남겨야 합니다.
251
+
252
+ `litgoal`은 긴 목표를 위한 durable local state route입니다. runtime은
253
+ `plugins/litclaude/lib/litgoal/`에 있고 state는 `.litclaude/litgoal/` 아래에
254
+ 남깁니다. stale state가 checkout과 어긋나면 current docs/test reads를
255
+ 기준으로 판단합니다. 자주 쓰는 명령은 다음과 같습니다.
256
+
257
+ ```bash
258
+ litclaude litgoal create-goals --brief "<brief>" --json
259
+ litclaude litgoal record-evidence --criterion <id> --status pass --json '{"artifact":"...","cleanup":"..."}'
260
+ litclaude litgoal checkpoint --status active --note "<progress>" --json
261
+ litclaude litgoal steer --kind scope --note "<what changed and why>" --json
262
+ ```
263
+
264
+ `record-review-blockers`는 해결되지 않은 review finding을 기록합니다.
265
+ malformed JSON, unknown criterion, corrupt state, invalid steering kind는
266
+ 성공처럼 보이지 않고 controlled error로 실패해야 합니다.
267
+
268
+ 단순히 `lit`라고 입력하는 것은 hook context activation입니다. Claude Code
269
+ history에는 별도 Skill tool invocation이 아니라 hook guidance로 보일 수
270
+ 있습니다. 명시적인 LitClaude skill activation을 보고 싶다면 namespaced
271
+ command를 사용합니다.
272
+
273
+ ```text
274
+ /litclaude:lit-loop <증거 기반으로 실행할 작업>
275
+ /litclaude:dynamic-workflow <병렬 또는 위임할 목표>
276
+ /litclaude:lit-plan <계획이 필요한 작업>
277
+ /litclaude:deep-interview <명확화가 필요한 작업>
278
+ /litclaude:review-work <검토할 범위>
279
+ /litclaude:litgoal <goal operation>
280
+ /litclaude:start-work plans/example-plan.md
281
+ ```
282
+
283
+ 이 namespaced command들은 `plugins/litclaude/commands/` 아래 실제 Claude Code
284
+ command file로 배포됩니다. 따라서 `/litclaude:lit-loop`는 command body를 먼저
285
+ 로드하고, 이어서 대응 skill guidance를 따라가야 합니다.
286
+ 위의 짧은 slash alias도 prompt hook이 인식하며, plain `lit` loop fallback이
287
+ 아니라 대응 discipline으로 라우팅됩니다.
288
+
289
+ 요청이 넓거나 acceptance criteria, non-goal, decision boundary가 부족하면
290
+ `/lit-plan` 전에 `/deep-interview`를 쓰는 것이 안전합니다.
291
+ `deep-interview/` 아래 요구사항 artifact를 남기고, 구현은 직접 하지 않은 채
292
+ 계획 또는 실행 단계로 넘깁니다.
293
+
294
+ ## 명령어
295
+
296
+ | 명령어 | 용도 |
297
+ | --- | --- |
298
+ | `npx --yes litclaude-ai install` | Claude Code plugin 설치 및 활성화 |
299
+ | `npx --yes litclaude-ai --version` | packaged LitClaude version 출력 |
300
+ | `npx --yes litclaude-ai doctor` | 파일, Claude validation, plugin details 검증 |
301
+ | `npx --yes litclaude-ai path` | 설치된 Claude plugin 경로 출력 |
302
+ | `npx --yes litclaude-ai run -- --help` | 설치 상태를 확인한 뒤 plain `claude` 실행 |
303
+ | `npx --yes litclaude-ai update` | 현재 package version 재설치 |
304
+ | `npx --yes litclaude-ai uninstall` | LitClaude가 관리한 설치 상태 제거 |
305
+
306
+ 전역 설치 없이 checkout 내부 bin을 확인할 수도 있습니다.
307
+
308
+ ```bash
309
+ node bin/litclaude-ai.js --dry-run install
310
+ node bin/litclaude-ai.js --dry-run doctor
311
+ ```
312
+
313
+ ## 로컬 개발
314
+
315
+ 이 저장소에서 바로 플러그인을 테스트할 때는 다음처럼 실행합니다.
316
+
317
+ ```bash
318
+ claude --plugin-dir ./plugins/litclaude
319
+ ```
320
+
321
+ Claude Code 안에서 플러그인 메타데이터를 다시 읽고 싶으면 다음 명령을
322
+ 사용합니다.
323
+
324
+ ```text
325
+ /reload-plugins
326
+ ```
327
+
328
+ 기존 OMC/omc Claude 플러그인이 설치되어 있다면 테스트 중에는 LitClaude와
329
+ 함께 co-load하지 않는 것을 권장합니다. 로컬 checkout 테스트는
330
+ `--plugin-dir`로 직접 로드하고, npm 설치는 사용자 홈 아래에 LitClaude가
331
+ 관리하는 local marketplace만 만듭니다. root Claude marketplace skeleton은
332
+ 저장소 checkout에 배포하지 않습니다. user-level OMC가 검증 중 `.omc/`
333
+ 상태 디렉터리를 만들더라도 LitClaude는 이를 git 및 npm package surface에서
334
+ 제외합니다.
335
+
336
+ ## 검증
337
+
338
+ ```bash
339
+ npm test
340
+ npm run validate:plugin
341
+ npm run qa:tmux
342
+ npm run qa:portable
343
+ npm run pack:dry-run
344
+ ```
345
+
346
+ `validate:plugin`과 `qa:tmux`는 로컬 검증용입니다. Claude Code가 없는
347
+ 환경에서는 smoke harness가 모호한 실패 대신 controlled skip과 version
348
+ probe evidence를 남깁니다.
349
+
350
+ ## 안전 모델
351
+
352
+ - Hook은 Claude Code event JSON을 stdin으로 읽고 제한된 JSON context를 반환합니다.
353
+ - Hook은 사용자 프롬프트 텍스트를 실행하지 않습니다.
354
+ - litwork prompt hook은 고정된 guidance를 반환하며 prompt text를 다시 echo하지 않습니다.
355
+ - `.omc/`, `.litclaude/`, `evidence/` 같은 로컬 상태는 ignore되며 npm 패키지에 포함되지 않습니다.
356
+ - planner agent는 read-only이며 edit tool을 갖지 않습니다.
357
+ - MCP와 LSP helper는 local stdio command입니다.
358
+ - 향후 publish, remote marketplace 변경, 새 package release는 모두 명시적 승인 후 진행합니다.
359
+
360
+ ## 프로젝트 지도
361
+
362
+ | Surface | Path |
363
+ | --- | --- |
364
+ | CLI | `bin/litclaude-ai.js` |
365
+ | Claude plugin | `plugins/litclaude/` |
366
+ | Skills | `plugins/litclaude/skills/` |
367
+ | Agents | `plugins/litclaude/agents/` |
368
+ | Hooks | `plugins/litclaude/hooks/hooks.json` |
369
+ | MCP | `plugins/litclaude/.mcp.json` |
370
+ | LSP | `plugins/litclaude/.lsp.json` |
371
+
372
+ 영문 설명은 `README.md`, workflow migration 표는 `docs/migration.md`, 현재
373
+ compatibility audit은 `docs/workflow-compatibility-audit.md`, release notes는
374
+ `CHANGELOG.md`를 참고하세요.
@@ -0,0 +1,165 @@
1
+ # LitClaude Release Checklist
2
+
3
+ Status: `litclaude-ai@0.2.2` is the current release candidate for Dynamic workflow hardening.
4
+ `package.json` is aligned to `0.2.2`, and
5
+ `plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.2.2`.
6
+
7
+ This release carries the v0.2.2 Dynamic workflow hardening surfaces:
8
+ `/dynamic-workflow`, `workflow-check --json`, native `/goal` fallback guidance,
9
+ subagent delegation mapping, `start-work-next`, context-pressure resume
10
+ guidance, precise post-edit mutated-file detection, and the v0.2.0
11
+ `review-work` / `litgoal` workflow parity surfaces, including the litgoal
12
+ runtime. It is the next publishable target when explicitly approved.
13
+
14
+ DO NOT publish a new version of LitClaude, run `npm publish`, push release
15
+ tags, or add a remote Claude Code marketplace entry without explicit user
16
+ approval.
17
+
18
+ This release path is for personal install convenience, not advertisement,
19
+ public repo promotion, or a public launch campaign.
20
+
21
+ Historical baseline anchors still covered by this checklist: `0.1.12` was the
22
+ publish-recovery baseline, `0.1.13` added LIT command trigger guardrails,
23
+ `0.1.14` added command-name HUD display, `0.1.15` introduced HUD brand color
24
+ selection, `0.1.16` added rate-limit reset countdown and deep-interview install
25
+ guidance, and `0.1.18` covered compact HUD bars and broader brand accent
26
+ behavior.
27
+
28
+ ## Verified Locally
29
+
30
+ - `npm test`
31
+ - `npm run validate:plugin`
32
+ - `npm run qa:tmux`
33
+ - `npm run qa:portable`
34
+ - `npm run pack:dry-run`
35
+
36
+ ## Local Checkout Use
37
+
38
+ Use this track when testing from the current checkout:
39
+
40
+ 1. Run `npm test`.
41
+ 2. Run `npm run validate:plugin`.
42
+ 3. Run `npm run qa:tmux`.
43
+ 4. Run `node bin/litclaude-ai.js workflow-check --json`.
44
+ 5. Run `node bin/litclaude-ai.js litgoal --help`.
45
+ 6. Start Claude Code with `claude --plugin-dir ./plugins/litclaude`.
46
+
47
+ No npm publication is required for this track.
48
+
49
+ ## v0.2.2 Dynamic Workflow Hardening Gates
50
+
51
+ Before requesting publication approval, confirm these artifacts from the current
52
+ checkout:
53
+
54
+ - `package.json` version is `0.2.2`.
55
+ - `plugins/litclaude/.claude-plugin/plugin.json` version is `0.2.2`.
56
+ - `plugins/litclaude/commands/dynamic-workflow.md` documents subagent delegation.
57
+ - `node bin/litclaude-ai.js workflow-check --json` reports `status: pass`.
58
+ - `node bin/litclaude-ai.js workflow-check --json` reports
59
+ `subagentReliability` and `commandHookAgreement` as true.
60
+ - `node bin/litclaude-ai.js start-work-next --json` is available for active
61
+ `.litclaude/boulder.json` continuation state and returns idle when no task remains.
62
+ - PostToolUse hook tests cover patch-shaped mutated-file extraction.
63
+ - SessionStart hook tests cover context-pressure resume guidance.
64
+ - `plugins/litclaude/commands/review-work.md` documents the 5-lane review.
65
+ - `plugins/litclaude/commands/litgoal.md` documents durable goal state.
66
+ - `plugins/litclaude/lib/litgoal/` ships the runtime CLI/state modules.
67
+ - `node bin/litclaude-ai.js litgoal --help` prints durable state commands.
68
+ - `npm pack --dry-run --json` includes runtime payloads and excludes local
69
+ `.litclaude/`, `.omc/`, and `evidence/` state.
70
+ - `.litclaude/lit-loop/evidence/v020-red-contracts.txt` or equivalent RED evidence
71
+ exists for the workflow parity contracts before GREEN evidence.
72
+
73
+ ## Fresh Machine NPM Install Use
74
+
75
+ Use this track after an approved npm package version exists:
76
+
77
+ 1. Run `npx --yes litclaude-ai install`.
78
+ 2. Run `npx --yes litclaude-ai doctor`.
79
+ 3. Start Claude Code with the normal `claude` command.
80
+
81
+ The installer should register `litclaude@litclaude-ai` in Claude Code's user
82
+ plugin registry, `settings.json` `enabledPlugins`, and the LitClaude-managed
83
+ local marketplace metadata needed by `claude plugin details`. Do not ask users
84
+ to type a generated command that shells out to `npx --yes litclaude-ai path` for
85
+ normal npm installs.
86
+
87
+ Run fresh-machine QA from a fresh directory, not from this repository checkout.
88
+ Inside the same-name source checkout, older published builds such as
89
+ `npx --yes litclaude-ai@0.1.11 install` could resolve the local package and
90
+ fail with `sh: litclaude-ai: command not found`. This checkout intentionally
91
+ does not track a `node_modules/.bin` shim. Use `cd /tmp` for the fresh directory
92
+ scenario, or use the explicit fresh-prefix form:
93
+
94
+ ```bash
95
+ npm exec --prefix "$(mktemp -d)" --yes --package litclaude-ai -- litclaude install
96
+ ```
97
+
98
+ ## Quiet Public NPM Package Release Or Update
99
+
100
+ Use this track only when the user explicitly approves making a new package
101
+ version installable through `npm`, `npx`, and `bunx`.
102
+
103
+ 1. Confirm the target package name and version with the user.
104
+ 2. Review `README.md`, `README_ko-KR.md`, `docs/migration.md`, and
105
+ `docs/workflow-compatibility-audit.md` for neutral release wording.
106
+ 3. Run `npm whoami` and confirm the intended npm account.
107
+ 4. Re-run the full local verification set from a clean checkout:
108
+ - `npm test`
109
+ - `npm run validate:plugin`
110
+ - `npm run doctor`
111
+ - `npm run qa:tmux`
112
+ - `npm run qa:portable`
113
+ - `npm run pack:dry-run`
114
+ 5. Inspect `npm pack --dry-run --json` and confirm package contents.
115
+ 6. Ask for explicit user approval to publish.
116
+ 7. Only after approval, perform the selected publication path in a separate,
117
+ auditable release step.
118
+
119
+ For the current unscoped `litclaude-ai` package name, use:
120
+
121
+ ```bash
122
+ npm publish
123
+ ```
124
+
125
+ If the package is renamed to a scoped package such as `@scope/litclaude-ai`,
126
+ publish it publicly with:
127
+
128
+ ```bash
129
+ npm publish --access public
130
+ ```
131
+
132
+ ## Accidental Publish Rollback
133
+
134
+ If the wrong package or version is published, stop and report the incident
135
+ before further mutation. Depending on npm policy and timing, choose one audited
136
+ rollback action with user approval:
137
+
138
+ 1. `npm deprecate <package>@<version> "<message>"`
139
+ 2. `npm unpublish <package>@<version>` only when allowed and explicitly approved
140
+ 3. Publish a corrected patch version after verification
141
+
142
+ ## Marketplace Boundary
143
+
144
+ Local checkout testing still uses `claude --plugin-dir ./plugins/litclaude`.
145
+ NPM installs should use the global Claude user plugin registry and normal
146
+ `claude` launches. A root Claude marketplace file is intentionally not shipped
147
+ because users may already have an OMC/omc marketplace or plugin installed. The
148
+ npm installer creates a LitClaude-managed local marketplace under
149
+ `LITCLAUDE_HOME` and registers only `litclaude-ai` in Claude's user marketplace
150
+ metadata so skills and hooks appear in `claude plugin details`. Do not add a
151
+ remote marketplace entry without explicit user approval. If user-level OMC
152
+ creates `.omc/` state during validation, keep it ignored and confirm it is
153
+ absent from the package dry-run.
154
+
155
+ ## Rollback
156
+
157
+ If a local test load causes problems, stop Claude Code, restart without
158
+ `claude --plugin-dir ./plugins/litclaude`, and run `/reload-plugins` in any
159
+ remaining session that should drop the local plugin metadata.
160
+
161
+ If an npm-installed LitClaude copy causes problems, run:
162
+
163
+ ```bash
164
+ npx --yes litclaude-ai uninstall
165
+ ```