@litfamily/litclaude 1.0.2 โ†’ 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@
7
7
  envelopes and plain-output policy; use flat orange/lime/ivory cell colors with
8
8
  fixed 256-color approximations and no background or extrusion.
9
9
 
10
+ ## 1.0.3
11
+
12
+ - Restore the original colored HUD as the default: with `LITCLAUDE_HUD_APPEARANCE`
13
+ unset, model, context, usage, reset and Git text carry the accent again, usage
14
+ percentages are colored by level, and the brand uses the neon gradient.
15
+ `light` and `unknown` keep the default-foreground text introduced earlier.
16
+
10
17
  ## 1.0.2
11
18
 
12
19
  - Accept a pristine install of the registry-published `litclaude-ai@0.4.6` as a
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/cover.webp" width="100%" alt="LitClaude v5 armory cover" /></p>
1
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/cover.webp" width="100%" alt="LitClaude v5 armory cover" /></p>
2
2
 
3
3
  <h1 align="center">LitClaude</h1>
4
4
  <p align="center"><strong>Keep the work lit.</strong></p>
@@ -38,12 +38,12 @@
38
38
 
39
39
  </details>
40
40
 
41
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/litclaude-wordmark.svg" width="480" alt="LITCLAUDE display type" /></p>
42
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/litclaude-clay-icon.png" width="160" alt="LitClaude clay mark" /></p>
41
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/litclaude-wordmark.svg" width="480" alt="LITCLAUDE display type" /></p>
42
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/litclaude-clay-icon.png" width="160" alt="LitClaude clay mark" /></p>
43
43
 
44
44
  <p align="center">
45
- <img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/readme/badge-version.svg" alt="1.0.2" />
46
- <a href="./LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
45
+ <img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/readme/badge-version.svg" alt="1.0.3" />
46
+ <a href="./LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
47
47
  </p>
48
48
 
49
49
  <p align="center">
@@ -355,13 +355,13 @@ npm exec --yes --package @litfamily/litclaude@latest -- litclaude install
355
355
  For a reproducible install, pin the current package version:
356
356
 
357
357
  ```bash
358
- npm view @litfamily/litclaude@1.0.2 version
358
+ npm view @litfamily/litclaude@1.0.3 version
359
359
  ```
360
360
 
361
- If that lookup returns `1.0.2`, the exact install is available:
361
+ If that lookup returns `1.0.3`, the exact install is available:
362
362
 
363
363
  ```bash
364
- npm exec --yes --package @litfamily/litclaude@1.0.2 -- litclaude install
364
+ npm exec --yes --package @litfamily/litclaude@1.0.3 -- litclaude install
365
365
  ```
366
366
 
367
367
  Otherwise, wait for explicit human publication before using that pin. Check the
