litclaude-ai 0.3.39 → 0.3.40

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
@@ -17,7 +17,15 @@
17
17
  tools, so the harness read-before-write guard never sees them — copying an
18
18
  example literally could clobber a file in the user's working directory.
19
19
 
20
- ## Unreleased — `lit-comprehend` explainer artifacts
20
+ ## Unreleased — output styles enrollment and `lit-comprehend` explainer artifacts
21
+
22
+ - Add output styles enrollment to the installer: a `chooseOutputStyle` prompt
23
+ (mirroring `chooseHudAccent`) lets users pick `off`, `asd-ste100`,
24
+ `asd-ste100-ko`, `eli5`, or `eli5-ko` on every install run, defaulted from
25
+ the prior choice. The installer writes `settings.outputStyle` clobber-safely —
26
+ skipping the write and printing a note when the field was changed outside
27
+ LitClaude — and tracks `outputStyleChoice`/`outputStyleWrittenName` under
28
+ the `litclaude` settings key for idempotent reinstall defaulting.
21
29
 
22
30
  - Add the `lit-comprehend` skill, the `/litclaude:lit-comprehend` command, and the
23
31
  `lit-comprehend` / `comprehend` / `lit comprehend` / `$lit-comprehend` /
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
  <p align="center">
11
11
  <img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" />
12
- <img src="https://img.shields.io/badge/version-0.3.39-2ea44f" />
12
+ <img src="https://img.shields.io/badge/version-0.3.40-2ea44f" />
13
13
  <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue" />
15
15
  </p>
@@ -174,18 +174,18 @@ cd /tmp
174
174
  npx --yes litclaude-ai@latest install
175
175
  ```
176
176
 
177
- `0.3.39` is the version prepared by this checkout. Registry lookup is authoritative
177
+ `0.3.40` is the version prepared by this checkout. Registry lookup is authoritative
178
178
  for whether that exact version can be installed:
179
179
 
180
180
  ```bash
181
- npm view litclaude-ai@0.3.39 version
181
+ npm view litclaude-ai@0.3.40 version
182
182
  ```
183
183
 
184
- If that lookup returns 0.3.39, the exact install is available:
184
+ If that lookup returns 0.3.40, the exact install is available:
185
185
 
186
186
  ```bash
187
187
  cd /tmp
188
- npx --yes litclaude-ai@0.3.39 install
188
+ npx --yes litclaude-ai@0.3.40 install
189
189
  ```
190
190
 
191
191
  Otherwise, wait for explicit human publication and repeat the lookup before using
@@ -216,7 +216,7 @@ The installer also sets Claude Code's `statusLine` command to the packaged
216
216
  LitClaude HUD. A typical no-color render starts like:
217
217
 
218
218
  ```text
219
- [🔥LITCLAUDE v0.3.39] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
219
+ [🔥LITCLAUDE v0.3.40] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
220
220
  ```
221
221
 
222
222
  The `↻` suffix is a compact rate-limit reset countdown. It is separated from
package/README_ko-KR.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
  <p align="center">
11
11
  <img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" />
12
- <img src="https://img.shields.io/badge/version-0.3.39-2ea44f" />
12
+ <img src="https://img.shields.io/badge/version-0.3.40-2ea44f" />
13
13
  <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue" />
15
15
  </p>
@@ -183,18 +183,18 @@ cd /tmp
183
183
  npx --yes litclaude-ai@latest install
184
184
  ```
185
185
 
186
- `0.3.39`은 이 checkout에서 준비 중인 version입니다. exact version의 설치 가능
186
+ `0.3.40`은 이 checkout에서 준비 중인 version입니다. exact version의 설치 가능
187
187
  여부에는 registry 조회 결과를 authoritative한 기준으로 사용합니다.
188
188
 
189
189
  ```bash
190
- npm view litclaude-ai@0.3.39 version
190
+ npm view litclaude-ai@0.3.40 version
191
191
  ```
192
192
 
193
- 조회 결과가 0.3.39이면 exact install을 사용할 수 있습니다.
193
+ 조회 결과가 0.3.40이면 exact install을 사용할 수 있습니다.
194
194
 
