lithermes-ai 0.8.6 → 0.8.7

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
@@ -39,6 +39,15 @@ Install the plugin:
39
39
  npx lithermes-ai install --yes
40
40
  ```
41
41
 
42
+ For a non-interactive first install through npx, pass both approvals:
43
+
44
+ ```sh
45
+ npx --yes lithermes-ai@latest install --yes
46
+ ```
47
+
48
+ The first `--yes` is for npx; the second `--yes` is for LitHermes. The npm
49
+ package is `lithermes-ai`; `lithermes` is the installed CLI/plugin name.
50
+
42
51
  Restart any running Hermes CLI or Hermes gateway process. Then open Hermes and try:
43
52
 
44
53
  ```text
@@ -128,6 +137,16 @@ Install with npm:
128
137
  npx lithermes-ai install --yes
129
138
  ```
130
139
 
140
+ Non-interactive npx install:
141
+
142
+ ```sh
143
+ npx --yes lithermes-ai@latest install --yes
144
+ ```
145
+
146
+ `npx --yes` only suppresses npm's prompt to download/run the package. LitHermes
147
+ still requires `install --yes` before it mutates Hermes config. Running
148
+ `npx --yes lithermes-ai@latest install` is therefore expected to stop safely.
149
+
131
150
  Install with Bun:
132
151
 
133
152
  ```sh
@@ -142,6 +161,10 @@ npx lithermes-ai install --yes --hermes-home /path/to/.hermes
142
161
 
143
162
  LitHermes refuses to mutate Hermes config unless you pass `--yes`. If `~/.hermes/plugins/lithermes` already exists but was not created by this installer, installation stops instead of overwriting user files.
144
163
 
164
+ Do not install as `npx lithermes@latest ...`: `lithermes` is not the npm package
165
+ name. Use `lithermes-ai` (or `npx --package lithermes-ai@latest lithermes ...`
166
+ when you explicitly want the `lithermes` binary name).
167
+
145
168
  ## Verify
146
169
 
147
170
  Check the package and Hermes compatibility:
@@ -229,6 +252,28 @@ Uninstall intentionally preserves unrelated files in `~/.hermes/plugins`.
229
252
 
230
253
  ## Troubleshooting
231
254
 
255
+ ### `Refusing to mutate Hermes config without --yes`
256
+
257
+ You passed `--yes` to npx but not to the LitHermes installer. Use:
258
+
259
+ ```sh
260
+ npx --yes lithermes-ai@latest install --yes
261
+ ```
262
+
263
+ ### `No matching version found for lithermes@latest`
264
+
265
+ The npm package is `lithermes-ai`, not `lithermes`:
266
+
267
+ ```sh
268
+ npx --yes lithermes-ai@latest install --yes
269
+ ```
270
+
271
+ If you need the `lithermes` binary explicitly, run:
272
+
273
+ ```sh
274
+ npx --yes --package lithermes-ai@latest lithermes install --yes
275
+ ```
276
+
232
277
  ### `Hermes installation not found`
233
278
 
234
279
  Pass the Hermes home explicitly:
package/README_Ko-KR.md CHANGED
@@ -39,6 +39,16 @@ bunx lithermes-ai doctor
39
39
  npx lithermes-ai install --yes
40
40
  ```
41
41
 
42
+ npx를 통한 첫 설치에서 확인 질문을 모두 생략하려면 두 종류의 `--yes`를 모두
43
+ 전달합니다.
44
+
45
+ ```sh
46
+ npx --yes lithermes-ai@latest install --yes
47
+ ```
48
+
49
+ 앞의 `--yes`는 npx용이고, 뒤의 `install --yes`는 LitHermes installer용입니다.
50
+ npm 패키지명은 `lithermes-ai`이며, `lithermes`는 설치 후 CLI/plugin 이름입니다.
51
+
42
52
  실행 중인 Hermes CLI 또는 Hermes gateway를 재시작합니다. 그 다음 Hermes에서 이렇게 사용합니다.
43
53
 
44
54
  ```text
@@ -114,6 +124,16 @@ npm으로 설치합니다.
114
124
  npx lithermes-ai install --yes
115
125
  ```
116
126
 
127
+ npx 확인 질문까지 생략하는 설치:
128
+
129
+ ```sh
130
+ npx --yes lithermes-ai@latest install --yes
131
+ ```
132
+
133
+ `npx --yes`는 npm의 패키지 다운로드/실행 확인만 생략합니다. LitHermes가 Hermes
134
+ config를 수정하려면 여전히 `install --yes`가 필요합니다. 따라서 `npx --yes
135
+ lithermes-ai@latest install`이 안전하게 멈추는 것은 정상 동작입니다.
136
+
117
137
  Bun으로 설치합니다.
118
138
 
119
139
  ```sh
@@ -128,6 +148,10 @@ npx lithermes-ai install --yes --hermes-home /path/to/.hermes
128
148
 
129
149
  LitHermes는 `--yes`가 없으면 Hermes config를 수정하지 않습니다. 또한 `~/.hermes/plugins/lithermes`가 이미 있는데 이 installer가 만든 파일이 아니면, 사용자 파일을 덮어쓰지 않고 멈춥니다.
130
150
 
151
+ `npx lithermes@latest ...`로 설치하지 마세요. npm 패키지명은 `lithermes-ai`이고,
152
+ `lithermes`는 binary/plugin 이름입니다. binary 이름을 명시하고 싶다면
153
+ `npx --package lithermes-ai@latest lithermes install --yes`를 사용하세요.
154
+
131
155
  ## 확인
132
156
 
133
157
  패키지와 Hermes 호환성을 확인합니다.
@@ -215,6 +239,28 @@ npx lithermes-ai uninstall --yes
215
239
 