@@ -414,14 +414,14 @@ uses `[๐Ÿ”ฅLITCLAUDE vX.Y.Z]`, a compact `ctx [โ–Žโ–‘โ–‘]` bar, and a `5h [โ–
414
414
  rate-limit reset countdown. Set `LITCLAUDE_HUD_ACCENT` before installation to
415
415
  choose an accent.
416
416
 
417
- HUD appearance and color capability are independent. Essential model, context,
418
- usage, reset, and Git text use the terminal's default foreground; bar shapes and
419
- separators may carry the selected accent, while the compact brand follows the
420
- appearance policy. Set `LITCLAUDE_HUD_APPEARANCE=light|dark|unknown` (the safe
421
- default is `unknown`) and `LITCLAUDE_HUD_COLOR_DEPTH=truecolor|256|16|plain` when
422
- an explicit setting is needed; an explicit depth takes precedence over capability
423
- detection, including WSL truecolor detection. Light and unknown appearances keep
424
- the brand on the default foreground. `NO_COLOR` disables every HUD escape even
417
+ HUD appearance and color capability are independent. By default (`dark`) the
418
+ model, context, usage, reset, and Git text carry the selected accent, usage
419
+ percentages are colored by level, and the brand uses the neon gradient. Set
420
+ `LITCLAUDE_HUD_APPEARANCE=light` or `unknown` to keep that essential text and the
421
+ brand on the terminal's default foreground, with only bar shapes and separators
422
+ accented. Set `LITCLAUDE_HUD_COLOR_DEPTH=truecolor|256|16|plain` when an explicit
423
+ depth is needed; it takes precedence over capability detection, including WSL
424
+ truecolor detection. `NO_COLOR` disables every HUD escape even
425
425
  when its value is empty, and `TERM=dumb` stays plain even if another signal or
426
426
  depth override advertises color; `LITCLAUDE_HUD_NO_COLOR=1` remains supported.
427
427
  The HUD never forces a background color or invents a rate-limit value when Claude
package/README_ko-KR.md CHANGED
@@ -1,4 +1,4 @@
1
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/cover.webp" width="100%" alt="LitClaude v5 armory cover" /></p>
1
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/cover.webp" width="100%" alt="LitClaude v5 armory cover" /></p>
2
2
 
3
3
  <h1 align="center">LitClaude</h1>
4
4
  <p align="center"><strong>Keep the work lit.</strong></p>
@@ -38,12 +38,12 @@
38
38
 
39
39
  </details>
40
40
 
41
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/litclaude-wordmark.svg" width="480" alt="LITCLAUDE ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…" /></p>
42
- <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/litclaude-clay-icon.png" width="160" alt="LitClaude ํด๋ ˆ์ด ๋งˆํฌ" /></p>
41
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/litclaude-wordmark.svg" width="480" alt="LITCLAUDE ๋””์Šคํ”Œ๋ ˆ์ด ํƒ€์ž…" /></p>
42
+ <p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/litclaude-clay-icon.png" width="160" alt="LitClaude ํด๋ ˆ์ด ๋งˆํฌ" /></p>
43
43
 
44
44
  <p align="center">
45
- <img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/readme/badge-version.svg" alt="1.0.2" />
46
- <a href="./LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.2/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
45
+ <img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/readme/badge-version.svg" alt="1.0.3" />
46
+ <a href="./LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litclaude@1.0.3/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
47
47
  </p>
48
48
 
49
49
  <p align="center">
@@ -350,13 +350,13 @@ npm exec --yes --package @litfamily/litclaude@latest -- litclaude install
350
350
  ์„ค์น˜๋ฅผ ์žฌํ˜„ํ•˜๋ ค๋ฉด registry์—์„œ ํ˜„์žฌ package version์„ ์กฐํšŒํ•œ ๋’ค ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค.
351
351
 
352
352
  ```bash
353
- npm view @litfamily/litclaude@1.0.2 version
353
+ npm view @litfamily/litclaude@1.0.3 version
354
354
  ```
355
355
 
356
- ์กฐํšŒ ๊ฒฐ๊ณผ๊ฐ€ `1.0.2`์ด๋ฉด exact install์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
356
+ ์กฐํšŒ ๊ฒฐ๊ณผ๊ฐ€ `1.0.3`์ด๋ฉด exact install์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
357
357
 
358
358
  ```bash