195
195
  ```bash
196
196
  cd /tmp
197
- npx --yes litclaude-ai@0.3.39 install
197
+ npx --yes litclaude-ai@0.3.40 install
198
198
  ```
199
199
 
200
200
  그렇지 않으면 명시적인 human publication을 기다립니다. 게시 후 조회를 다시 실행해
@@ -225,7 +225,7 @@ installer는 Claude Code의 `statusLine` command도 packaged LitClaude HUD로
225
225
  설정합니다. 색상을 제거한 예시는 다음처럼 시작합니다.
226
226
 
227
227
  ```text
228
- [🔥LITCLAUDE v0.3.39] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
228
+ [🔥LITCLAUDE v0.3.40] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
229
229
  ```
230
230
 
231
231
  `↻` 표시는 rate-limit reset까지 남은 시간을 짧게 보여주는 countdown입니다.
@@ -1,6 +1,6 @@
1
1
  # LitClaude Release Checklist
2
2
 
3
- Status: `litclaude-ai@0.3.39` is the current release candidate — exact canonical
3
+ Status: `litclaude-ai@0.3.40` is the current release candidate — exact canonical
4
4
  frontend corpus plus Claude-native `autoresearch`, `autoconference`, and `wikify`
5
5
  workflow-family integration. It byte-pins the frontend library, legal companions,
6
6
  family source closures, and adapters through independent commitments and package
@@ -45,9 +45,9 @@ side-effect-free, the launcher starts only a separate Claude Code
45
45
  print/background worker, and the release preserves the Korean polishing
46
46
  command, strict multi-agent review pipeline, fidelity guardrails, package
47
47
  hygiene checks, native route gates, and safe start-work handoff behavior.
48
- `package.json` is aligned to `0.3.39`,
49
- `plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.3.39`, and the
50
- plugin-local MCP server reports `0.3.39`.
48
+ `package.json` is aligned to `0.3.40`,
49
+ `plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.3.40`, and the
50
+ plugin-local MCP server reports `0.3.40`.
51
51
 
52
52
  This release carries the v0.2.2 Dynamic workflow hardening surfaces:
53
53
  `/dynamic-workflow`, `workflow-check --json`, native `/goal` fallback guidance,
@@ -280,9 +280,9 @@ checkout and from an isolated install of the packed tarball:
280
280
  Before requesting publication approval, confirm these artifacts from the current
281
281
  checkout:
282
282
 
283
- - `package.json` version is `0.3.39`.
284
- - `plugins/litclaude/.claude-plugin/plugin.json` version is `0.3.39`.
285
- - `plugins/litclaude/bin/litclaude-mcp.js` reports server version `0.3.39`.
283
+ - `package.json` version is `0.3.40`.
284
+ - `plugins/litclaude/.claude-plugin/plugin.json` version is `0.3.40`.
285
+ - `plugins/litclaude/bin/litclaude-mcp.js` reports server version `0.3.40`.
286
286
  - Prompt-hook tests cover bundled `SKILL.md` body injection for bare `hyperplan`, `litresearch`, `lit research`, `init-deep`, and explicit leading `$start-work`; diagnostic/copy mentions stay inert while leading natural-language `lit start work` stays BLOCKED.
287
287
  - `lit search` and `lit query` route to `/litclaude:litresearch` without activating on slash mentions, code spans, or non-lit prompts.
288
288
  - Litresearch web lanes require public API/feed preference, validator-first checks, route traces, prompt-injection quarantine, and honest auth/paywall/private-data stop reasons.
@@ -100,6 +100,19 @@ const knownExternalLspPlugins = {
100
100
  };
101
101
  const spinnerFrames = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
102
102
  const hudAccentThemes = HUD_ACCENT_THEMES;
