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
|
|
@@ -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
|
|
14
|
+
## PHASE -1 — BUILD-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
|
|