359
- npm exec --yes --package @litfamily/litclaude@1.0.2 -- litclaude install
359
+ npm exec --yes --package @litfamily/litclaude@1.0.3 -- litclaude install
360
360
  ```
361
361
 
362
362
  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ช…์‹œ์ ์ธ human publication์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. Pin์€ ๊ทธ ๋’ค์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
@@ -390,13 +390,13 @@ LitClaude HUD๋Š” `[๐Ÿ”ฅLITCLAUDE vX.Y.Z]`, `ctx [โ–Žโ–‘โ–‘]` context bar,
390
390
  `5h [โ–โ–‘] 4% โ†ป` rate-limit reset countdown์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ์ „์—
391
391
  `LITCLAUDE_HUD_ACCENT`๋ฅผ ์ง€์ •ํ•ด accent๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
392
392
 
393
- HUD์˜ ๋ฐฐ๊ฒฝ ์„ค์ •๊ณผ ํ„ฐ๋ฏธ๋„ ์ƒ‰์ƒ ์ง€์› ์ˆ˜์ค€์€ ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค. model, context, usage,
394
- reset, Git ๊ฐ™์€ ํ•„์ˆ˜ ๊ธ€์ž๋Š” ํ„ฐ๋ฏธ๋„์˜ ๊ธฐ๋ณธ ์ „๊ฒฝ์ƒ‰์„ ์‚ฌ์šฉํ•˜๊ณ , bar ๋ชจ์–‘๊ณผ ๊ตฌ๋ถ„์„ ์€
395
- ์„ ํƒํ•œ accent๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ compact brand๋Š” ๋ฐฐ๊ฒฝ ์ •์ฑ…์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
396
- `LITCLAUDE_HUD_APPEARANCE=light|dark|unknown`์œผ๋กœ ๋ฐฐ๊ฒฝ ์ •์ฑ…์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ 
397
- ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์€ `unknown`์ž…๋‹ˆ๋‹ค. `LITCLAUDE_HUD_COLOR_DEPTH=truecolor|256|16|plain`์œผ๋กœ
398
- ์ƒ‰ ๊นŠ์ด๋ฅผ ์ง€์ •ํ•˜๋ฉด WSL truecolor ๊ฐ์ง€๋ฅผ ํฌํ•จํ•œ ์ž๋™ ๊ฐ์ง€๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. light์™€
399
- unknown์—์„œ๋Š” brand๋„ ๊ธฐ๋ณธ ์ „๊ฒฝ์ƒ‰์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. `NO_COLOR`๋Š” ๊ฐ’์ด ๋นˆ ๋ฌธ์ž์—ด์ด์–ด๋„
393
+ HUD์˜ ๋ฐฐ๊ฒฝ ์„ค์ •๊ณผ ํ„ฐ๋ฏธ๋„ ์ƒ‰์ƒ ์ง€์› ์ˆ˜์ค€์€ ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’(`dark`)์—์„œ๋Š” model,
394
+ context, usage, reset, Git ๊ธ€์ž์— ์„ ํƒํ•œ accent๊ฐ€ ๋“ค์–ด๊ฐ€๊ณ , ์‚ฌ์šฉ๋Ÿ‰ ํผ์„ผํŠธ๋Š” ์ˆ˜์ค€์—
395
+ ๋”ฐ๋ผ ์ƒ‰์ด ๋ฐ”๋€Œ๋ฉฐ, brand๋Š” ๋„ค์˜จ ๊ทธ๋ผ๋ฐ์ด์…˜์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
396
+ `LITCLAUDE_HUD_APPEARANCE=light` ๋˜๋Š” `unknown`์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ํ•„์ˆ˜ ๊ธ€์ž์™€ brand๋Š”
397
+ ํ„ฐ๋ฏธ๋„์˜ ๊ธฐ๋ณธ ์ „๊ฒฝ์ƒ‰์„ ์“ฐ๊ณ , bar ๋ชจ์–‘๊ณผ ๊ตฌ๋ถ„์„ ๋งŒ accent๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
398
+ `LITCLAUDE_HUD_COLOR_DEPTH=truecolor|256|16|plain`์œผ๋กœ ์ƒ‰ ๊นŠ์ด๋ฅผ ์ง€์ •ํ•˜๋ฉด WSL
399
+ truecolor ๊ฐ์ง€๋ฅผ ํฌํ•จํ•œ ์ž๋™ ๊ฐ์ง€๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. `NO_COLOR`๋Š” ๊ฐ’์ด ๋นˆ ๋ฌธ์ž์—ด์ด์–ด๋„
400
400
  HUD ANSI๋ฅผ ๋ชจ๋‘ ๋„๋ฉฐ, `TERM=dumb`๋„ ๋‹ค๋ฅธ ์ƒ‰์ƒ ์‹ ํ˜ธ๋‚˜ ๊นŠ์ด ์„ค์ •์ด ์žˆ์–ด๋„ plain์„
401
401
  ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. `LITCLAUDE_HUD_NO_COLOR=1`๋„ ๊ณ„์† ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. HUD๋Š” ๋ฐฐ๊ฒฝ์ƒ‰์„ ๊ฐ•์ œ๋กœ
402
402
  ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  Claude๊ฐ€ `--`๋ฅผ ๋ณด๋‚ธ rate-limit ๊ฐ’์„ ์ž„์˜๋กœ ์ฑ„์šฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.2"><title>release: 1.0.2</title><g shape-rendering="crispEdges"><rect width="49" height="20" fill="#080d14"/><rect x="49" width="97" height="20" fill="#ff6337"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="255" y="140" textLength="390" transform="scale(.1)">release</text><text x="965" y="140" textLength="870" transform="scale(.1)" fill="#080D14">1.0.2</text></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.3"><title>release: 1.0.3</title><g shape-rendering="crispEdges"><rect width="49" height="20" fill="#080d14"/><rect x="49" width="97" height="20" fill="#ff6337"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="255" y="140" textLength="390" transform="scale(.1)">release</text><text x="965" y="140" textLength="870" transform="scale(.1)" fill="#080D14">1.0.3</text></g></svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@litfamily/litclaude",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Claude Code-native workflow distribution.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "litclaude",
3
3
  "description": "Claude Code-native workflow plugin with a bounded-authority start-work lifecycle.",
4
- "version": "1.0.2",
4
+ "version": "1.0.3",
5
5
  "author": {
6
6
  "name": "LitClaude contributors"
7
7
  },
@@ -226,12 +226,20 @@ const formatReset = (value) => {
226
226
  return `โ†ป${minutes}m`;
227
227
  };
228
228
 
229
+ const coloredText = appearance === "dark";
230
+ const text = (value) => (coloredText ? accent(value) : value);
231
+
229
232
  const formatUsageSegment = (label, value, reset) => {
230
- const labelText = label;
231
- if (value === null) return `${labelText} [${makeBlockBar(0, 2)}] --%`;
233
+ const labelText = text(label);
234
+ if (value === null) {
235
+ return coloredText
236
+ ? `${labelText} ${accent("[")}${colors.accent}โ–‘โ–‘${colors.reset}${accent("]")} ${accent("--%")}`
237
+ : `${labelText} [${makeBlockBar(0, 2)}] --%`;
238
+ }
232
239
  const pct = displayPercent(value);
233
240
  const resetText = formatReset(reset);
234
- return `${labelText} ${accent("[")}${makeBlockBar(pct, 2)}${accent("]")} ${pct}%${resetText ? ` ${resetText}` : ""}`;
241
+ const pctText = coloredText ? `${barColor(pct)}${pct}%${colors.reset}` : `${pct}%`;
242
+ return `${labelText} ${accent("[")}${makeBlockBar(pct, 2)}${accent("]")} ${pctText}${resetText ? ` ${text(resetText)}` : ""}`;
235
243
  };
236
244
 
237
245
  const main = async () => {
@@ -254,8 +262,8 @@ const main = async () => {
254
262
  depth: colorDepth,
255
263
  appearance,
256
264
  });
257
- const contextText = `ctx ${accent("[")}${makeContextBar(contextPct)}${accent("]")} ${contextPct}%/${maxK}k`;
258
- const line = `${prefix} ${accent("|")} ${model} ${accent(sep)} ${contextText}${usageText}${git ? ` ${accent(sep)} git ${git}` : ""}`;
265
+ const contextText = `${text("ctx")} ${accent("[")}${makeContextBar(contextPct)}${accent("]")} ${text(`${contextPct}%/${maxK}k`)}`;
266
+ const line = `${prefix} ${accent("|")} ${text(model)} ${accent(sep)} ${contextText}${usageText}${git ? ` ${accent(sep)} ${text("git")} ${text(git)}` : ""}`;
259
267
  process.stdout.write(`${line}\n`);
260
268
 
261
269
  const lastMessage = latestUserMessage(status.transcript_path);
@@ -9,7 +9,7 @@ import {
9
9
  } from "../lib/wikify-knowledge.mjs";
10
10
 
11
11
  const protocolVersion = "2024-11-05";
12
- const serverVersion = "1.0.2";
12
+ const serverVersion = "1.0.3";
13
13
 
14
14
  const publicSourceReadTool = {
15
15
  name: "public_source_read",
@@ -25,8 +25,11 @@ export const themeForAccent = (value) => {
25
25
 
26
26
  export const accentCodeForName = (value) => themeForAccent(value).code;
27
27
 
28
+ // An unset appearance keeps the original dark-terminal look; light and unknown opt
29
+ // into default-foreground text.
28
30
  export const normalizeHudAppearance = (value) => {
29
31
  const normalized = String(value || "").trim().toLowerCase();
32
+ if (!normalized) return "dark";
30
33
  return normalized === "light" || normalized === "dark" ? normalized : "unknown";
31
34
  };
32
35