216
240
  ## 문제 해결
217
241
 
242
+ ### `Refusing to mutate Hermes config without --yes`
243
+
244
+ `--yes`를 npx에는 넘겼지만 LitHermes installer에는 넘기지 않은 경우입니다.
245
+
246
+ ```sh
247
+ npx --yes lithermes-ai@latest install --yes
248
+ ```
249
+
250
+ ### `No matching version found for lithermes@latest`
251
+
252
+ npm 패키지는 `lithermes`가 아니라 `lithermes-ai`입니다.
253
+
254
+ ```sh
255
+ npx --yes lithermes-ai@latest install --yes
256
+ ```
257
+
258
+ `lithermes` binary 이름을 꼭 명시하려면 다음처럼 실행하세요.
259
+
260
+ ```sh
261
+ npx --yes --package lithermes-ai@latest lithermes install --yes
262
+ ```
263
+
218
264
  ### `Hermes installation not found`
219
265
 
220
266
  Hermes home을 직접 지정하세요.
@@ -3,6 +3,16 @@
3
3
  Hermes-native workflow tools for plan-first execution, evidence ledgers, and
4
4
  first-class Hermes skills:
5
5
 
6
+ Install from npm with the package name `lithermes-ai`:
7
+
8
+ ```sh
9
+ npx --yes lithermes-ai@latest install --yes
10
+ ```
11
+
12
+ `npx --yes` only approves npm package execution; `install --yes` is the LitHermes
13
+ installer approval to mutate Hermes config. `lithermes` is the installed
14
+ CLI/plugin name, not the npm package name.
15
+
6
16
  - `/lit-plan` and `/litwork-plan` create durable plans in `plans/`, then forward a
7
17
  goal bootstrap to the Hermes agent instead of stopping at plan creation.
8
18
  - `/lit-loop` and `/litwork-loop` create run state under
@@ -1,5 +1,5 @@
1
1
  name: lithermes
2
- version: 0.8.6
2
+ version: 0.8.7
3
3
  description: "Hermes-native workflow toolkit: litgoal durable runtime, 5-lane review orchestrator, Litwork commands, skills, and prompt steering."
4
4
  author: "Hermes Agent"
5
5
  kind: standalone
@@ -11,7 +11,40 @@ This skill is an index. The hard per-language rules live under `references/`. Lo
11
11
 
12
12
  ---
13
13
 
14
- ## PHASE 0LANGUAGE GATE (RUN THIS FIRST, EVERY TIME)
14
+ ## PHASE -1BUILD-DECISION GATE (RUN BEFORE PHASE 0)
15
+
16
+ Before writing or editing a single line of implementation code, work down these
17
+ checks and stop at the first one that cleanly meets the need:
18
+
19
+ 1. Does this need to exist at all? If the outcome does not require it, do not build it.
20
+ 2. Does the standard library already do it well? If so, use it.
21
+ 3. Is there a native platform, runtime, or framework feature for it? If so, use it.
22
+ 4. Does an already-installed dependency cover it cleanly? If so, reuse it — do not add or hand-roll.
23
+ 5. Can the remaining gap be one clear line? If so, write the one line.
24
+ 6. Only after all of the above fail: write the minimum code that genuinely works — nothing speculative.
25
+
26
+ Scope and floor (these keep the gate from under-building):
27
+
28
+ - Judge "minimum that works" over the WHOLE task, not per call site. If the same
29
+ logic appears at more than one call site, the minimum that works IS one small
30
+ shared helper — extract it.
31
+ - "Works" includes error handling for any failure the code can realistically hit
32
+ (network, parse, missing file, bad state) and the tests that prove the behavior
33
+ you just wrote. Only handling for states that genuinely cannot occur is the
34
+ speculative part to cut.
35
+ - Reach for a stdlib / native / dependency option only when it fits the need
36
+ cleanly, not merely because it technically can.
37
+ - Never shorten away, for the sake of fewer lines: input validation at trust
38
+ boundaries, handling that prevents data loss or corruption, security controls
39
+ (auth, secret handling, injection/escaping), or accessibility. The point is to
40
+ remove redundancy and speculation, never to lower the correctness floor.
41
+
42
+ PHASE -1 decides WHETHER and FROM WHAT to build; PHASE 0 and the per-language iron
43
+ list decide HOW.
44
+
45
+ ---
46
+
47
+ ## PHASE 0 — LANGUAGE GATE (RUN AFTER PHASE -1, EVERY TIME)
15
48
 
16
49
  **DO NOT WRITE OR EDIT A SINGLE LINE OF CODE BEFORE COMPLETING THIS GATE.**
17
50
 
@@ -355,6 +388,7 @@ After every code-writing session, answer these out loud (in your reply) before d
355
388
  5. **Defensive layer?** Any null check, try/except, or `isinstance` guarding a value the type system already proves? If yes, delete.
356
389
  6. **Helpers for one-off?** Any function, class, or trait introduced for a single caller that will never get a second caller? If yes, inline.
357
390
  7. **Tests?** Is the behavior I just introduced locked by a test that would fail if I revert this commit?
391
+ 8. **Necessity & reuse?** Did everything I wrote need to exist, and did I confirm the standard library, a native feature, or an already-installed dependency did not already cover it before I hand-rolled? If not, remove it.
358
392
 
359
393
  **If any answer fails, fix it before declaring done.** This loop is the difference between "the code compiles" and "the code is correct."
360
394
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lithermes-ai",
3
- "version": "0.8.6",
3
+ "version": "0.8.7",
4
4
  "description": "npx/bunx installer for the LitHermes Hermes plugin",
5
5
  "license": "MIT",
6
6
  "repository": {