103
+ const OUTPUT_STYLE_OPTIONS = [
104
+ { id: "off", label: "None / keep current" },
105
+ { id: "asd-ste100", label: "ASD-STE100 (English)" },
106
+ { id: "asd-ste100-ko", label: "ASD-STE100 (한국어)" },
107
+ { id: "eli5", label: "ELI5 (English)" },
108
+ { id: "eli5-ko", label: "ELI5 (한국어)" },
109
+ ];
110
+ const OUTPUT_STYLE_NAMES = {
111
+ "asd-ste100": "LitClaude — ASD-STE100",
112
+ "asd-ste100-ko": "LitClaude — ASD-STE100 (한국어)",
113
+ "eli5": "LitClaude — ELI5",
114
+ "eli5-ko": "LitClaude — ELI5 (한국어)",
115
+ };
103
116
  const permissionModes = new Set(["safe", "balanced", "yolo"]);
104
117
  const permissionOwnershipDescription =
105
118
  "preserves pre-existing entries; removes only LitClaude-inserted entries on mode change or uninstall";
@@ -351,6 +364,50 @@ const chooseHudAccent = async (existingAccent = "cyan") => {
351
364
  }
352
365
  };
353
366
 
367
+ const normalizeOutputStyle = (value) => {
368
+ if (!value) return "off";
369
+ const v = String(value).trim().toLowerCase();
370
+ const match = OUTPUT_STYLE_OPTIONS.find((opt) => opt.id === v);
371
+ return match ? match.id : "off";
372
+ };
373
+
374
+ const shouldPromptOutputStyle = () => {
375
+ if (process.env.LITCLAUDE_OUTPUT_STYLE_PROMPT === "1") return true;
376
+ if (process.env.LITCLAUDE_OUTPUT_STYLE_PROMPT === "0") return false;
377
+ return Boolean(process.stdin.isTTY && process.stdout.isTTY && !process.env.CI);
378
+ };
379
+
380
+ const chooseOutputStyle = async (existingChoice = "off") => {
381
+ const preserved = normalizeOutputStyle(existingChoice);
382
+ const envStyle = process.env.LITCLAUDE_OUTPUT_STYLE;
383
+ if (envStyle && process.env.LITCLAUDE_OUTPUT_STYLE_PROMPT !== "1") {
384
+ return normalizeOutputStyle(envStyle);
385
+ }
386
+ if (!shouldPromptOutputStyle()) return envStyle ? normalizeOutputStyle(envStyle) : preserved;
387
+
388
+ process.stdout.write("Choose LitClaude output style:\n");
389
+ for (const [index, option] of OUTPUT_STYLE_OPTIONS.entries()) {
390
+ process.stdout.write(` ${index}) ${option.label}\n`);
391
+ }
392
+
393
+ const preservedLabel = OUTPUT_STYLE_OPTIONS.find((opt) => opt.id === preserved)?.label ?? preserved;
394
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
395
+ try {
396
+ const answer = await rl.question(`Style 0-4 [${preservedLabel}]: `);
397
+ const trimmed = answer.trim();
398
+ const byIndex = OUTPUT_STYLE_OPTIONS[Number.parseInt(trimmed, 10)]?.id;
399
+ const selected = byIndex !== undefined ? byIndex : (trimmed ? normalizeOutputStyle(trimmed) : preserved);
400
+ const isExplicitOff = trimmed.toLowerCase() === "off" || trimmed.toLowerCase() === "none";
401
+ if (trimmed && byIndex === undefined && selected === "off" && !isExplicitOff) {
402
+ process.stdout.write("OUTPUT_STYLE_WARNING: unknown style; using 'off'\n");
403
+ }
404
+ process.stdout.write(`OUTPUT_STYLE_SELECTED: ${selected}\n`);
405
+ return selected;
406
+ } finally {
407
+ rl.close();
408
+ }
409
+ };
410
+
354
411
  const hudCommandForPlugin = (pluginPath, accent = "cyan") =>
355
412
  `LITCLAUDE_HUD_ACCENT=${normalizeHudAccent(accent)} node "${join(pluginPath, "bin", "litclaude-hud.js")}"`;
356
413
 
@@ -458,6 +515,30 @@ const installHudStatusLine = (pluginPath, home = claudeHome(), accent = "cyan")
458
515
  writeClaudeSettings(settings, home);
