@litfamily/litopencode 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- <p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/cover-motion.webp" width="100%" alt="LitFamily motion cover: five armored robots power on one by one, the LitOpenCode robot wakes with glowing eyes and a lit frame, then LITFAMILY and KEEP THE WORK LIT. light up." /></picture></p>
1
+ <p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/assets/cover-motion.webp" width="100%" alt="LitFamily motion cover: five armored robots power on one by one, the LitOpenCode robot wakes with glowing eyes and a lit frame, then LITFAMILY and KEEP THE WORK LIT. light up." /></picture></p>
2
2
 
3
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/ascii-readme.svg" width="480" alt="LIT ASCII B mark" /></p>
3
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/assets/readme/ascii-readme.svg" width="480" alt="LIT ASCII B mark" /></p>
4
4
 
5
5
  <details>
6
6
  <summary>Copy ASCII logo</summary>
@@ -32,573 +32,92 @@
32
32
 
33
33
  # LitOpenCode
34
34
 
35
- [English](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/README.md) · [한국어](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/README-Ko-KR.md)
35
+ [English](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/README.md) · [한국어](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/README-Ko-KR.md)
36
36
 
37
37
  **Keep the work lit.**
38
38
 
39
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/litopencode-wordmark.svg" width="480" alt="LITOPENCODE display type" /></p>
40
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/litopencode-clay-icon.png" width="160" alt="LitOpenCode clay mark" /></p>
41
-
42
39
  <p align="center">
43
- <a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/badge-version.svg" alt="1.0.10" /></a>
44
- <a href="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
40
+ <a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/assets/readme/badge-version.svg" alt="1.0.12" /></a>
41
+ <a href="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
45
42
  </p>
46
43
 
47
- <p align="center">
48
- <a href="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/lucide-book-open.svg" width="16" alt="" /> Docs</a> &nbsp; <a href="#install">Install</a> &nbsp; <a href="#skills-at-a-glance">Skills</a> &nbsp; <a href="#ignition-motion"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/lucide-play.svg" width="16" alt="" /> Ignition</a> &nbsp; <a href="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
49
- </p>
44
+ LitOpenCode adds workflow agents, slash commands, and a local evidence ledger to OpenCode.
50
45
 
51
- ## What is LitOpenCode
46
+ Add `lit` to a prompt and it plans, builds, checks, and writes down the next step in your project, so a later session can pick up where this one stopped. OpenCode still runs the model and asks for permission the way it always has.
52
47
 
