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.
- package/CHANGELOG.md +155 -0
- package/LICENSE +21 -0
- package/README.md +369 -0
- package/README_ko-KR.md +374 -0
- package/RELEASE_CHECKLIST.md +165 -0
- package/bin/litclaude-ai.js +643 -0
- package/cover.png +0 -0
- package/docs/agents.md +67 -0
- package/docs/hooks.md +134 -0
- package/docs/lsp.md +40 -0
- package/docs/migration.md +209 -0
- package/docs/workflow-compatibility-audit.md +119 -0
- package/generate_cover.py +123 -0
- package/package.json +48 -0
- package/plugins/litclaude/.claude-plugin/plugin.json +25 -0
- package/plugins/litclaude/.lsp.json +13 -0
- package/plugins/litclaude/.mcp.json +9 -0
- package/plugins/litclaude/agents/boulder-executor.md +12 -0
- package/plugins/litclaude/agents/librarian-researcher.md +15 -0
- package/plugins/litclaude/agents/oracle-verifier.md +16 -0
- package/plugins/litclaude/agents/prometheus-planner.md +13 -0
- package/plugins/litclaude/agents/qa-runner.md +16 -0
- package/plugins/litclaude/agents/quality-reviewer.md +17 -0
- package/plugins/litclaude/bin/litclaude-hook.js +110 -0
- package/plugins/litclaude/bin/litclaude-hud.js +271 -0
- package/plugins/litclaude/bin/litclaude-lsp-doctor.js +15 -0
- package/plugins/litclaude/bin/litclaude-mcp.js +70 -0
- package/plugins/litclaude/commands/deep-interview.md +21 -0
- package/plugins/litclaude/commands/dynamic-workflow.md +36 -0
- package/plugins/litclaude/commands/lit-loop.md +40 -0
- package/plugins/litclaude/commands/lit-plan.md +35 -0
- package/plugins/litclaude/commands/litgoal.md +30 -0
- package/plugins/litclaude/commands/review-work.md +35 -0
- package/plugins/litclaude/commands/start-work.md +36 -0
- package/plugins/litclaude/hooks/hooks.json +54 -0
- package/plugins/litclaude/lib/context-pressure.mjs +25 -0
- package/plugins/litclaude/lib/hud-accent-palette.mjs +58 -0
- package/plugins/litclaude/lib/litgoal/cli.mjs +266 -0
- package/plugins/litclaude/lib/litgoal/ledger.mjs +16 -0
- package/plugins/litclaude/lib/litgoal/paths.mjs +7 -0
- package/plugins/litclaude/lib/litgoal/state.mjs +67 -0
- package/plugins/litclaude/lib/mutated-file-paths.mjs +63 -0
- package/plugins/litclaude/lib/start-work-continuation.mjs +99 -0
- package/plugins/litclaude/lib/workflow-check.mjs +83 -0
- package/plugins/litclaude/skills/ai-slop-remover/SKILL.md +142 -0
- package/plugins/litclaude/skills/comment-checker/SKILL.md +55 -0
- package/plugins/litclaude/skills/debugging/SKILL.md +70 -0
- package/plugins/litclaude/skills/debugging/references/methodology/00-setup.md +108 -0
- package/plugins/litclaude/skills/debugging/references/methodology/02-investigate.md +126 -0
- package/plugins/litclaude/skills/debugging/references/methodology/04-oracle-triple.md +106 -0
- package/plugins/litclaude/skills/debugging/references/methodology/05-escalate.md +69 -0
- package/plugins/litclaude/skills/debugging/references/methodology/06-fix.md +116 -0
- package/plugins/litclaude/skills/debugging/references/methodology/08-qa.md +94 -0
- package/plugins/litclaude/skills/debugging/references/methodology/09-cleanup.md +164 -0
- package/plugins/litclaude/skills/debugging/references/methodology/partial-runtime-evidence.md +228 -0
- package/plugins/litclaude/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
- package/plugins/litclaude/skills/debugging/references/runtimes/go.md +252 -0
- package/plugins/litclaude/skills/debugging/references/runtimes/native-binary.md +484 -0
- package/plugins/litclaude/skills/debugging/references/runtimes/node.md +260 -0
- package/plugins/litclaude/skills/debugging/references/runtimes/python.md +248 -0
- package/plugins/litclaude/skills/debugging/references/runtimes/rust.md +234 -0
- package/plugins/litclaude/skills/debugging/references/tools/ghidra.md +212 -0
- package/plugins/litclaude/skills/debugging/references/tools/playwright-cli.md +194 -0
- package/plugins/litclaude/skills/debugging/references/tools/pwndbg.md +263 -0
- package/plugins/litclaude/skills/debugging/references/tools/pwntools.md +265 -0
- package/plugins/litclaude/skills/deep-interview/SKILL.md +323 -0
- package/plugins/litclaude/skills/deep-interview/scripts/render_progress.py +193 -0
- package/plugins/litclaude/skills/frontend-ui-ux/SKILL.md +62 -0
- package/plugins/litclaude/skills/lit-loop/SKILL.md +144 -0
- package/plugins/litclaude/skills/lit-plan/SKILL.md +125 -0
- package/plugins/litclaude/skills/litgoal/SKILL.md +219 -0
- package/plugins/litclaude/skills/lsp/SKILL.md +63 -0
- package/plugins/litclaude/skills/programming/SKILL.md +106 -0
- package/plugins/litclaude/skills/programming/references/go/README.md +90 -0
- package/plugins/litclaude/skills/programming/references/go/backend-stack.md +641 -0
- package/plugins/litclaude/skills/programming/references/go/bootstrap.md +328 -0
- package/plugins/litclaude/skills/programming/references/go/bubbletea-v2.md +360 -0
- package/plugins/litclaude/skills/programming/references/go/cobra-stack.md +468 -0
- package/plugins/litclaude/skills/programming/references/go/concurrency.md +362 -0
- package/plugins/litclaude/skills/programming/references/go/data-modeling.md +329 -0
- package/plugins/litclaude/skills/programming/references/go/error-handling.md +359 -0
- package/plugins/litclaude/skills/programming/references/go/golangci-strict.md +236 -0
- package/plugins/litclaude/skills/programming/references/go/grpc-connect.md +375 -0
- package/plugins/litclaude/skills/programming/references/go/libraries.md +337 -0
- package/plugins/litclaude/skills/programming/references/go/one-liners.md +202 -0
- package/plugins/litclaude/skills/programming/references/go/sqlc-pgx.md +471 -0
- package/plugins/litclaude/skills/programming/references/go/testing.md +467 -0
- package/plugins/litclaude/skills/programming/references/go/type-patterns.md +298 -0
- package/plugins/litclaude/skills/programming/references/python/README.md +314 -0
- package/plugins/litclaude/skills/programming/references/python/async-anyio.md +442 -0
- package/plugins/litclaude/skills/programming/references/python/data-modeling.md +233 -0
- package/plugins/litclaude/skills/programming/references/python/data-processing.md +133 -0
- package/plugins/litclaude/skills/programming/references/python/error-handling.md +218 -0
- package/plugins/litclaude/skills/programming/references/python/fastapi-stack.md +316 -0
- package/plugins/litclaude/skills/programming/references/python/httpx2-optimization.md +360 -0
- package/plugins/litclaude/skills/programming/references/python/libraries.md +307 -0
- package/plugins/litclaude/skills/programming/references/python/one-liners.md +268 -0
- package/plugins/litclaude/skills/programming/references/python/orjson-stack.md +378 -0
- package/plugins/litclaude/skills/programming/references/python/pydantic-ai.md +285 -0
- package/plugins/litclaude/skills/programming/references/python/pyproject-strict.md +232 -0
- package/plugins/litclaude/skills/programming/references/python/textual-tui.md +201 -0
- package/plugins/litclaude/skills/programming/references/python/type-patterns.md +176 -0
- package/plugins/litclaude/skills/programming/references/rust/README.md +317 -0
- package/plugins/litclaude/skills/programming/references/rust/async-tokio.md +299 -0
- package/plugins/litclaude/skills/programming/references/rust/axum-stack.md +467 -0
- package/plugins/litclaude/skills/programming/references/rust/cargo-strict.md +317 -0
- package/plugins/litclaude/skills/programming/references/rust/clap-stack.md +409 -0
- package/plugins/litclaude/skills/programming/references/rust/concurrency.md +375 -0
- package/plugins/litclaude/skills/programming/references/rust/libraries.md +439 -0
- package/plugins/litclaude/skills/programming/references/rust/one-liners.md +291 -0
- package/plugins/litclaude/skills/programming/references/rust/proptest-insta.md +429 -0
- package/plugins/litclaude/skills/programming/references/rust/type-state.md +354 -0
- package/plugins/litclaude/skills/programming/references/rust/unsafe-discipline.md +250 -0
- package/plugins/litclaude/skills/programming/references/rust/zero-cost-safety.md +527 -0
- package/plugins/litclaude/skills/programming/references/rust-ub/README.md +289 -0
- package/plugins/litclaude/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
- package/plugins/litclaude/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
- package/plugins/litclaude/skills/programming/references/typescript/README.md +195 -0
- package/plugins/litclaude/skills/programming/references/typescript/backend-hono.md +672 -0
- package/plugins/litclaude/skills/programming/references/typescript/bootstrap.md +199 -0
- package/plugins/litclaude/skills/programming/references/typescript/data-modeling.md +202 -0
- package/plugins/litclaude/skills/programming/references/typescript/error-handling.md +169 -0
- package/plugins/litclaude/skills/programming/references/typescript/tsconfig-strict.md +152 -0
- package/plugins/litclaude/skills/programming/references/typescript/type-patterns.md +196 -0
- package/plugins/litclaude/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
- package/plugins/litclaude/skills/programming/scripts/go/new-project.py +138 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/.editorconfig +13 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/.golangci.yml +95 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/ci.yml +37 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/config.go +24 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/gitignore +15 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
- package/plugins/litclaude/skills/programming/scripts/go/templates/run.go +15 -0
- package/plugins/litclaude/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
- package/plugins/litclaude/skills/programming/scripts/python/new-project.py +172 -0
- package/plugins/litclaude/skills/programming/scripts/python/new-script.py +116 -0
- package/plugins/litclaude/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
- package/plugins/litclaude/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
- package/plugins/litclaude/skills/programming/scripts/rust/new-project.py +175 -0
- package/plugins/litclaude/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
- package/plugins/litclaude/skills/programming/scripts/typescript/new-project.ts +177 -0
- package/plugins/litclaude/skills/refactor/SKILL.md +73 -0
- package/plugins/litclaude/skills/remove-ai-slops/SKILL.md +52 -0
- package/plugins/litclaude/skills/review-work/SKILL.md +331 -0
- package/plugins/litclaude/skills/rules/SKILL.md +66 -0
- package/plugins/litclaude/skills/start-work/SKILL.md +132 -0
- package/scripts/audit-plan-checkboxes.mjs +37 -0
- package/scripts/doctor.mjs +41 -0
- package/scripts/inspect-agent-tools.mjs +27 -0
- package/scripts/postinstall.mjs +50 -0
- package/scripts/qa-claude-plugin-smoke.sh +60 -0
- package/scripts/qa-portable-install.sh +136 -0
- package/scripts/validate-plugin.mjs +72 -0
package/README_ko-KR.md
ADDED
|
@@ -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
|
+
```
|