459
516
  };
460
517
 
518
+ const installOutputStyle = (choice, home = claudeHome()) => {
519
+ if (choice === "off") return;
520
+ const writtenName = OUTPUT_STYLE_NAMES[choice] ?? null;
521
+ if (!writtenName) return;
522
+
523
+ const settings = readClaudeSettings(home);
524
+ const existingLitClaude = settings[litClaudeSettingsKey] ?? {};
525
+ const previousWrittenName = existingLitClaude.outputStyleWrittenName ?? null;
526
+
527
+ const currentOutputStyle = settings.outputStyle;
528
+ if (currentOutputStyle === undefined || currentOutputStyle === previousWrittenName) {
529
+ settings.outputStyle = writtenName;
530
+ } else {
531
+ process.stdout.write(`Note: outputStyle was changed outside LitClaude (currently "${currentOutputStyle}"). Switch it via /config if you want LitClaude's style.\n`);
532
+ }
533
+
534
+ settings[litClaudeSettingsKey] = {
535
+ ...existingLitClaude,
536
+ outputStyleChoice: choice,
537
+ outputStyleWrittenName: writtenName,
538
+ };
539
+ writeClaudeSettings(settings, home);
540
+ };
541
+
461
542
  const uninstallHudStatusLine = (home = claudeHome()) => {
462
543
  const settingsPath = claudeSettingsPath(home);
463
544
  if (!existsSync(settingsPath)) return;
@@ -840,6 +921,7 @@ const install = async ({ dryRun, rest }) => {
840
921
  const existingLitClaude = readClaudeSettings(home)[litClaudeSettingsKey] ?? {};
841
922
  const { permissionMode, permissionExplicit } = parseInstallOptions(rest, existingLitClaude.permissionMode);
842
923
  const existingHudAccent = normalizeHudAccent(existingLitClaude.hudAccent);
924
+ const existingOutputStyle = existingLitClaude.outputStyleChoice ?? "off";
843
925
  const requestedHudAccent = process.env.LITCLAUDE_HUD_ACCENT
844
926
  ? normalizeHudAccent(process.env.LITCLAUDE_HUD_ACCENT)
845
927
  : existingHudAccent;
@@ -868,6 +950,7 @@ const install = async ({ dryRun, rest }) => {
868
950
  }
869
951
 
870
952
  const hudAccent = await chooseHudAccent(existingHudAccent);
953
+ const outputStyleChoice = await chooseOutputStyle(existingOutputStyle);
871
954
  progress.prepare({ claudeTarget: home, litTarget: litClaudeHome });
872
955
  await progress.run(
873
956
  {
@@ -901,7 +984,10 @@ const install = async ({ dryRun, rest }) => {
901
984
  purpose: "Enable the plugin and HUD, then update global Claude settings permissions.allow/deny",
902
985
  target: claudeSettingsPath(home),
903
986
  },
904
- () => registerClaudePlugin(targetPlugin, localMarketplace, home, hudAccent, permissionMode),
987
+ () => {
988
+ registerClaudePlugin(targetPlugin, localMarketplace, home, hudAccent, permissionMode);
989
+ installOutputStyle(outputStyleChoice, home);
990
+ },
905
991
  );
906
992
 
907
993
  const litRoot = versionRoot(litClaudeHome);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litclaude-ai",
3
- "version": "0.3.39",
3
+ "version": "0.3.40",
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": "0.3.39",
4
+ "version": "0.3.40",
5
5
  "author": {
6
6
  "name": "LitClaude contributors"
7
7
  },
@@ -3,7 +3,7 @@
3
3
  import { readPublicSource } from "../lib/public-source-reader/reader.mjs";
4
4
 
5
5
  const protocolVersion = "2024-11-05";
6
- const serverVersion = "0.3.39";
6
+ const serverVersion = "0.3.40";
7
7
 
8
8
  const publicSourceReadTool = {
9
9
  name: "public_source_read",
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: "LitClaude — ASD-STE100"
3
+ description: Write responses in ASD-STE100 Simplified Technical English — short sentences, active voice, controlled vocabulary, one instruction per step.
4
+ keep-coding-instructions: true
5
+ ---
6
+
7
+ Write all prose output in ASD-STE100 Simplified Technical English (STE). This applies to
8
+ explanations, summaries, and instructions you give the user — not to code, code comments, file
9
+ contents, or quoted material, which follow their own conventions.
10
+
11
+ ## Sentence construction
12
+
13
+ - One idea per sentence. Do not join unrelated ideas with "and" or "which."
14
+ - Keep sentences short: 20 words or fewer for descriptive sentences, 15-20 words for instructions.
15
+ - Use active voice. Name the agent that does the action.
16
+ - Write "Run the migration script." not "The migration script should be run."
17
+ - Use simple verb tenses only:
18
+ - Simple present for facts and general truths ("The function returns null.")
19
+ - Simple past for completed actions ("The build failed.")
20
+ - Simple future for future events ("The test will fail.")
21
+ - Avoid continuous, perfect, and perfect-continuous tenses ("has been running," "will have completed").
22
+ - Always use articles ("a," "an," "the"). Do not drop them for brevity.
23
+ - Limit noun clusters to 3 nouns in a row. Break up long noun strings with prepositions.
24
+ - Write "the timeout value for the connection pool" not "the connection pool timeout value."
25
+ - Avoid "-ing" forms as nouns or adjectives where a plain verb form exists.
26
+ - Write "to configure the server" not "for configuring the server."
27
+
28
+ ## Vocabulary
29
+
30
+ - One word, one meaning. Do not switch between synonyms for the same concept in one response (pick "delete" or "remove," not both).
31
+ - Avoid jargon, idioms, and figurative language. State things literally.
32
+ - Define a technical term the first time you use it, in simple terms.
33
+ - Prefer common, concrete words over abstract or formal ones.
34
+
35
+ ## Instructions and procedures
36
+
37
+ - Write instructions as numbered steps, in imperative mood, present tense.
38
+ - One action per step. Split compound actions into separate steps.
39
+ - Put a step's condition before its action: "If the file exists, delete it." not "Delete the file if it exists."
40
+ - Flag risk or required attention with an explicit label before the relevant step: `WARNING:`, `CAUTION:`, or `NOTE:`.
41
+
42
+ ## Structure
43
+
44
+ - Prefer short paragraphs, numbered steps, and bullet lists over dense prose.
45
+ - State the main point first, then supporting detail.
46
+ - If a rule above conflicts with brevity, choose clarity and unambiguous meaning.
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: "LitClaude — ASD-STE100 (한국어)"
3
+ description: 짧은 문장, 능동태, 통제된 어휘, 한 단계에 한 지시로 쓰는 쉬운 기술 문장체.
4
+ keep-coding-instructions: true
5
+ ---
6
+
7
+ <!-- Principle-adapted from the English version, not translated. Do not re-translate. -->
8
+
9
+ 설명, 요약, 사용자에게 주는 지시는 모두 쉬운 기술 문장체로 쓰십시오. 코드, 코드 주석, 파일 내용,
10
+ 인용문에는 이 규칙을 적용하지 마십시오. 그것들은 각자의 규칙을 따릅니다.
11
+
12
+ ## 문장 구성
13
+
14
+ - 한 문장에 한 가지 생각만 담으십시오. 관계없는 내용을 "그리고"나 "그런데"로 잇지 마십시오.
15
+ - 문장을 짧게 쓰십시오. 설명문은 40자 안팎, 지시문은 30자 안팎을 넘기지 마십시오.
16
+ - 능동태를 쓰십시오. 행동의 주체를 밝히십시오.
17
+ - "마이그레이션 스크립트를 실행하십시오."라고 쓰십시오. "마이그레이션 스크립트가 실행되어야
18
+ 합니다."라고 쓰지 마십시오.
19
+ - 시제는 단순하게 쓰십시오.
20
+ - 사실이나 일반 원리는 현재형: "이 함수는 null을 반환합니다."
21
+ - 끝난 일은 과거형: "빌드가 실패했습니다."
22
+ - 앞으로 일어날 일은 미래형: "이 테스트는 실패할 것입니다."
23
+ - "~하고 있었습니다", "~해 왔습니다" 같은 복잡한 시제는 피하십시오.
24
+ - 긴 명사 나열을 피하십시오. 조사로 끊어 쓰십시오.
25
+ - "연결 풀의 타임아웃 값"이라고 쓰십시오. "연결 풀 타임아웃 값"처럼 명사를 겹쳐 쓰지 마십시오.
26
+
27
+ ## 어휘
28
+
29
+ - 한 단어에 한 뜻만 쓰십시오. 같은 개념을 한 답변 안에서 다른 말로 바꿔 쓰지 마십시오. ("삭제"면
30
+ "삭제"로 끝까지 쓰고, "제거"와 섞지 마십시오.)
31
+ - 전문 용어, 관용구, 비유적 표현을 피하십시오. 있는 그대로 말하십시오.
32
+ - 전문 용어는 처음 쓸 때 쉬운 말로 뜻을 설명하십시오.
33
+ - 어렵고 추상적인 말보다 쉽고 구체적인 말을 쓰십시오.
34
+
35
+ ## 지시와 절차
36
+
37
+ - 지시는 번호가 붙은 단계로, 명령형·현재형으로 쓰십시오.
38
+ - 한 단계에 한 가지 행동만 넣으십시오. 여러 행동은 단계를 나누십시오.
39
+ - 조건을 행동보다 먼저 쓰십시오. "파일이 있으면 삭제하십시오."라고 쓰십시오. "파일을 삭제하십시오,
40
+ 있다면."이라고 쓰지 마십시오.
41
+ - 위험하거나 주의가 필요한 단계 앞에는 `경고:`, `주의:`, `참고:`를 명확히 표시하십시오.
42
+
43
+ ## 구조
44
+
45
+ - 빽빽한 글보다 짧은 문단, 번호 목록, 글머리표를 쓰십시오.
46
+ - 핵심을 먼저 말하고, 세부 내용을 뒤에 쓰십시오.
47
+ - 위 규칙과 간결함이 부딪히면, 명확하고 오해 없는 뜻을 선택하십시오.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: "LitClaude — ELI5"
3
+ description: keep it simple pls
4
+ keep-coding-instructions: true
5
+ ---
6
+
7
+ It's been a long day and my brain is fried, talk to me like I'm 5.
8
+
9
+ Small words, short sentences, short paragraphs. If you have to use
10
+ a big word, explain it right after. Only return what's actually necessary.
11
+
12
+ Just tell me what you did, did it work, what do I do now.
13
+
14
+ If I have to decide something: 2 options max, the context I need to pick fast,
15
+ and which one you'd go with.
16
+
17
+ Keep paths and commands exact. I have no brain cells left for the rest.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: "LitClaude — ELI5 (한국어)"
3
+ description: 쉽게, 짧게, 필요한 것만.
4
+ keep-coding-instructions: true
5
+ ---
6
+
7
+ <!-- Principle-adapted from the English version, not translated. Do not re-translate. -->
8
+
9
+ 오늘 하루가 길었고 머리가 지쳤어요. 다섯 살짜리한테 설명하듯 말해주세요.
10
+
11
+ 짧은 단어, 짧은 문장, 짧은 문단을 쓰세요. 어려운 단어를 써야 한다면 바로 뒤에 쉽게 풀어서
12
+ 설명하세요. 정말 필요한 내용만 답하세요.
13
+
14
+ 무엇을 했는지, 잘 됐는지, 다음에 뭘 해야 하는지만 말해주세요.
15
+
16
+ 제가 뭔가 결정해야 한다면: 선택지는 최대 2개, 빠르게 고르는 데 필요한 맥락만, 그리고 당신이라면
17
+ 어떤 걸 고를지도 알려주세요.
18
+
19
+ 경로와 명령어는 정확하게 그대로 써주세요. 그 외의 것까지 신경 쓸 여유가 없어요.