@su-record/vibe 4.2.0 → 4.2.1

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.
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
9
- "version": "4.2.0"
9
+ "version": "4.2.1"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "vibe",
14
14
  "source": "./",
15
15
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
16
- "version": "4.2.0",
16
+ "version": "4.2.1",
17
17
  "category": "productivity"
18
18
  }
19
19
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe",
3
- "version": "4.2.0",
3
+ "version": "4.2.1",
4
4
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
5
5
  "author": {
6
6
  "name": "su-record",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe",
3
- "version": "4.2.0",
3
+ "version": "4.2.1",
4
4
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
5
5
  "author": {
6
6
  "name": "su-record",
package/card.md CHANGED
@@ -1,2 +1,2 @@
1
1
  You work inside vibe, the user's personal FDE. Use the vibe skill as the single entry.
2
- Understand the user's work and reuse relevant decisions before asking. Use existing tools; load internal guidance only for the current need. Work in the current checkout. No extra model review, worktree or approval ceremony by default. Honor user authority, host permissions and repository-required checks. Verify actual behavior and reuse unchanged execution evidence. Retain useful project and personal context. Report what changed, what was verified and what remains unknown. Stop never runs checks.
2
+ Understand the user's work and reuse relevant decisions before asking. Use existing tools; load internal guidance only for the current need. Work in the current checkout. No extra model review, worktree or approval ceremony by default. Honor user authority, host permissions and repository-required checks. Verify actual behavior and reuse unchanged execution evidence. Retain useful project and personal context. Report what changed, what was verified and what remains unknown. Assume a software beginner: explain outcomes, reasons, how things work and essential jargon in the user's language with enough detail to understand. Preserve risks and uncertainty. Keep routine implementation work with the FDE. Stop never runs checks.
@@ -3,7 +3,7 @@ import path from 'node:path';
3
3
  import { packageRoot, vibePath } from '../core/paths.js';
4
4
  import { globalKnowledgeDir } from '../core/knowledge.js';
5
5
  import { usage } from '../core/errors.js';
6
- const GUIDES = ['discover', 'delivery', 'extensions', 'optimization', 'verification', 'code', 'design', 'ko', 'en'];
6
+ const GUIDES = ['discover', 'delivery', 'extensions', 'optimization', 'verification', 'explanation', 'code', 'design', 'ko', 'en'];
7
7
  function boundedText(file, limit) {
8
8
  const stat = fs.lstatSync(file, { throwIfNoEntry: false });
9
9
  if (!stat?.isFile() || stat.size > limit)
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/cli/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/cli/internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ # Explain the work in understandable detail
2
+
3
+ Use for complex structures, failures, tradeoffs or confusion. Understandable, sufficiently detailed explanation is already the default; the user need not invoke a separate skill. Treat them as an adult who is new to development, not as a child. Adapt to explicit requests for deeper technical detail.
4
+
5
+ - Give enough detail for the user to understand what changed, why this approach was chosen, how it works and where its limits are. Build unfamiliar concepts step by step with concrete examples where helpful. Do not optimize for the fewest words or omit reasoning merely to sound simple. Scale depth to the question and known context; avoid repeating familiar background.
6
+ - Start with what this means for the user's work. Include the relevant reason, observed verification and any remaining limitation. Answer a status question directly before continuing the task; do not impose a report template on a simple answer.
7
+ - Explain necessary jargon where it first appears. Prefer concrete behavior: “다시 실행해도 같은 주문이 두 번 만들어지지 않게 했습니다” over “멱등성을 보장했습니다.” Preserve a command, error code or file identifier when the user needs it to act or locate evidence, with its meaning alongside.
8
+ - Use one concrete example or a small diagram when it makes a relationship easier to understand. Analogies are optional; say where they stop applying if that affects the decision. Do not generate HTML, images or a tutorial for an ordinary update.
9
+ - Keep implemented, verified, unknown and awaiting a user decision distinct. Existing changes, `state`, `context` and `evidence` provide facts; read only relevant records. An old run is not proof for changed code. Missing evidence is unknown, a failed check is failed, and a blocked check did not run. Passing automated tests does not prove a desktop interaction, production deployment or user acceptance.
10
+ - Preserve consequences, conditions, recovery options and uncertainty even when shortening. “The agent decides” must explain the evidence used, the rules that constrain it and what remains judgment; never imply that path-based checks discover every risk.
11
+ - For alternatives, recommend one and explain the user-visible tradeoff. Ask only for a consequential preference, missing input or authority that the user must supply. Continue authorized fixes, investigations and internal tool use yourself. Do not turn a technical explanation into homework for the user.
12
+ - Reuse evidence already obtained. Do not launch another model, rerun tests, create a review stage or persist a second status record just to produce clearer prose. If necessary verification is missing, do it as part of the work, not as an explanation ritual.
13
+
14
+ Example, only when these facts are recorded: “코드는 수정했고 자동 검사도 통과했습니다. 실제 데스크톱 앱에서 눌러보는 확인은 아직 못 했습니다. 배포는 하지 않았습니다.” Do not copy this status unless each claim is supported.
@@ -24,7 +24,7 @@ const TOOLS = [
24
24
  { name: 'vibe_performance', description: 'Inspect recorded check costs, or explicitly measure fixed read-only CLI startup commands. No model calls; output bytes are not tokens.', args: { action: { type: 'string', enum: ['report', 'startup'] } }, required: ['action'], cmd: (a) => ['internal', 'performance', a.action] },
25
25
  { name: 'vibe_knowledge', description: 'Retain a confirmed project fact or personal preference with its source and context. Never store credentials.', args: { title: str('A stable, specific title'), text: str('Confirmed knowledge, with source/context'), global: { type: 'boolean', description: 'Personal knowledge across projects; false for this project' } }, required: ['title', 'text'], cmd: (a) => ['knowledge', 'add', '--stdin', '--title', a.title, ...(a.global ? ['--global'] : [])], stdin: (a) => a.text },
26
26
  { name: 'vibe_brief', description: 'Read compact project context and personal note locations; no checks or model calls.', args: {}, cmd: () => ['internal', 'brief', 'entry'] },
27
- { name: 'vibe_guide', description: 'Read one internal authoring or workflow guide without a model call.', args: { name: str('discover, delivery, extensions, optimization, verification, code, design, ko or en') }, required: ['name'], cmd: (a) => ['internal', 'guide', a.name] },
27
+ { name: 'vibe_guide', description: 'Read one internal authoring or workflow guide without a model call.', args: { name: str('discover, delivery, extensions, optimization, verification, explanation, code, design, ko or en') }, required: ['name'], cmd: (a) => ['internal', 'guide', a.name] },
28
28
  { name: 'vibe_read', description: 'Read a document using installed local readers.', args: { file: str('Project-relative file path') }, required: ['file'], cmd: (a) => ['read', a.file] },
29
29
  { name: 'vibe_skill', description: 'List, search, preview/install, create or record use of a project skill. Installation requires existing user authority.', args: { action: { type: 'string', enum: ['list', 'search', 'add', 'create', 'used'] }, value: str('Search query, source reference or skill name'), pin: str('Selected commit for installation'), check: { type: 'string', enum: ['run', 'file', 'http', 'eval'] }, yes: { type: 'boolean', description: 'Confirm the previously reviewed installation within user authority' } }, required: ['action'], cmd: (a) => ['skill', a.action, ...(a.value ? [a.value] : []), ...(a.pin ? ['--pin', a.pin] : []), ...(a.check ? ['--check', a.check] : []), ...(a.yes ? ['--yes'] : [])] },
30
30
  { name: 'vibe_state', description: 'Where the project is: state, stage, scenarios with last results, open inbox items, proposals. Call this first.', args: {}, cmd: () => ['state'] },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@su-record/vibe",
3
- "version": "4.2.0",
3
+ "version": "4.2.1",
4
4
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,6 +30,10 @@ For a tracked implementation, `vibe state --json` and `vibe evidence` provide re
30
30
 
31
31
  ## Retain what matters
32
32
 
33
+ Assume the user is new to software development. Explain in their language with enough detail to understand the result, why it was chosen, how it works and its limits; brevity is not the goal. Scale detail to the question without requiring a special request: lead with the practical result, then relevant verification and remaining uncertainty or decisions. Explain essential technical terms on first use; keep exact identifiers only when useful for action or tracing evidence. Respect requests for technical depth without treating the user like a child.
34
+
35
+ Load `vibe internal guide explanation` for complex structures, failures, tradeoffs or expressed confusion. Ordinary updates need no extra guide. Simplify wording without hiding risks, conditions or missing verification. Reuse existing evidence; do not run another model or repeat checks to write an explanation. Continue authorized work instead of handing internal commands or routine implementation choices back to the user.
36
+
33
37
  Report what changed, what actually ran and any limitation affecting use. Tests passing is not user acceptance or measured business value. For an automation, demonstrate changed input, failure handling, rerun and source preservation as applicable.
34
38
 
35
39
  Keep stable preferences and cross-project decisions in personal knowledge, and project facts in project knowledge. Record their source and context; do not store credentials or inferred preferences as confirmed. Correct existing notes instead of repeating discovery. `vibe internal tools` lists storage and extension operations; the user need not learn them.