53
- LitOpenCode adds workflow agents, slash commands, and a local evidence ledger to OpenCode.
48
+ **[Full guide, skills gallery and A/B results on GitHub →](https://github.com/wjgoarxiv/litopencode#readme)**
54
49
 
55
50
  ## Install
56
51
 
57
- Install the scoped package with Node.js/npm and OpenCode available:
52
+ You need Node.js with npm, and OpenCode.
58
53
 
59
54
  ```sh
60
55
  LIT_PACKAGE='@litfamily/litopencode@latest'
61
56
  npm exec --package "$LIT_PACKAGE" -- litopencode install
62
57
  ```
63
58
 
64
- Restart OpenCode, press **Tab**, and select **lit-loop**. Model access and credentials
65
- come from your OpenCode provider setup. The installer offers model, permission, and
66
- output-style choices; the default permission mode is safe/ask-first.
59
+ Restart OpenCode, press **Tab**, and pick **lit-loop**. Permissions start at `safe`, where OpenCode asks you before acting. Logins and API keys stay with the provider you already set up in OpenCode.
67
60
 
68
- With the OpenAI provider, fresh installs use GPT-6 Astra (`gpt-6-astra`) at `xhigh` for planning and review, and GPT-6 Luna (`gpt-6-luna`) at `max` for execution and research. The installer also offers supported model and effort choices.
61
+ To see the changes first, add `--dry-run`; it writes nothing. To skip the questions, add `--yes`; it takes the defaults and keeps choices you saved before.
69
62
 
70
63
  ```sh
71
64
  npm exec --package @litfamily/litopencode@latest -- litopencode install --dry-run # preview changes
72
65
  npm exec --package @litfamily/litopencode@latest -- litopencode install --yes # use defaults; preserve saved choices
73
66
  ```
74
67
 
75
- Installation registers the plugin and native command/skill files under your OpenCode
76
- config root. Routes live in `~/.config/opencode/litopencode.json`; `XDG_CONFIG_HOME`
77
- changes that root. Existing custom routes remain user-owned. See the
78
- [installation and model reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#install) for custom roots,
79
- provider choices, terminal policy, and unattended setup.
68
+ ## Your first task
80
69
 
81
- This checkout is `@litfamily/litopencode@1.0.10`. Registry `@latest` can differ; inspect it with
82
- `npm view @litfamily/litopencode version` when an exact version matters.
83
-
84
- ## First use
85
-
86
- Start with one small task. Open an empty project folder in OpenCode, select
87
- `lit-loop`, and send:
70
+ Open an empty folder in OpenCode, pick `lit-loop`, and send:
88
71
 
89
72
  ```text
90
73
  lit Build a to-do list in one index.html with no dependencies; check adding and completing items, then leave results and next steps.
91
74
  ```
92
75
 
93
- Your first result is `index.html`. Open it and try adding and completing an item.
94
-
95
- When you return, use `/lit-recap` to read the record and find the next step.
96
-
97
- Use `/lit` for the same workflow. For work that needs a reviewed plan, select
98
- `lit-plan`, approve the plan, then run `/start-work`; finish with `/review-work`.
99
- `lit-implement` executes the approved plan. The planner waits for explicit user
100
- confirmation and cannot edit files or run shell commands.
101
-
102
- Progress and evidence live in `.litopencode/litgoal/`. OpenCode does not expose a
103
- native goal primitive; this repository-local ledger supports resuming work. Static
104
- skills provide guidance when their documented routes select them.
105
-
106
- ## Key features
107
-
108
- > **The spark is yours.**<br>
109
- > **Bring it to your work.**
110
-
111
- A bug to fix. A screen to build. A project to finish.
112
-
113
- Starting takes a line. Continuing takes more. When a conversation grows long or a
114
- session ends, you have to recover where you stopped: what you decided, what you
115
- checked, and what comes next.
116
-
117
- **LIT keeps that spark in the project.** It records the goal, the plan, verified
118
- results, and the next steps so another session can read them and continue.
119
-
120
- **Where one conversation ends, the next piece of work begins.**
121
-
122
- Keep the tool you already use; no other LitFamily product is required.
123
- A lasting flame does not mean a program runs forever. **It means leaving work ready
124
- to continue when the session ends.**
125
-
126
- ```text
127
- Plan → Build → Verify → Leave the next step
128
- ```
129
-
130
- ### Practical routes and visual cues
131
-
132
- Use `lit` or `/lit` to start a bounded task; `handoff` or `/lit-handoff` carries the checked result and next step; `lit-plan` prepares a plan; `/start-work <approved-plan>` executes an approved plan; `/review-work` checks the change and its evidence; and `/litresearch` uses the shipped source-backed research route. The expected effect is a project-local goal, evidence, and next-step record that another session can resume. The host limit is explicit: OpenCode owns model execution and permission prompts, while the plugin supplies routes and records; selecting a route does not prove execution or a visual check.
133
-
134
- When a Lit route activates, the reply starts with a bold ignition line. The plugin requests a six-second warning toast with five micro-logo rows and a final `🔥 LIT IGNITED · <discipline> 🔥` line when the environment supports mark glyphs; otherwise, it shows only that line.
135
-
136
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/litopencode-ignition-1600.webp" width="48%" alt="LitOpenCode ignition apparatus" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/litopencode-continuity-1600.webp" width="48%" alt="LitOpenCode continuity apparatus" /></p>
137
-
138
- <p align="center"><a href="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/poster.png" width="720" alt="Ignition motion poster" /></a></p>
139
-
140
- The poster opens the optional film; this README keeps motion opt-in.
141
-
142
- The retained `docs/assets/cover.svg` is the editable, low-bandwidth fallback; the WebP above is the product emphasis export.
143
-
144
- ### How LitOpenCode fits into OpenCode
145
-
146
- OpenCode loads the plugin from its config. Agents and chat/command routes select
147
- workflows and installed skills. Tools and lifecycle hooks keep the project records
148
- that you can read when you return.
149
-
150
- ```mermaid
151
- flowchart TD
152
- Config["OpenCode config: opencode.json / opencode.jsonc"] --> Plugin["LitOpenCode plugin"]
153
- Plugin --> Routes["Agents and chat / command routes"]
154
- Plugin --> Tools["lit / litwork / start-work tools"]
155
- Plugin --> Hooks["Message, tool and session hooks"]
156
- Routes --> Skills["Installed skills and canonical references"]
157
- Tools --> Records["Project records: .litopencode/litgoal/"]
158
- Hooks -->|Work lifecycle events| Records
159
- Records -->|Explicit recap| Routes
160
- classDef host fill:#080D14,stroke:#F2EFDF,color:#F2EFDF
161
- classDef lit fill:#080D14,stroke:#FF6337,color:#F2EFDF
162
- classDef local fill:#080D14,stroke:#D7F75B,color:#F2EFDF
163
- class Config host
164
- class Plugin,Routes,Tools,Hooks lit
165
- class Skills,Records local
166
- ```
167
-
168
- ### Design production and README Studio
169
-
170
- The native `frontend-ui-ux` skill takes an adequate authorized build request through working implementation and rendered inspection. It asks only material design choices and retains answers; review and plan requests remain read-only.
171
-
172
- Select `readme-studio` through OpenCode's native skill tool for factual README writing and local cover composition. The installed resources include outlined typography helpers and pinned Remotion/HyperFrames recipes. Without a native image generator it reports `IMAGE_GENERATION_UNAVAILABLE` and can continue from a supplied background. Public GitHub/npm rendering is a separate gate. No dedicated slash command is claimed.
173
-
174
- Select `lit-diagram-drawer` through OpenCode's native skill picker for conceptual diagrams, local verification, safe imports, and exports without installing tools when the renderer and browser are already available. Product interfaces remain with `frontend-ui-ux`; measured scientific figures remain with `lit-scientific-visualization`. For a bounded diagram-creation request ending in `lit`, the workflow directs OpenCode to load this native skill before authoring. There is no dedicated slash command or standalone diagram chat route.
175
-
176
- ### Word reports and PowerPoint decks
177
-
178
- `lit-docx` creates an editable Word report from a Markdown source; `lit-pptx` compiles slides to an editable PowerPoint deck. Bare `lit` requests for reports or slides direct OpenCode to load the relevant native skill, and a joint request loads both. Korean reports default to the korean-generic profile; decks default to AZURE-PRO and Pretendard. Pinned dependencies install on first use in a LitOpenCode-owned cache. The skills retain the source Markdown, run their structural and quality gates, and ask for a rendered inspection when LibreOffice is available. Publisher profiles, DOCX editing/PDF conversion, template learning, and font embedding are documented in the installed skills. `litopencode doctor` reports readiness without installing dependencies.
179
-
180
- ### Prose and browser workflows
181
-
182
- Use `/lit-humanizer` for a substantial prose revision or explicit review. It preserves meaning, voice, and useful qualifiers; `/lit-korean`, `/text-naturalization`, `/text-neutralization`, and `/korean-ai-slop-remover` remain compatibility routes. Clear drafting residue is blocked before supported text writes, while lower-confidence style signals are advisory. DOCX, PPTX, and available PDF text are checked after creation.
183
-
184
- `browser-drive` uses the `agent-browser` engine from [vercel-labs/agent-browser](https://github.com/vercel-labs/agent-browser). Its verified floor is 0.34.0; newer well-formed versions are reported as beyond that floor. If you need the engine, install it yourself with `npm install -g agent-browser`, run `agent-browser install`, then check it with `node skills/browser-drive/scripts/capability-probe.mjs`. LitOpenCode does not install it automatically.
185
-
186
- ## Skills at a glance
187
-
188
- Each row shows what a skill produces, how to open it, and what you get.
189
-
190
- <table>
191
- <tr><th>What it looks like</th><th>Skill</th><th>What you get</th></tr>
192
- <tr>
193
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/litwork.webp" width="240" alt="Add lit to a request. The work goes Frame, Ground, Plan, Execute, Verify, Review, Recap." /></td>
194
- <td><code>litwork</code> · <code>workflow-loop</code><br /><sub><code>lit</code> · <code>/litwork</code></sub></td>
195
- <td>Add <code>lit</code> to a request. The work goes Frame, Ground, Plan, Execute, Verify, Review, Recap.</td>
196
- </tr>
197
- <tr>
198
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/durable-litgoal.webp" width="240" alt="One goal with checkable criteria, kept on disk when OpenCode has no native goal." /></td>
199
- <td><code>durable-litgoal</code><br /><sub><code>/litgoal</code> · <code>/lit-goal</code></sub></td>
200
- <td>One goal with checkable criteria, kept on disk when OpenCode has no native goal.</td>
201
- </tr>
202
- <tr>
203
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-plan.webp" width="240" alt="A checklist that stops at an approval gate. The lit-plan agent cannot edit files or run shell commands." /></td>
204
- <td><code>lit-plan</code><br /><sub><code>/lit-plan</code></sub></td>
205
- <td>A checklist that stops at an approval gate. The lit-plan agent cannot edit files or run shell commands.</td>
206
- </tr>
207
- <tr>
208
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/start-work.webp" width="240" alt="Runs an approved plan slice by slice. A stale grant or revision stops the run." /></td>
209
- <td><code>start-work</code><br /><sub><code>/start-work</code></sub></td>
210
- <td>Runs an approved plan slice by slice. A stale grant or revision stops the run.</td>
211
- </tr>
212
- <tr>
213
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/review-work.webp" width="240" alt="Five review lanes: findings by severity, then pass, fail or not-run for each lane." /></td>
214
- <td><code>review-work</code><br /><sub><code>/review-work</code></sub></td>
215
- <td>Five review lanes: findings by severity, then pass, fail or not-run for each lane.</td>
216
- </tr>
217
- <tr>
218
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/litresearch.webp" width="240" alt="Research in waves, with claim receipts and uncertainty kept." /></td>
219
- <td><code>litresearch</code><br /><sub><code>lit research &lt;question&gt;</code> · <code>/litresearch</code></sub></td>
220
- <td>Research in waves, with claim receipts and uncertainty kept.</td>
221
- </tr>
222
- <tr>
223
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/doctor-installer.webp" width="240" alt="Installs LitOpenCode into OpenCode. --dry-run previews the change and writes nothing." /></td>
224
- <td><code>doctor-installer</code><br /><sub><code>litopencode install</code> · <code>litopencode doctor</code></sub></td>
225
- <td>Installs LitOpenCode into OpenCode. <code>--dry-run</code> previews the change and writes nothing.</td>
226
- </tr>
227
- <tr>
228
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-fetch.webp" width="240" alt="Fetches a public page behind SSRF guards and returns a named verdict." /></td>
229
- <td><code>lit-fetch</code><br /><sub><code>/lit-fetch</code> · <code>litopencode fetch-public &lt;url&gt; --json</code></sub></td>
230
- <td>Fetches a public page behind SSRF guards and returns a named verdict.</td>
231
- </tr>
232
- <tr>
233
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-init.webp" width="240" alt="Writes sparse AGENTS.md guides, only where the code needs one." /></td>
234
- <td><code>lit-init</code><br /><sub><code>/lit-init</code></sub></td>
235
- <td>Writes sparse AGENTS.md guides, only where the code needs one.</td>
236
- </tr>
237
- <tr>
238
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-crucible.webp" width="240" alt="Pressure-tests a brief before planning. Only the risks that survive critique reach the plan." /></td>
239
- <td><code>lit-crucible</code><br /><sub><code>/lit-crucible</code></sub></td>
240
- <td>Pressure-tests a brief before planning. Only the risks that survive critique reach the plan.</td>
241
- </tr>
242
- <tr>
243
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/refactor.webp" width="240" alt="Restructures code while tests pin its behavior before and after every step." /></td>
244
- <td><code>refactor</code><br /><sub><code>/refactor</code></sub></td>
245
- <td>Restructures code while tests pin its behavior before and after every step.</td>
246
- </tr>
247
- <tr>
248
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-burnoff.webp" width="240" alt="Cleans AI-written bloat out of a change set after tests lock what it does." /></td>
249
- <td><code>lit-burnoff</code><br /><sub><code>/lit-burnoff</code></sub></td>
250
- <td>Cleans AI-written bloat out of a change set after tests lock what it does.</td>
251
- </tr>
252
- <tr>
253
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-burnoff-file.webp" width="240" alt="Cleans one just-edited file against its own diff." /></td>
254
- <td><code>lit-burnoff-file</code><br /><sub><code>/lit-burnoff-file</code></sub></td>
255
- <td>Cleans one just-edited file against its own diff.</td>
256
- </tr>
257
- <tr>
258
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-code.webp" width="240" alt="Minimum-first code with Given/When/Then tests and a cleanup receipt." /></td>
259
- <td><code>lit-code</code><br /><sub><code>/lit-code</code></sub></td>
260
- <td>Minimum-first code with Given/When/Then tests and a cleanup receipt.</td>
261
- </tr>
262
- <tr>
263
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/debugging.webp" width="240" alt="Reproduces the bug, tests at least three explanations, and fixes only the confirmed cause." /></td>
264
- <td><code>debugging</code><br /><sub><code>/debugging</code></sub></td>
265
- <td>Reproduces the bug, tests at least three explanations, and fixes only the confirmed cause.</td>
266
- </tr>
267
- <tr>
268
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-commit.webp" width="240" alt="Splits your changes into atomic commits in the repo's own style and leaves unrelated work alone." /></td>
269
- <td><code>lit-commit</code><br /><sub><code>/lit-commit</code></sub></td>
270
- <td>Splits your changes into atomic commits in the repo's own style and leaves unrelated work alone.</td>
271
- </tr>
272
- <tr>
273
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lsp.webp" width="240" alt="Reads diagnostics from the language server OpenCode already has. LitOpenCode ships no server." /></td>
274
- <td><code>lsp</code><br /><sub><code>/lsp</code></sub></td>
275
- <td>Reads diagnostics from the language server OpenCode already has. LitOpenCode ships no server.</td>
276
- </tr>
277
- <tr>
278
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lsp-setup.webp" width="240" alt="Proposes one install command when no server covers a file type, then waits for your approval." /></td>
279
- <td><code>lsp-setup</code><br /><sub><code>/lsp-setup</code></sub></td>
280
- <td>Proposes one install command when no server covers a file type, then waits for your approval.</td>
281
- </tr>
282
- <tr>
283
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/rules.webp" width="240" alt="Loads repository rules in two lanes: once for the session, and again for files you edit." /></td>
284
- <td><code>rules</code><br /><sub><code>/rules</code></sub></td>
285
- <td>Loads repository rules in two lanes: once for the session, and again for files you edit.</td>
286
- </tr>
287
- <tr>
288
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/deep-interview.webp" width="240" alt="One question per round until non-goals and decision boundaries are explicit." /></td>
289
- <td><code>deep-interview</code><br /><sub><code>/deep-interview</code></sub></td>
290
- <td>One question per round until non-goals and decision boundaries are explicit.</td>
291
- </tr>
292
- <tr>
293
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/structural-search.webp" width="240" alt="Finds code by syntax shape behind a verified engine. Anything else is labelled TEXTUAL." /></td>
294
- <td><code>structural-search</code><br /><sub><code>/structural-search</code></sub></td>
295
- <td>Finds code by syntax shape behind a verified engine. Anything else is labelled TEXTUAL.</td>
296
- </tr>
297
- <tr>
298
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/browser-drive.webp" width="240" alt="Drives a real page after verifying the browser driver. If there is none, it says so." /></td>
299
- <td><code>browser-drive</code><br /><sub><code>/browser-drive</code></sub></td>
300
- <td>Drives a real page after verifying the browser driver. If there is none, it says so.</td>
301
- </tr>
302
- <tr>
303
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-humanizer.webp" width="240" alt="Rewrites stiff model prose in English or Korean. Facts and hedges stay; filler goes." /></td>
304
- <td><code>lit-humanizer</code><br /><sub><code>/lit-humanizer</code></sub></td>
305
- <td>Rewrites stiff model prose in English or Korean. Facts and hedges stay; filler goes.</td>
306
- </tr>
307
- <tr>
308
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-recap.webp" width="240" alt="A read-only summary: done, in progress, blocked, where the evidence is, what comes next." /></td>
309
- <td><code>lit-recap</code><br /><sub><code>/lit-recap</code></sub></td>
310
- <td>A read-only summary: done, in progress, blocked, where the evidence is, what comes next.</td>
311
- </tr>
312
- <tr>
313
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-comprehend.webp" width="240" alt="An explainer page for agent-written work: intuition first, then the walkthrough, then a short quiz." /></td>
314
- <td><code>lit-comprehend</code><br /><sub><code>/lit-comprehend</code></sub></td>
315
- <td>An explainer page for agent-written work: intuition first, then the walkthrough, then a short quiz.</td>
316
- </tr>
317
- <tr>
318
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-handoff.webp" width="240" alt="Type handoff to get a continuation file the next session can read and resume from." /></td>
319
- <td><code>lit-handoff</code><br /><sub><code>handoff</code> · <code>/lit-handoff</code></sub></td>
320
- <td>Type <code>handoff</code> to get a continuation file the next session can read and resume from.</td>
321
- </tr>
322
- <tr>
323
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-scientific-visualization.webp" width="240" alt="A journal-sized figure with vector and 600 DPI exports. The chart type follows the data." /></td>
324
- <td><code>lit-scientific-visualization</code><br /><sub><code>/lit-scientific-visualization</code></sub></td>
325
- <td>A journal-sized figure with vector and 600 DPI exports. The chart type follows the data.</td>
326
- </tr>
327
- <tr>
328
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-diagram-drawer.webp" width="240" alt="A checked, editable diagram for slides and documents, with PNG and Office-safe SVG exports." /></td>
329
- <td><code>lit-diagram-drawer</code><br /><sub><code>skill picker</code></sub></td>
330
- <td>A checked, editable diagram for slides and documents, with PNG and Office-safe SVG exports.</td>
331
- </tr>
332
- <tr>
333
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-pptx.webp" width="240" alt="Ask for slides with lit and get an editable PowerPoint deck from a Markdown source, AZURE-PRO by default. A QA gate and a rendered check follow. It is also in the skill picker." /></td>
334
- <td><code>lit-pptx</code><br /><sub><code>skill picker</code></sub></td>
335
- <td>Ask for slides with <code>lit</code> and get an editable PowerPoint deck from a Markdown source, AZURE-PRO by default. A QA gate and a rendered check follow. It is also in the skill picker.</td>
336
- </tr>
337
- <tr>
338
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-docx.webp" width="240" alt="Ask for a report with lit and get a styled Word file with its Markdown source; Korean text uses korean-generic. Lint and a rendered page check follow. It is also in the skill picker." /></td>
339
- <td><code>lit-docx</code><br /><sub><code>skill picker</code></sub></td>
340
- <td>Ask for a report with <code>lit</code> and get a styled Word file with its Markdown source; Korean text uses korean-generic. Lint and a rendered page check follow. It is also in the skill picker.</td>
341
- </tr>
342
- <tr>
343
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/autoresearch.webp" width="240" alt="An approved, budgeted experiment loop. Each round changes one thing and keeps or reverts it." /></td>
344
- <td><code>autoresearch</code><br /><sub><code>/autoresearch</code> · <code>/autoresearch-&lt;mode&gt;</code></sub></td>
345
- <td>An approved, budgeted experiment loop. Each round changes one thing and keeps or reverts it.</td>
346
- </tr>
347
- <tr>
348
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/autoconference.webp" width="240" alt="A budgeted research conference: separate researchers, reviewers, and a synthesis that keeps disagreement." /></td>
349
- <td><code>autoconference</code><br /><sub><code>/autoconference</code> · <code>/autoconference-&lt;mode&gt;</code></sub></td>
350
- <td>A budgeted research conference: separate researchers, reviewers, and a synthesis that keeps disagreement.</td>
351
- </tr>
352
- <tr>
353
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/wikify.webp" width="240" alt="Keeps reviewed project knowledge on disk and answers later questions from it, with sources." /></td>
354
- <td><code>wikify</code><br /><sub><code>/wikify-ingest</code> · <code>/wikify-query</code></sub></td>
355
- <td>Keeps reviewed project knowledge on disk and answers later questions from it, with sources.</td>
356
- </tr>
357
- <tr>
358
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/frontend-ui-ux.webp" width="240" alt="Builds a working interface and checks it with a measured probe in seven views: four widths, dark, reduced motion and 200% zoom. Open it from the skill picker." /></td>
359
- <td><code>frontend-ui-ux</code><br /><sub><code>skill picker</code></sub></td>
360
- <td>Builds a working interface and checks it with a measured probe in seven views: four widths, dark, reduced motion and 200% zoom. Open it from the skill picker.</td>
361
- </tr>
362
- <tr>
363
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/readme-studio.webp" width="240" alt="A factual README with an inspected cover and outlined type. Open it from the skill picker." /></td>
364
- <td><code>readme-studio</code><br /><sub><code>skill picker</code></sub></td>
365
- <td>A factual README with an inspected cover and outlined type. Open it from the skill picker.</td>
366
- </tr>
367
- <tr>
368
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/lit-typographic-motion.webp" width="240" alt="Ask for a video with lit. It writes a treatment, then draws a stage page or sets the words in motion; the film is gated and looked at before delivery. It is also in the skill picker." /></td>
369
- <td><code>lit-typographic-motion</code><br /><sub><code>skill picker</code></sub></td>
370
- <td>Ask for a video with <code>lit</code>. It writes a treatment, then draws a stage page or sets the words in motion; the film is gated and looked at before delivery. It is also in the skill picker.</td>
371
- </tr>
372
- <tr>
373
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/visual-qa.webp" width="240" alt="Checks a real screen with evidence and adds no write access. Open it from the skill picker." /></td>
374
- <td><code>visual-qa</code><br /><sub><code>skill picker</code></sub></td>
375
- <td>Checks a real screen with evidence and adds no write access. Open it from the skill picker.</td>
376
- </tr>
377
- <tr>
378
- <td><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/skills/automatic-guards.webp" width="240" alt="Runs on its own: registers the LitOpenCode agents, checks comments after edits, and blocks unscoped “always better” claims." /></td>
379
- <td><code>agent-roster</code> · <code>reference-benchmark-claims</code> · <code>native-goal-verdict</code> · <code>search-workflow-ideas</code> · <code>release-guardrails</code> · <code>comment-checker</code> · <code>tool-guards</code><br /><sub>runs on its own</sub></td>
380
- <td>Runs on its own: registers the LitOpenCode agents, checks comments after edits, and blocks unscoped “always better” claims.</td>
381
- </tr>
382
- </table>
383
-
384
- ## A/B results
385
-
386
- Each task is one casual Korean prompt. The lit arm sends the same line with ` lit` added and nothing else. Both arms ran on OpenCode 1.18.32 with `openai/gpt-6-sol` at `high` effort on 2026-09-26 (UTC): the baseline as plain OpenCode in an isolated profile, the lit arm with a local pre-release build of LitOpenCode. Each pair compares one run per arm; the baseline ran once, and the lit side is its latest run after product fixes. A blind judge (Claude Opus 5.5) compared the two outputs in both orders with product markings removed, and counted a tie when the two orders disagreed. The maintainer then looked at both outputs side by side and made the final call.
387
-
388
- S3, S4 and S11 come from the interface round, and S5, S8 and S9 from the office round; they replace earlier runs of the same tasks.
389
-
390
- | Task | Prompt | Final verdict | Blind judge (same round) |
391
- |---|---|---|---|
392
- | S1 terminal to-do CLI | 터미널에서 쓰는 할 일 관리 CLI 만들어줘 | **LitOpenCode won** | Baseline won |
393
- | S2 API server bugs | 이 API 서버 가끔 이상하게 동작하는데 고쳐줘 | **LitOpenCode won** (blind judge; not reviewed by eye) | LitOpenCode won |
394
- | S3 budget dashboard | 개인 가계부 대시보드 웹페이지 만들어줘 | **LitOpenCode won** | LitOpenCode won |
395
- | S4 café landing page | 동네 카페 브랜드 랜딩페이지 만들어줘 | **LitOpenCode won** | Baseline won |
396
- | S5 report and slides from sources | sources 폴더 자료로 보고서랑 발표자료 만들어줘 | **LitOpenCode won** | LitOpenCode won |
397
- | S6 Node 22→24 research | Node 22에서 24로 올릴 때 달라지는 거 조사해줘 | **LitOpenCode won** | Tie |
398
- | S7 order/payment/shipping diagram | 주문-결제-배송 서비스 구조도 그려줘 | **LitOpenCode won** | LitOpenCode won |
399
- | S8 quarterly results deck | 분기 실적 발표자료 만들어줘 | **LitOpenCode won** | Baseline won |
400
- | S9 new product plan | 신제품 기획서 써줘 | **LitOpenCode won** | Tie |
401
- | S11 meeting-room booking app | 회의실 예약 웹앱 만들어줘 | **LitOpenCode won** | Tie |
402
- | Total | | **10 wins** | 4 wins, 3 ties, 3 losses |
403
-
404
- The motion skill, `lit-typographic-motion`, was rebuilt after its first A/B and has no A/B result yet. The cover at the top of this README was made with the LitFamily motion skill.
405
-
406
- ### What each side produced
407
-
408
- - **S1.** Both CLIs worked end to end; the lit CLI added open/done filters and a `--file` option and passed its own 4 tests (the baseline passed 3). The judge preferred the baseline, which has an edit command and creates its data folder itself. The maintainer chose lit because it ran four tests and all of them passed.
409
- - **S2.** Lit fixed all 6 hidden bugs (the baseline fixed 5), corrected the README's wrong start command, and returns `201` when it creates an item. Its time-zone regression test runs in a separate process with its own `TZ`. The maintainer did not review this pair, so the judge's verdict stands.
410
- - **S3.** The baseline dashboard has more views and charts, but its headline balance adds a hard-coded amount that contradicts its own income and spending figures. Lit's numbers add up, its sample data is labelled and can be cleared, and its dark mode works. The axe accessibility check flagged 15 elements on lit's page and 111 on the baseline's.
411
- - **S4.** The baseline reads as a finished café site, with a priced photo menu, filters, address, hours and contact. Lit made a concept page, “골목의 온도”, with a pixel-art coffee cup, but left the address and hours as “준비 중” (coming soon) because none were given, and its reply included a lint table with rule codes. The judge marked lit down for both and picked the baseline; the maintainer chose lit's page.
412
- - **S5.** Lit delivered an editable Word report and a 6-slide PowerPoint deck, each with its Markdown source, and checked the rendered files. The baseline wrote the report and a Marp-compatible deck as Markdown only. Both got the same 11 checked facts right and none wrong; the judge noted lit's decorative title slide, misaligned bullets and leftover lint files.
413
- - **S6.** Lit's answer had more practical steps, such as `--trace-deprecation`, a rollback plan and publish-pipeline checks, with 80% of its links on official sources against 57%, and 10 distinct links against 7. The baseline was a tighter overview with a useful “check” column. The judge's two orders disagreed, so it counted a tie.
414
- - **S7.** Lit delivered a rendered, editable HTML diagram with an internal-service boundary, the external payment provider and carrier, and failure paths. The baseline described more infrastructure (databases, a message broker, a gateway) but left only Mermaid code in the chat. Lit said it could not export a PNG because the browser it needed was not available.
415
- - **S8.** No company or figures were given. The baseline built a polished 10-slide template with fill-in slots; lit built a 7-slide deck for a fictional company with three charts and marked every figure as an assumption. The judge preferred the baseline and marked lit down for stray box borders, mixed bar colours and decorative circles; the maintainer chose lit.
416
- - **S9.** The baseline wrote its plan in the chat and produced no file. Lit wrote a 5-page editable Word plan with decision gates, unit economics and a break-even calculation, though the judge found its repeated “example assumption” labels heavy. The judge called it a tie; the maintainer chose lit, pointing out that the baseline did not produce a document at all.
417
- - **S11.** Lit's app has tests for overlapping bookings, time slots and corrupted stored data, has a dark mode, and its reply says the booking flow was tried in the page. The baseline fills its timelines with made-up bookings, loads room photos from the internet and adds decorative extras such as a fake workspace switcher. The judge's two orders disagreed, so it counted a tie.
418
-
419
- ### Screens and documents
420
-
421
- Interface round, desktop view:
422
-
423
- | Task | Baseline | LitOpenCode |
424
- |---|---|---|
425
- | S3 | ![S3 baseline budget dashboard, desktop](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S3/baseline-desktop.webp) | ![S3 LitOpenCode budget dashboard, desktop](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S3/lit-desktop.webp) |
426
- | S4 | ![S4 baseline café landing page, desktop](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S4/baseline-desktop.webp) | ![S4 LitOpenCode café landing page, desktop](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S4/lit-desktop.webp) |
427
- | S11 | ![S11 baseline meeting-room booking app, desktop](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S11/baseline-desktop.webp) | ![S11 LitOpenCode meeting-room booking app, desktop](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S11/lit-desktop.webp) |
428
-
429
- <details>
430
- <summary>Phone views</summary>
431
-
432
- | Task | Baseline | LitOpenCode |
433
- |---|---|---|
434
- | S3 | ![S3 baseline budget dashboard, phone](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S3/baseline-phone.webp) | ![S3 LitOpenCode budget dashboard, phone](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S3/lit-phone.webp) |
435
- | S4 | ![S4 baseline café landing page, phone](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S4/baseline-phone.webp) | ![S4 LitOpenCode café landing page, phone](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S4/lit-phone.webp) |
436
- | S11 | ![S11 baseline meeting-room booking app, phone](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S11/baseline-phone.webp) | ![S11 LitOpenCode meeting-room booking app, phone](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S11/lit-phone.webp) |
437
-
438
- </details>
439
-
440
- S5, lit slides. The baseline wrote Markdown only, so it has nothing rendered to show:
76
+ You get an `index.html` to open and try. Next time, `/lit-recap` shows where you left off.
441
77
 
442
- ![S5 LitOpenCode PowerPoint slides](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S5/lit-slides.webp)
78
+ ## The routes you'll use
443
79
 
444
- S8, baseline slides, then lit slides:
445
-
446
- ![S8 baseline quarterly results slides](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S8/baseline-slides.webp)
447
-
448
- ![S8 LitOpenCode quarterly results slides](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S8/lit-slides.webp)
449
-
450
- S9, lit pages. The baseline answered in the chat without a file:
451
-
452
- ![S9 LitOpenCode new product plan pages](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S9/lit-pages.webp)
453
-
454
- S7, the lit diagram:
455
-
456
- ![S7 LitOpenCode order, payment and shipping diagram](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/ab/S7/lit-diagram.webp)
457
-
458
- ## Commands
459
-
460
- ### Start with one lit task
461
-
462
- Append `lit` to a prompt, or use `/lit`, to select the LitOpenCode workflow. OpenCode owns the model and permission prompts; the plugin keeps project records.
463
-
464
- | Prompt or route | Effect |
80
+ | Type | What happens |
465
81
  | --- | --- |
466
- | `lit` or `/lit` | Start a bounded task and record what was checked. |
82
+ | `lit` or `/lit` | Start a task with a clear scope and record what was checked. |
83
+ | `lit-plan` → `/start-work` → `/review-work` | Plan, approve, execute, and review. The planner can't edit files or run shell commands. |
467
84
  | `handoff` or `/lit-handoff` | Carry the current result and next step into another session. |
468
- | `lit-plan` | Prepare a plan before implementation. |
469
- | `/start-work <approved-plan>` | Execute an approved plan. |
470
- | `/review-work` | Review the change and evidence. |
471
- | `/litresearch` | Use the shipped source-backed research route. |
85
+ | `/lit-recap` | Read a short recap from local state. |
86
+ | `/litresearch` | Research with source evidence. |
472
87
 
473
- Selecting a route does not claim that the model ran or that a visual check passed.
88
+ Beyond these, the package installs skills for debugging, refactoring, code review, research, Word reports (`lit-docx`), PowerPoint decks (`lit-pptx`), diagrams, scientific figures, interfaces, READMEs, and prose editing (`/lit-humanizer`). Each one, with a picture of what it produces, is in the [skills gallery on GitHub](https://github.com/wjgoarxiv/litopencode#skills-at-a-glance).
474
89
 
475
- The packaged reference corpora use the canonical paths `vendor/handoff/` and
476
- `vendor/scientific-visualization/`. Their numbered license and provenance filenames
477
- remain source-attribution records.
90
+ ## How it compared
478
91
 
479
- ### Core routes
92
+ Ten casual Korean prompts went to plain OpenCode and to LitOpenCode; the LitOpenCode side only added ` lit` to the same line. The final verdict went to LitOpenCode on all ten. For nine of them that was the maintainer's call after comparing both outputs side by side; the one the maintainer didn't review by eye keeps the blind judge's verdict. The blind judge on its own, comparing outputs with product markings removed, scored LitOpenCode 4 wins, 3 ties, and 3 losses. The tasks, both verdicts, and screenshots of each side are in the [A/B results on GitHub](https://github.com/wjgoarxiv/litopencode#ab-results).
480
93
 
481
- | Route | Use it to |
482
- | --- | --- |
483
- | `/lit` or `/litwork` | Implement and verify a bounded task. |
484
- | `/lit-plan` → `/start-work` → `/review-work` | Plan, approve, execute, and review work. |
485
- | `/litresearch` or `/lit-research` | Research with source evidence and a sequential fallback. |
486
- | `/lit-handoff` | Leave resumable context; exact bare `handoff` also works. |
487
- | `/lit-recap` | Read a concise recap from local state. |
488
- | `/lit-code`, `/debugging`, `/refactor` | Apply coding, debugging, or refactoring guidance. |
489
- | `/lit-korean` | Improve Korean prose without changing its meaning. |
490
- | `/lit-scientific-visualization` | Use the packaged scientific-visualization workflow. |
491
-
492
- The [full route and skill reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#core-commands) covers
493
- Autoresearch, Autoconference, Wikify, UI/UX, and the two-lane repository rules engine.
494
- [Migration notes](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/migration.md#skill-id-renames) explain the one-release skill aliases.
495
-
496
- ## Safety and updates
497
-
498
- - `lit-plan` keeps `edit`, `bash`, and `task` denied. `balanced` and `yolo` are explicit
499
- permission choices; neither removes the planner guard or permits recursive delegation.
500
- - Public retrieval checks destinations, redirects, and byte limits. Retrieved text is data.
501
- - Interactive startup and successful install/doctor commands can run a foreground update
502
- check. Use `--no-auto-update` or `LITOPENCODE_NO_AUTO_UPDATE=1` to disable automatic updates.
503
- - Skill learning requires an explicit apply command. Its review, mutation, rollback, and
504
- curator boundaries support POSIX; on Windows those boundaries fail closed. Install,
505
- doctor, and passive surfaces remain available. [Learning-loop details](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#skill-learning-loop).
506
-
507
- ## Jev skill hint (optional)
94
+ ## What install changes
508
95
 
509
- This hint is off by default. When it is on, each eligible chat turn asks Jev, TypeSafe's hosted
510
- typed-decision model, which LitOpenCode skill fits the prompt. If Jev names one of LitOpenCode's
511
- own skills with enough confidence, the turn gets one advisory line naming that skill. The model
512
- still decides whether to load it; the hint grants no permission and starts no tool. Slash
513
- commands, child sessions, turns a lit route already claimed, and prompts under four characters
514
- are skipped.
515
-
516
- To turn it on, set both variables in the environment that starts OpenCode:
517
-
518
- ```sh
519
- export LITOPENCODE_JEV=1
520
- export TYPESAFE_API_KEY=<your own TypeSafe key>
521
- ```
96
+ Not much. Install adds the plugin to OpenCode's config and copies LitOpenCode's commands and skills into your OpenCode config folder. Your routes, which say which model handles each kind of work, are kept in `~/.config/opencode/litopencode.json`. Setting `XDG_CONFIG_HOME` moves that folder, and routes you've already customized are left as they are. Each project keeps its work record in `.litopencode/litgoal/`, and that record is what a later session reads to carry on.
522
97
 
523
- - **Turning it on sends each eligible prompt to TypeSafe (typesafe.ai).** The prompt is cut to
524
- 2,000 characters, and home paths, e-mail addresses and token-shaped strings are replaced
525
- before it is sent. Files, tool output and earlier turns are not sent.
526
- - Anything in the prompt without a token shape is sent as written, for example hostnames,
527
- customer names, or a password that is not written as `password=...`.
528
- - Because `TYPESAFE_API_KEY` is exported in the shell that starts OpenCode, the agent's own tools
529
- can read it. Use a key made only for this feature, with a low spending limit.
530
- - TypeSafe bills your own account, at about $0.04 per million input tokens.
531
- - Each request stops after 1.5 seconds and is not retried. If it fails, the turn continues as
532
- usual, with one short note the first time in a session.
533
- - `litopencode doctor` reports `Jev skill hint: off`, `on`, or
534
- `flag on but TYPESAFE_API_KEY missing`. It never shows the key.
535
- - When a turn gets a hint, OpenCode shows a short toast such as `Jev → lit-humanizer (0.27s)`
536
- with the skill and the request time; there is no toast when the feature is off or no skill fits.
537
- - On the first eligible turn of each session, a `✦ Jev skill hint is ON` toast shows once so you know the hint is active.
538
- - To turn it off, unset `LITOPENCODE_JEV` or set it to anything other than `1`.
98
+ With the OpenAI provider, a fresh install uses GPT-6 Astra (`gpt-6-astra`) at `xhigh` for planning and review, and GPT-6 Luna (`gpt-6-luna`) at `max` for execution and research.
539
99
 
540
- Tuning variables and the debug trace are in the [Jev skill hint reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#jev-skill-hint-optional).
541
-
542
- ## Troubleshooting
543
-
544
- If the behavior differs from the completion report, tell the agent what happened.
545
-
546
- Inspect package and configuration health with:
547
-
548
- ```sh
549
- npm exec --package @litfamily/litopencode@latest -- litopencode doctor
550
- ```
551
-
552
- See the [installation and model reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#install).
100
+ ## Safety and updates
553
101
 
554
- Install and `doctor` report when `<root>/skills` is a symlink (and its git-repository
555
- warning) and any same-named skill shadowing it in `~/.agents/skills`, `~/.claude/skills`,
556
- or a project skills directory. See
557
- [symlinked native skills root and shadow copies](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#symlinked-native-skills-root-and-shadow-copies).
102
+ - The planner only plans. `lit-plan` has `edit`, `bash` and `task` denied, and it stays that way even if you choose the looser `balanced` or `yolo` mode.
103
+ - LitOpenCode can update itself when it starts interactively and after an install or doctor run succeeds. To turn that off, pass `--no-auto-update` or set `LITOPENCODE_NO_AUTO_UPDATE=1`.
104
+ - Skill learning has been removed. Learning records an earlier release left in a project's `.litopencode` folder are no longer used; keep or delete them as you like.
105
+ - The Jev skill hint is optional and off by default. Turning it on sends eligible prompts to TypeSafe, so read the [Jev skill hint reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/reference.md#jev-skill-hint-optional) first.
106
+ - If something seems off, `npm exec --package @litfamily/litopencode@latest -- litopencode doctor` checks the package and your configuration.
558
107
 
559
108
  ## Uninstall
560
109
 
561
- There is no `litopencode uninstall` command. Remove the `@litfamily/litopencode` or
562
- `@litfamily/litopencode@<version>` entry from the `plugin` array in OpenCode's `opencode.jsonc`
563
- (or a custom root's `opencode.json`). Also remove legacy `litopencode` package entries if present. If installed globally,
564
- remove the npm binary:
110
+ There's no uninstall command. Remove the `@litfamily/litopencode` entry from the `plugin` array in OpenCode's `opencode.jsonc` (or a custom root's `opencode.json`), then restart OpenCode. If you installed it globally:
565
111
 
566
112
  ```sh
567
113
  npm uninstall -g @litfamily/litopencode
568
114
  ```
569
115
 
570
- Review installed command/skill files before removing installer-owned copies; preserve
571
- user-created files and edits. Keep `litopencode.json` if you still need its routes, and
572
- keep project `.litopencode/` ledgers if you plan to resume. Restart OpenCode after removal.
573
- See the [removal reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md#remove).
574
-
575
- ## License
576
-
577
- MIT
578
-
579
- ## Links
580
-
581
- ### Documentation
582
-
583
- - [Workflow reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference.md): models, permissions, host hooks, all skills, learning loop, and reproducible verification.
584
- - [한국어 상세 안내](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/reference-Ko-KR.md)
585
- - [Migration notes](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/migration.md)
586
- - [Terminal mark and activation probes](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/lit-mark.md)
587
- - [Changelog](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/CHANGELOG.md)
588
- - Maintainer release checklist (repository only)
589
-
590
- - [Contributing](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/CONTRIBUTING.md) · [Support](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/SUPPORT.md) · [Security](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/SECURITY.md)
591
- - [Code of conduct](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/CODE_OF_CONDUCT.md) · [Privacy and network behavior](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/privacy.md)
592
-
593
- ### LITFAMILY
594
-
595
- ![Five armored machines representing LitClaude, LitHermes, LitCodex, LitOpenCode and LitGrok](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/litfamily-machines.png)
596
-
597
- LitClaude · LitHermes · LitCodex · LitOpenCode · LitGrok.
598
- Five armored machines for five independent products, each working in its own host.
599
-
600
- ### Ignition motion
116
+ The [removal reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/reference.md#remove) covers the installed files and records you may want to keep.
601
117
 
602
- [![Ignition motion graphic poster](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/poster.png)](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/ignition-film.mp4)
118
+ ## More
603
119
 
604
- [Watch the 10-second film](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/ignition-film.mp4) · [Animated GIF](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/ignition-readme.gif) · [Lucide icon license](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/Lucide-LICENSE.txt) · [ASCII font license](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.10/docs/assets/readme/JetBrainsMono-OFL.txt)
120
+ - [Full guide on GitHub](https://github.com/wjgoarxiv/litopencode#readme)
121
+ - [Workflow reference](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/reference.md) · [한국어 상세 안내](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/reference-Ko-KR.md)
122
+ - [Migration notes](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/migration.md) · [Changelog](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/CHANGELOG.md) · [Privacy and network behavior](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/privacy.md)
123
+ - [MIT license](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/LICENSE) · [ASCII font license](https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.12/docs/assets/readme/JetBrainsMono-OFL.txt)