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
package/docs/agents.md ADDED
@@ -0,0 +1,67 @@
1
+ # LitClaude Agents
2
+
3
+ LitClaude agents map the LitClaude team workflow into Claude Code subagents
4
+ with bounded responsibilities.
5
+
6
+ | Agent | Responsibility | Boundary |
7
+ | --- | --- | --- |
8
+ | `prometheus-planner` | Build implementation plans and identify risks. | Read-only tools, no write/edit/bash tools. |
9
+ | `boulder-executor` | Execute checked plan tasks. | Must follow task acceptance criteria and collect evidence. |
10
+ | `oracle-verifier` | Verify tests, artifacts, and task completion. | Reviews evidence before approval. |
11
+ | `quality-reviewer` | Perform code-review style risk checks. | Findings first, no unrelated rewrites. |
12
+ | `librarian-researcher` | Fetch and summarize external references. | Use primary sources and cite them. |
13
+ | `qa-runner` | Run tmux/manual QA scenarios. | Must clean up sessions and capture receipts. |
14
+
15
+ The planner is deliberately constrained because the safest Claude Code retrofit
16
+ keeps planning separate from mutation. Executor and QA agents can act only
17
+ inside the plan and evidence contract.
18
+
19
+ ## Review Work Routing
20
+
21
+ The v0.2.0 workflow parity review route uses five evidence lanes:
22
+
23
+ | Review lane | Agent routing | Required evidence |
24
+ | --- | --- | --- |
25
+ | goal/constraint verification | `oracle-verifier` with `review-work` and `rules` | Goal, non-goals, acceptance criteria, publish boundary, and constraints checked against current docs/test reads. |
26
+ | hands-on QA execution | `qa-runner` with `start-work` and `review-work` | Automated test output, Manual-QA channels, artifacts, and cleanup receipt. |
27
+ | code quality | `quality-reviewer` with `review-work` and `programming` | Findings-first code review focused on regressions and maintainability. |
28
+ | security | `quality-reviewer` with `review-work` and `programming` | Prompt injection, malformed input, local state, and unsafe command handling risks. |
29
+ | local-first context mining | `librarian-researcher` with `rules` | Local checkout, docs, tests, and ledgers checked before external references. |
30
+
31
+ The aggregate verdict is PASS, FAIL, or NEEDS-CONTEXT. Broad review work may
32
+ use Dynamic workflow when Claude Code exposes it; isolated edits can use
33
+ `claude --worktree <short-name> --tmux` when a separate checkout is required.
34
+
35
+ ## Dynamic Workflow Delegation
36
+
37
+ The v0.2.2 `/dynamic-workflow` route makes the delegation map explicit for
38
+ Claude Code Dynamic workflow lanes and subagent spawning. Child assignments
39
+ start with `TASK:` and include `DELIVERABLE`, `SCOPE`, and `VERIFY` so the
40
+ worker knows the artifact, boundary, and proof of completion:
41
+
42
+ | Delegation lane | Agent | Evidence boundary |
43
+ | --- | --- | --- |
44
+ | plan and dependency order | `prometheus-planner` | Read-only plan with files, tests, Manual-QA channel, and cleanup. |
45
+ | implementation | `boulder-executor` | Smallest checked code change with RED -> GREEN evidence. |
46
+ | acceptance verification | `oracle-verifier` | Goal, criteria, and artifact checks before completion. |
47
+ | manual QA | `qa-runner` | tmux/browser/HTTP/computer-use artifact plus cleanup receipt. |
48
+ | code/security review | `quality-reviewer` | Findings-first review with concrete file references. |
49
+ | local-first context mining | `librarian-researcher` | Repo/docs/history search before external sources. |
50
+
51
+ `litclaude-ai workflow-check --json` verifies that this route, goal guidance,
52
+ Dynamic workflow guidance, subagent reliability contract, and command/hook
53
+ agreement are present.
54
+
55
+ ## Local Use
56
+
57
+ Load the plugin from this checkout:
58
+
59
+ ```bash
60
+ claude --plugin-dir ./plugins/litclaude
61
+ ```
62
+
63
+ Then reload after edits:
64
+
65
+ ```text
66
+ /reload-plugins
67
+ ```
package/docs/hooks.md ADDED
@@ -0,0 +1,134 @@
1
+ # LitClaude Hooks
2
+
3
+ LitClaude hooks translate the LitClaude prompt workflow into Claude Code hook
4
+ events while keeping execution local and bounded.
5
+
6
+ ## Hook Events
7
+
8
+ | Event | Runner | Purpose |
9
+ | --- | --- | --- |
10
+ | `SessionStart` | `plugins/litclaude/bin/litclaude-hook.js session-start` | Adds a compact rules-loaded context line. |
11
+ | `UserPromptSubmit` | `plugins/litclaude/bin/litclaude-hook.js user-prompt-submit` | Detects litwork/lit prompts and injects workflow context. |
12
+ | `PostToolUse` | `plugins/litclaude/bin/litclaude-hook.js post-tool-use` | Reminds the session to run post-edit checks. |
13
+ | `PostCompact` | `plugins/litclaude/bin/litclaude-hook.js post-compact` | Resets compacted rule context after summarization. |
14
+
15
+ ## Workflow Trigger Phrases
16
+
17
+ The `UserPromptSubmit` hook activates on any of these phrases:
18
+
19
+ ```text
20
+ lit
21
+ litwork
22
+ $lit-plan
23
+ /lit-plan
24
+ /litclaude:lit-plan
25
+ $lit-loop
26
+ /lit-loop
27
+ /litclaude:lit-loop
28
+ $deep-interview
29
+ /deep-interview
30
+ /litclaude:deep-interview
31
+ $dynamic-workflow
32
+ /dynamic-workflow
33
+ /litclaude:dynamic-workflow
34
+ $review-work
35
+ /review-work
36
+ /litclaude:review-work
37
+ $litgoal
38
+ /litgoal
39
+ /litclaude:litgoal
40
+ $start-work
41
+ /start-work
42
+ /litclaude:start-work
43
+ ```
44
+
45
+ When a LIT trigger is present, the hook returns additional context containing
46
+ `LITWORK MODE ENABLED` and a visible `LitClaude lit hook active` system
47
+ message. For `/deep-interview`, it returns `DEEP INTERVIEW MODE ENABLED` while
48
+ still routing to `/litclaude:deep-interview` / `Skill(deep-interview)`.
49
+ That context is guidance for Claude Code; it is not executed as a command. The
50
+ guidance tells Claude to treat plain `lit` as `/litclaude:lit-loop` /
51
+ `Skill(lit-loop)` semantics before ordinary task execution.
52
+
53
+ LitClaude follows the LitClaude goal pattern as model-facing run context, not
54
+ as slash-command injection. If Claude Code exposes the native goal surface, the
55
+ guidance tells Claude to inspect `get_goal`, call `create_goal` only when no
56
+ matching goal is active, and delay `update_goal` until verified completion or a
57
+ genuine blocker. It may also point Claude toward the user-visible `/goal`
58
+ surface, but it does not auto-type `/goal` or send slash command text.
59
+
60
+ If goal tools are unavailable or not exposed in the running Claude Code session,
61
+ the hook context keeps the local evidence ledger authoritative. It may suggest
62
+ `/goal <completion condition>` before long execution, but it should not repeat
63
+ fallback chatter on every LIT turn.
64
+
65
+ For broad work, the same context ports the LitClaude model-facing principle to
66
+ Claude Code's exposed orchestration surfaces: if `Workflow` is available, call
67
+ the `Workflow` tool before serial execution and bind every lane to evidence and
68
+ cleanup. If isolated edits need a model-facing worktree lane, use
69
+ `EnterWorktree`; when only the CLI surface is available, the actionable launch
70
+ form is `claude --worktree <short-name> --tmux`.
71
+
72
+ `/dynamic-workflow` and `$dynamic-workflow` are the v0.2.2 consolidated route
73
+ for that behavior. They load `/litclaude:dynamic-workflow` / `Skill(lit-loop)`,
74
+ then map subagent delegation to `prometheus-planner`, `boulder-executor`,
75
+ `oracle-verifier`, `qa-runner`, `quality-reviewer`, and `librarian-researcher`.
76
+ The hook also reminds child assignments to use `TASK:`, `DELIVERABLE`, `SCOPE`,
77
+ and `VERIFY`, with short wait cycles and fallback only after missing
78
+ deliverables, acknowledgement-only replies, or `BLOCKED:` reports. Run
79
+ `litclaude-ai workflow-check --json` to verify the hook route, goal guidance,
80
+ Dynamic workflow guidance, subagent reliability, and command/hook agreement
81
+ before full QA.
82
+
83
+ When SessionStart sees transcript context-pressure markers, the hook adds a
84
+ bounded resume reminder to reread `HANDOFF.md`, the active plan, the start-work
85
+ ledger, Boulder state, and `git status --short` before edits.
86
+
87
+ Plain `lit` therefore activates hook context, not a visible Skill tool call.
88
+ For a visible LitClaude command/skill invocation, use the namespaced Claude
89
+ Code commands. The shorter slash aliases above are also recognized by the prompt
90
+ hook so they route to the same discipline instead of falling through to plain
91
+ `lit` loop activation:
92
+
93
+ ```text
94
+ /litclaude:lit-loop <goal>
95
+ /litclaude:dynamic-workflow <parallel or delegated objective>
96
+ /litclaude:lit-plan <planning brief>
97
+ /litclaude:start-work plans/example-plan.md
98
+ ```
99
+
100
+ These are real Claude Code command files in `plugins/litclaude/commands/`.
101
+
102
+ `/deep-interview` is the clarification route. It loads
103
+ `/litclaude:deep-interview` / `Skill(deep-interview)` guidance and should run
104
+ before `/lit-plan` when a request lacks non-goals, decision boundaries, or
105
+ acceptance criteria.
106
+
107
+ `/review-work` and `$review-work` load `/litclaude:review-work` /
108
+ `Skill(review-work)`. That route runs the v0.2.0 workflow parity 5-lane review:
109
+ goal/constraint verification, hands-on QA execution, code quality, security,
110
+ and local-first context mining. `/litgoal` and `$litgoal` load
111
+ `/litclaude:litgoal` / `Skill(litgoal)` for durable local goal state and
112
+ the litgoal CLI.
113
+
114
+ ## Safety
115
+
116
+ Hooks parse JSON from stdin and return JSON to Claude Code. The hook does not
117
+ execute prompt text and does not echo prompt text into the returned context;
118
+ prompt text is not executed or echoed. The litwork detector returns constant
119
+ workflow guidance, so a prompt cannot become a shell command through the hook
120
+ response. Malformed hook input and malformed litgoal JSON should surface a controlled error instead of a misleading success response.
121
+
122
+ ## Local Smoke
123
+
124
+ Run the hook fixture directly:
125
+
126
+ ```bash
127
+ node plugins/litclaude/bin/litclaude-hook.js user-prompt-submit < fixtures/hooks/user-prompt-litwork.json
128
+ ```
129
+
130
+ Reload local plugin metadata in Claude Code after hook edits:
131
+
132
+ ```text
133
+ /reload-plugins
134
+ ```
package/docs/lsp.md ADDED
@@ -0,0 +1,40 @@
1
+ # LitClaude LSP
2
+
3
+ LitClaude includes a Claude Code plugin LSP config and a local doctor command
4
+ for TypeScript-family projects.
5
+
6
+ ## Configuration
7
+
8
+ `plugins/litclaude/.lsp.json` declares a TypeScript language server command:
9
+
10
+ ```json
11
+ ["typescript-language-server", "--stdio"]
12
+ ```
13
+
14
+ It covers `.ts`, `.tsx`, `.js`, `.jsx`, `.mjs`, and `.cjs` files.
15
+
16
+ ## Doctor
17
+
18
+ Run the doctor locally:
19
+
20
+ ```bash
21
+ node plugins/litclaude/bin/litclaude-lsp-doctor.js
22
+ ```
23
+
24
+ If `typescript-language-server` is unavailable, the doctor exits successfully
25
+ with installation guidance so local smoke tests can distinguish an environment
26
+ gap from a plugin failure.
27
+
28
+ `litclaude doctor` also prints the LitClaude LSP server names from the
29
+ installed `.lsp.json`. If Claude Code reports load errors for official LSP
30
+ plugins such as `rust-analyzer-lsp`, `pyright-lsp`, or `gopls-lsp`, LitClaude
31
+ reports those as external binary warnings rather than LitClaude plugin errors.
32
+
33
+ ## Claude Code Reload
34
+
35
+ After changing `.lsp.json`, restart Claude Code with the local plugin directory
36
+ or use:
37
+
38
+ ```text
39
+ /reload-plugins
40
+ ```
@@ -0,0 +1,209 @@
1
+ # LitClaude Migration
2
+
3
+ LitClaude maps workflow disciplines into Claude Code-native surfaces. The goal
4
+ is behavior parity where Claude Code exposes the same kind of surface, and a
5
+ conservative local fallback where it does not.
6
+
7
+ > **Upgrading from `lazyclaude-ai`?** See [Upgrading from lazyclaude-ai](#upgrading-from-lazyclaude-ai)
8
+ > at the bottom — the project was renamed and a few local paths/env vars changed.
9
+
10
+ | Reference surface | Claude Code surface | LitClaude implementation |
11
+ | --- | --- | --- |
12
+ | CLI prompt engineering | Claude Code skills | `plugins/litclaude/skills/*/SKILL.md` |
13
+ | Auxiliary skill packs | Claude Code skill auxiliary files | `programming/references`, `programming/scripts`, and `debugging/references` are included where portable |
14
+ | Litwork plan mode | Claude Code skill plus planner agent | `lit-plan` and `prometheus-planner` |
15
+ | Clarification interview | Claude Code skill plus command | `deep-interview` asks one Socratic question per round, persists state under `deep-interview/`, and hands a spec to planning or execution |
16
+ | Execution loop | Claude Code skill plus executor agent | `lit-loop`, `start-work`, and `boulder-executor` |
17
+ | 5-lane review | Claude Code command, skill, and agents | `review-work` runs goal/constraint verification, hands-on QA execution, code quality, security, and local-first context mining |
18
+ | Durable goal runtime | Package CLI plus local state | `litgoal` writes criteria, evidence, checkpoints, steering, and blockers under `.litclaude/litgoal/` |
19
+ | Goal-tool guidance | Claude Code native goal surface | `/goal` when user-selected, or model-facing `get_goal`, `create_goal`, and verified-final `update_goal` guidance when exposed |
20
+ | Parallel orchestration | Claude Code Dynamic workflow and Dynamic worktree surfaces | Call `Workflow` for broad independent work when exposed; use `EnterWorktree` or the CLI worktree path for risky or parallel edits |
21
+ | Dynamic workflow readiness | Claude Code command plus package diagnostic | `/dynamic-workflow` and `workflow-check --json` verify goal, Dynamic workflow, and subagent delegation surfaces |
22
+ | Hooks | Claude Code hooks | `plugins/litclaude/hooks/hooks.json` |
23
+ | MCP helpers | Claude Code plugin MCP config | `plugins/litclaude/.mcp.json` |
24
+ | LSP integration | Claude Code plugin LSP config | `plugins/litclaude/.lsp.json` |
25
+ | Package alias | npm package bin alias | `litclaude-ai` |
26
+ | Review/research agents | Claude Code agents | `quality-reviewer`, `oracle-verifier`, `librarian-researcher` |
27
+
28
+ ## Local Plugin Flow
29
+
30
+ Use the local plugin path while developing from this checkout:
31
+
32
+ ```bash
33
+ claude --plugin-dir ./plugins/litclaude
34
+ ```
35
+
36
+ For fresh machines, the quiet npm distribution path is:
37
+
38
+ ```bash
39
+ npx --yes litclaude-ai install
40
+ bunx litclaude-ai install
41
+ litclaude doctor
42
+ ```
43
+
44
+ Launch Claude Code normally after install:
45
+
46
+ ```bash
47
+ claude
48
+ ```
49
+
50
+ The installer writes the user plugin cache, `plugins/installed_plugins.json`,
51
+ the `settings.json` `enabledPlugins` entry for `litclaude@litclaude-ai`, and
52
+ a LitClaude-managed local marketplace entry in `known_marketplaces.json`.
53
+ This keeps installation convenient without requiring public repo promotion,
54
+ manual `--plugin-dir` launch commands, or a remote Claude marketplace entry.
55
+
56
+ ## Goal And Dynamic Workflow Parity
57
+
58
+ Reference goal integration is model-facing guidance around goal tools; it does
59
+ not type a `/goal` slash command for the user. LitClaude mirrors that contract:
60
+ lit hook context and lit skills mention Claude Code's native goal surface, ask
61
+ Claude to inspect `get_goal`, create a goal with `create_goal` only when no
62
+ matching active goal exists, and defer `update_goal` until the evidence gate has
63
+ passed or a real blocker is recorded.
64
+
65
+ Current Claude Code sessions may not expose model-facing goal tools to the
66
+ model. When goal tools are unavailable or not exposed, LitClaude should not
67
+ pretend the native goal was bound. It keeps the local evidence ledger
68
+ authoritative and may suggest `/goal <completion condition>` before
69
+ long-running lit execution without repeatedly printing fallback chatter.
70
+
71
+ When the user explicitly chooses Claude Code `/goal`, that native session goal
72
+ remains user-visible and user-controlled. LitClaude does not auto-type
73
+ `/goal`. For multi-lane work, LitClaude follows the same model-facing tool
74
+ principle where Claude Code exposes it: call the `Workflow` tool before serial
75
+ execution, bind each lane to criteria and evidence, and use `EnterWorktree` for
76
+ isolated model-facing worktree lanes. When only the CLI surface is available,
77
+ the concrete isolated-lane launch form is `claude --worktree <short-name> --tmux`.
78
+
79
+ `/dynamic-workflow`, `$dynamic-workflow`, and `/litclaude:dynamic-workflow`
80
+ consolidate that behavior into one route. The route keeps `/goal`
81
+ user-controlled, calls model-facing goal tools only when exposed, and maps
82
+ subagent delegation to `prometheus-planner`, `boulder-executor`,
83
+ `oracle-verifier`, `qa-runner`, `quality-reviewer`, and `librarian-researcher`.
84
+ Child assignments use `TASK:`, `DELIVERABLE`, `SCOPE`, and `VERIFY`;
85
+ `workflow-check --json` now verifies both subagent reliability and command/hook
86
+ agreement. Operators can verify availability with:
87
+
88
+ ```bash
89
+ litclaude-ai workflow-check --json
90
+ ```
91
+
92
+ Long `$start-work` runs can also use `litclaude-ai start-work-next --json` to
93
+ recover the active plan, ledger path, and first unchecked top-level task from
94
+ local `.litclaude` state after a compacted or interrupted session.
95
+
96
+ ## Review And Litgoal Parity
97
+
98
+ The workflow parity surface is local-first and evidence-bound. It does not imply
99
+ that an npm publish or remote marketplace publication has happened.
100
+ `/review-work`, `$review-work`, and `/litclaude:review-work` run the 5-lane
101
+ review contract: goal/constraint verification, hands-on QA execution, code
102
+ quality, security, and local-first context mining. Manual-QA channels must
103
+ produce artifacts, and all spawned sessions, servers, ports, browser tabs, and
104
+ temp directories need a cleanup receipt before completion.
105
+
106
+ `/litgoal`, `$litgoal`, and `/litclaude:litgoal` bind long work to the
107
+ litgoal runtime in `plugins/litclaude/lib/litgoal/`. The local state lives
108
+ under `.litclaude/litgoal/`, and current docs/test reads are the authority if
109
+ stale state contradicts the checkout.
110
+
111
+ Use these CLI commands for durable state:
112
+
113
+ ```bash
114
+ litclaude litgoal create-goals --brief "<brief>" --json
115
+ litclaude litgoal record-evidence --criterion <id> --status pass --json '{"artifact":"...","cleanup":"..."}'
116
+ litclaude litgoal checkpoint --status active --note "<progress>" --json
117
+ litclaude litgoal steer --kind scope --note "<what changed and why>" --json
118
+ ```
119
+
120
+ Malformed evidence JSON, unknown criteria, corrupt state, or invalid steering
121
+ kinds must fail with a controlled error.
122
+
123
+ If OMC/omc is already installed in Claude Code, keep it disabled or start a
124
+ separate Claude Code session without OMC while testing LitClaude. This repo no
125
+ longer ships a root marketplace skeleton; direct `--plugin-dir` loading avoids
126
+ local marketplace collision. If a user-level OMC plugin still runs, it may
127
+ create `.omc/` local state in the checkout; LitClaude treats that as quarantined
128
+ external state and keeps it ignored and outside packaged artifacts.
129
+
130
+ Reload plugin metadata after changing skills, agents, hooks, MCP, or LSP:
131
+
132
+ ```text
133
+ /reload-plugins
134
+ ```
135
+
136
+ ## Publication Boundary
137
+
138
+ LitClaude may be prepared as a quiet public npm package for personal install
139
+ convenience, but any `npm publish`, marketplace registration, or remote
140
+ distribution step requires explicit user approval. Until that approval exists,
141
+ uninstalling is either `litclaude uninstall` for npm-installed copies or
142
+ removing the local `--plugin-dir` usage and reloading Claude Code.
143
+
144
+ ## Upgrading from lazyclaude-ai
145
+
146
+ LitClaude was formerly published as **`lazyclaude-ai`** (the `lazyclaude` plugin,
147
+ `💤LAZYCLAUDE` HUD). The rebrand to **`litclaude-ai`** / **`litclaude`** is a new,
148
+ independent npm package — the old `lazyclaude-ai` is untouched on npm. To migrate
149
+ an existing local install:
150
+
151
+ | Old (`lazyclaude`) | New (`litclaude`) |
152
+ | --- | --- |
153
+ | npm package `lazyclaude-ai` | `litclaude-ai` |
154
+ | bins `lazyclaude` / `lazyclaude-ai` | `litclaude` / `litclaude-ai` |
155
+ | installer state dir `~/.lazyclaude` (`LAZYCLAUDE_HOME`) | `~/.litclaude` (`LITCLAUDE_HOME`) |
156
+ | per-project runtime state `.omo/` | `.litclaude/` |
157
+ | env vars `LAZYCLAUDE_*` | `LITCLAUDE_*` (e.g. `LAZYCLAUDE_HUD_ACCENT` → `LITCLAUDE_HUD_ACCENT`) |
158
+ | slash commands `/lazyclaude:<cmd>` | `/litclaude:<cmd>` |
159
+ | plugin key `lazyclaude@lazyclaude-ai` | `litclaude@litclaude-ai` |
160
+
161
+ Steps:
162
+
163
+ ```bash
164
+ # 1. Remove the old install (if present)
165
+ lazyclaude uninstall # or remove the old --plugin-dir usage
166
+
167
+ # 2. Install LitClaude
168
+ npx --yes litclaude-ai install
169
+ litclaude doctor
170
+
171
+ # 3. (Optional) carry over existing per-project loop/goal state
172
+ mv .omo .litclaude # run inside any project that had local LazyClaude state
173
+
174
+ # 4. Update any custom env vars you set: LAZYCLAUDE_* -> LITCLAUDE_*
175
+ ```
176
+
177
+ The host config dir `~/.claude` and `CLAUDE_*` host variables are unchanged —
178
+ those are owned by Claude Code, not by this plugin.
179
+
180
+ ## Own-vocabulary rename: ulw -> lit family
181
+
182
+ The workflow vocabulary has been renamed from the `ulw`/`ultrawork`/`ultragoal`
183
+ family to the `lit` family:
184
+
185
+ | Old | New |
186
+ | --- | --- |
187
+ | `ulw` (trigger keyword) | `lit` |
188
+ | `ultrawork` | `litwork` |
189
+ | `ulw-loop` (skill/command) | `lit-loop` |
190
+ | `ulw-plan` (skill/command) | `lit-plan` |
191
+ | `ultragoal` (skill/command/lib/CLI) | `litgoal` |
192
+ | `/litclaude:ulw-loop` | `/litclaude:lit-loop` |
193
+ | `/litclaude:ulw-plan` | `/litclaude:lit-plan` |
194
+ | `/litclaude:ultragoal` | `/litclaude:litgoal` |
195
+ | `litclaude-ai ultragoal` | `litclaude-ai litgoal` |
196
+ | `.litclaude/ultragoal/` (local state) | `.litclaude/litgoal/` |
197
+
198
+ The `lit` keyword fires `lit-loop` via the hook. Typing `litwork` also fires it.
199
+ The bare `lit` trigger includes a soft-confirm step so a stray English "lit" is
200
+ recoverable.
201
+
202
+ Skills/commands that do NOT change: `review-work`, `start-work`,
203
+ `deep-interview`, `dynamic-workflow`.
204
+
205
+ To migrate existing local state:
206
+
207
+ ```bash
208
+ mv .litclaude/ultragoal .litclaude/litgoal # inside any project with existing state
209
+ ```
@@ -0,0 +1,119 @@
1
+ # Workflow Compatibility Audit
2
+
3
+ Reference workflow snapshot:
4
+ `3fb8802e314dc0a1f23481dd3782cdca26b92dc2`.
5
+
6
+ This document tracks the reference workflow surfaces checked during the deeper
7
+ LitClaude compatibility pass. The goal is to keep future updates honest: if the
8
+ reference grows a new user-facing skill, hook, or runtime behavior, this map should
9
+ make the missing LitClaude target obvious.
10
+
11
+ ## Workflow Parity Matrix
12
+
13
+ | Reference workflow category | LitClaude target | Status | Reason / acceptance signal |
14
+ | --- | --- | --- | --- |
15
+ | review-work 5-lane orchestration | `commands/review-work.md`, `skills/review-work`, `agents/quality-reviewer.md`, `agents/oracle-verifier.md`, `agents/qa-runner.md`, `agents/librarian-researcher.md` | Implemented | `review-work` is the v0.2.0 workflow parity 5-lane review route: scout / skeptic / implementer / edge-case / decision ledger discipline is represented as goal/constraint verification, hands-on QA execution, code quality, security, and local-first context mining with an aggregate verdict. |
16
+ | litgoal state/runtime | `commands/litgoal.md`, `skills/litgoal`, `plugins/litclaude/lib/litgoal/`, `.litclaude/litgoal/`, `bin/litclaude-ai.js litgoal ...` commands | Implemented | `litgoal` now has durable state, ledger, checkpoint, steering, quality gate, and review blocker commands through `litclaude litgoal create-goals`, `record-evidence`, `checkpoint`, `steer`, and `record-review-blockers`. |
17
+ | LIT/start-work discipline | `commands/lit-loop.md`, `commands/lit-plan.md`, `commands/start-work.md`, `skills/lit-loop`, `skills/lit-plan`, `skills/start-work` | Implemented | Existing LIT/start-work surfaces require plan reading, ledger updates, publish boundary checks, verification, manual QA artifacts, cleanup receipts, resume checkpoints, and evidence artifacts. |
18
+ | hook trigger safety | `hooks/hooks.json`, `bin/litclaude-hook.js`, `test/hooks.test.mjs`, `docs/hooks.md` | Implemented | Hooks use `UserPromptSubmit` trigger detection, exact workflow aliases, near-miss fixtures, prompt injection safe context, and no auto-type behavior for slash commands. |
19
+ | agent/command routing | `agents/*.md`, `commands/*.md`, `.claude-plugin/plugin.json`, command discovery tests | Implemented | Agents and commands route planner, executor, verifier, reviewer, librarian, and QA responsibilities into Claude Code surfaces, including review-work and litgoal command files. |
20
+ | docs/package payload | `README.md`, `README_ko-KR.md`, `docs/*.md`, `package.json`, `.claude-plugin/plugin.json`, `test/workspace-hygiene.test.mjs` | Implemented | Docs, package payload, manifest, install metadata, and package allowlist are covered by tests; v0.2.0 docs describe local parity without implying publish completion. |
21
+ | excluded/deferred telemetry | No runtime telemetry package; docs omission note | Omitted | Telemetry is omitted and any network telemetry remains deferred by reason: LitClaude should stay local and quiet unless the user explicitly requests an observable reporting feature. |
22
+
23
+ ## Runtime Concepts
24
+
25
+ | Reference surface | LitClaude target | Status |
26
+ | --- | --- | --- |
27
+ | prompt activation | `hooks/hooks.json`, `bin/litclaude-hook.js`, `commands/lit-loop.md`, `commands/lit-plan.md`, `commands/deep-interview.md`, `commands/start-work.md` | UserPromptSubmit detects workflow triggers and injects compact Claude Code guidance. |
28
+ | comment-checker | `skills/comment-checker`, `PostToolUse` hook guidance | Claude-native comment hygiene skill plus post-edit reminder. |
29
+ | lsp | `.lsp.json`, `.mcp.json`, `bin/litclaude-lsp-doctor.js`, `skills/lsp` | Lightweight Claude Code LSP/MCP helper rather than vendoring a full external package. |
30
+ | rules | `skills/rules`, `SessionStart` / `PostCompact` hook behavior | Claude session rule guidance and cache-reset messaging. |
31
+ | litgoal | `commands/litgoal.md`, `skills/litgoal`, `plugins/litclaude/lib/litgoal/`, `lit-*`, `start-work` goal guidance | Claude-native goal wording with evidence/ledger/quality-gate discipline and durable CLI state. |
32
+ | litwork | `commands/lit-loop.md`, `commands/lit-plan.md`, `skills/lit-loop`, `skills/lit-plan` | Claude skills, commands, agents, workflow/worktree guidance, and hook injection. |
33
+ | clarification interview | `commands/deep-interview.md`, `skills/deep-interview` | Socratic requirements mode with ambiguity scoring, persisted state, and a handoff to planning/execution. |
34
+ | agents | `agents/*.md` | Planner, executor, verifier, reviewer, librarian, and QA runner roles. |
35
+ | mcp | `.mcp.json`, `bin/litclaude-mcp.js` | Plugin-local stdio helper surface. |
36
+ | install metadata | `bin/litclaude-ai.js`, `.claude-plugin/plugin.json`, local marketplace metadata | Installer writes Claude user plugin registry and LitClaude-owned local marketplace records. |
37
+ | telemetry | No runtime telemetry | Intentionally omitted as network telemetry. LitClaude remains quiet/local by default. |
38
+
39
+ ## Skill Corpus
40
+
41
+ LitClaude includes the compatibility skill corpus:
42
+
43
+ - `ai-slop-remover`
44
+ - `comment-checker`
45
+ - `debugging`
46
+ - `frontend-ui-ux`
47
+ - `lsp`
48
+ - `programming`
49
+ - `refactor`
50
+ - `remove-ai-slops`
51
+ - `review-work`
52
+ - `rules`
53
+ - `litgoal`
54
+
55
+ LitClaude now ships those names or Claude-native equivalents, plus LitClaude
56
+ workflow additions:
57
+
58
+ - `start-work`
59
+ - `review-work`
60
+ - `litgoal`
61
+ - `lit-loop`
62
+ - `lit-plan`
63
+
64
+ ## v0.2.0 Operator Contract
65
+
66
+ The v0.2.0 workflow parity documentation is intentionally local-first. It does
67
+ not claim npm publication, remote marketplace registration, or public promotion.
68
+ The publish boundary remains explicit user approval, and uninstall remains
69
+ limited to LitClaude-managed state.
70
+
71
+ Review work uses a 5-lane review: goal/constraint verification, hands-on QA
72
+ execution, code quality, security, and local-first context mining. Manual-QA
73
+ channels must leave artifacts and a cleanup receipt. Litgoal state is managed
74
+ with:
75
+
76
+ ```bash
77
+ litclaude litgoal create-goals --brief "<brief>" --json
78
+ litclaude litgoal record-evidence --criterion <id> --status pass --json '{"artifact":"...","cleanup":"..."}'
79
+ litclaude litgoal checkpoint --status active --note "<progress>" --json
80
+ litclaude litgoal steer --kind scope --note "<what changed and why>" --json
81
+ ```
82
+
83
+ Current docs/test reads override stale state during audits. Prompt text is not
84
+ executed or echoed, and malformed input should produce a controlled error.
85
+
86
+ The original `ai-slop-remover` command-facing name is preserved as an
87
+ alias-style skill so older operator muscle memory still has a matching Claude
88
+ surface. `remove-ai-slops` remains the broader LitClaude cleanup skill.
89
+
90
+ ## Auxiliary Packs
91
+
92
+ The deeper workflow skills rely on files beyond `SKILL.md`. LitClaude now
93
+ packages the high-value portable auxiliary packs:
94
+
95
+ - `programming/references`
96
+ - `programming/scripts`
97
+ - `debugging/references`
98
+
99
+ These packs carry language/runtime-specific guidance for TypeScript, Python,
100
+ Rust, Go, debugging methodology, runtime probes, and tool usage. Non-Claude
101
+ coordination examples in the debugging references were rewritten as Claude
102
+ workflow/subagent pseudocode so they do not instruct Claude Code to call missing
103
+ tools literally.
104
+
105
+ ## Deliberate Omissions
106
+
107
+ The following reference workflow content was audited but not copied into the
108
+ runtime package:
109
+
110
+ - Web/landing app: not part of the Claude Code plugin runtime.
111
+ - GitHub Actions and npm publish workflows: this repository uses manual user
112
+ publication.
113
+ - Telemetry network component: omitted to keep LitClaude local and quiet.
114
+ - Full component TypeScript packages for rules/comment-checker/LSP/litgoal:
115
+ represented by Claude-native hook/skill/MCP/LSP surfaces where portable, not
116
+ vendored wholesale.
117
+
118
+ If any of those become desired runtime features, they should be introduced with
119
+ their own tests and explicit user approval.