opencode-snippets 2.2.3 → 3.0.0

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/dist/tui.jsx CHANGED
@@ -1,4 +1,6 @@
1
1
  /** @jsxImportSource @opentui/solid */
2
+ import { spawn } from "node:child_process";
3
+ import { access, writeFile } from "node:fs/promises";
2
4
  import { join } from "node:path";
3
5
  import { RGBA } from "@opentui/core";
4
6
  import { useKeyboard } from "@opentui/solid";
@@ -91,14 +93,14 @@ function normalizeSnippetName(input) {
91
93
  .replace(/^-+|-+$/g, "");
92
94
  }
93
95
  function resolveExternalEditor() {
94
- const visual = Bun.env.VISUAL?.trim();
96
+ const visual = process.env.VISUAL?.trim();
95
97
  if (visual) {
96
98
  return {
97
99
  command: visual,
98
100
  env: "VISUAL",
99
101
  };
100
102
  }
101
- const editor = Bun.env.EDITOR?.trim();
103
+ const editor = process.env.EDITOR?.trim();
102
104
  if (editor) {
103
105
  return {
104
106
  command: editor,
@@ -136,8 +138,13 @@ function usesTerminalUi(editor) {
136
138
  async function ensureSnippetDraft(name, projectDir) {
137
139
  const dir = await ensureSnippetsDir(projectDir);
138
140
  const filePath = join(dir, `${name}${CONFIG.SNIPPET_EXTENSION}`);
139
- if (!(await Bun.file(filePath).exists())) {
140
- await Bun.write(filePath, EMPTY_SNIPPET);
141
+ try {
142
+ await access(filePath);
143
+ }
144
+ catch (error) {
145
+ if (error.code !== "ENOENT")
146
+ throw error;
147
+ await writeFile(filePath, EMPTY_SNIPPET, "utf8");
141
148
  }
142
149
  return filePath;
143
150
  }
@@ -153,12 +160,14 @@ async function openExternalEditor(api, filePath, editor) {
153
160
  const cmd = process.platform === "win32"
154
161
  ? ["cmd", "/c", `${editor.command} "${filePath.replace(/"/g, '\\"')}"`]
155
162
  : [...editor.command.split(" "), filePath];
156
- const proc = Bun.spawn(cmd, {
157
- stdin: interactive ? "inherit" : "ignore",
158
- stdout: interactive ? "inherit" : "ignore",
159
- stderr: interactive ? "inherit" : "ignore",
163
+ const proc = spawn(cmd[0] ?? "", cmd.slice(1), {
164
+ stdio: interactive ? "inherit" : "ignore",
165
+ windowsHide: !interactive,
166
+ });
167
+ await new Promise((resolve, reject) => {
168
+ proc.once("error", reject);
169
+ proc.once("close", () => resolve());
160
170
  });
161
- await proc.exited;
162
171
  return true;
163
172
  }
164
173
  finally {
@@ -219,9 +228,43 @@ function executeReloadInPrompt(api, ref, clear, refresh) {
219
228
  })();
220
229
  }
221
230
  async function getSkills(api) {
222
- const registry = await loadSkills(api.state.path.directory);
231
+ const native = api.client;
232
+ if (native.app?.skills) {
233
+ const response = await native.app.skills({ directory: api.state.path.directory });
234
+ if (response.data)
235
+ return sortSkills(response.data.map(nativeSkillInfo));
236
+ }
237
+ if (native.global?.skills) {
238
+ const response = await native.global.skills({ directory: api.state.path.directory });
239
+ if (response.data)
240
+ return sortSkills(response.data.map(nativeSkillInfo));
241
+ }
242
+ if (native.client?.get) {
243
+ const response = await native.client.get({
244
+ url: "/api/skill",
245
+ query: { directory: api.state.path.directory },
246
+ });
247
+ const skills = response.data?.data;
248
+ if (skills) {
249
+ return sortSkills(skills.map(nativeSkillInfo));
250
+ }
251
+ }
252
+ const response = await api.client.config.get({ directory: api.state.path.directory });
253
+ const cfg = (response.data || api.state.config);
254
+ const registry = await loadSkills(api.state.path.directory, {
255
+ opencodeSkillDirs: cfg.skills?.paths,
256
+ });
223
257
  return sortSkills([...registry.values()]);
224
258
  }
259
+ function nativeSkillInfo(skill) {
260
+ return {
261
+ name: skill.name,
262
+ content: skill.content.trim(),
263
+ description: skill.description,
264
+ source: "global",
265
+ filePath: skill.location,
266
+ };
267
+ }
225
268
  function skillDescription(skill) {
226
269
  return (skill.description || skill.content).replace(/\s+/g, " ").trim();
227
270
  }
@@ -325,7 +368,6 @@ function PromptWithSnippetAutocomplete(props) {
325
368
  return;
326
369
  if (dialogBlockingInput())
327
370
  return;
328
- const prev = input();
329
371
  setSyncingPrompt(true);
330
372
  setMenuEpoch((n) => n + 1);
331
373
  if (pendingPromptSync)
@@ -334,9 +376,7 @@ function PromptWithSnippetAutocomplete(props) {
334
376
  pendingPromptSync = undefined;
335
377
  const next = ref.current.input;
336
378
  setInput((prev) => (prev === next ? prev : next));
337
- if (next !== prev) {
338
- setSyncingPrompt(false);
339
- }
379
+ setSyncingPrompt(false);
340
380
  props.api.renderer.requestRender();
341
381
  }, 0);
342
382
  };
package/dist/tui.jsx.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.jsx","sourceRoot":"","sources":["../tui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.jsx","sourceRoot":"","sources":["../tui.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-snippets",
3
- "version": "2.2.3",
3
+ "version": "3.0.0",
4
4
  "description": "Hashtag-based snippet expansion plugin for OpenCode - instant inline text shortcuts",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -15,12 +15,12 @@
15
15
  },
16
16
  "./tui": {
17
17
  "types": "./dist/tui.d.ts",
18
- "default": "./dist/tui.jsx"
18
+ "default": "./dist/tui.js"
19
19
  }
20
20
  },
21
21
  "type": "module",
22
22
  "engines": {
23
- "bun": ">=1.0.0"
23
+ "node": ">=20"
24
24
  },
25
25
  "keywords": [
26
26
  "opencode",
@@ -67,7 +67,6 @@
67
67
  "@opentui/core": "0.1.99",
68
68
  "@opentui/solid": "0.1.99",
69
69
  "@biomejs/biome": "^2.3.11",
70
- "@types/bun": "latest",
71
70
  "@types/node": "^22",
72
71
  "@typescript/native-preview": "^7.0.0-dev.20260120.1",
73
72
  "husky": "^9.1.7",
@@ -75,11 +74,11 @@
75
74
  "typescript": "^5"
76
75
  },
77
76
  "scripts": {
78
- "build": "tsc -p tsconfig.build.json",
77
+ "build": "bun scripts/build.ts",
79
78
  "typecheck": "tsgo --noEmit",
80
79
  "format:check": "biome check .",
81
80
  "format:fix": "biome check --write .",
82
- "ai:check": "bun run format:fix",
81
+ "ai:check": "biome check --write --error-on-warnings . && tsgo --noEmit",
83
82
  "prepare": "husky",
84
83
  "prepublishOnly": "bun run build"
85
84
  },
@@ -39,7 +39,7 @@ Full config example with all options:
39
39
  ```jsonc
40
40
  {
41
41
  // JSON Schema for editor autocompletion
42
- "$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.2.3/schema/config.schema.json",
42
+ "$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v3.0.0/schema/config.schema.json",
43
43
 
44
44
  // Logging settings
45
45
  "logging": {
@@ -82,6 +82,8 @@ Content here
82
82
 
83
83
  Frontmatter optional. Filename (minus .md) = primary hashtag.
84
84
 
85
+ When authoring a new snippet or restructuring an existing one, first read [Creating snippets](./references/creating-snippets.md) for the shape decision tree (fluent inline / parenthetical / `<prepend>` vs `<append>` block) and prepend-vs-append guidance.
86
+
85
87
  ## Features
86
88
 
87
89
  The plugin adds shell substitution to regular OpenCode prompts, not just snippet files.
@@ -94,9 +96,7 @@ Use `!>` when the exact command matters. LLMs tend to trust the output more when
94
96
 
95
97
  ### Prepend/Append Blocks
96
98
 
97
- Move content to message start/end instead of inline. Best for long reference material that breaks writing flow.
98
-
99
- A snippet can include a `<prepend>` or `<append>` block and ordinary body text at the same time. Only the block content moves. Text outside the block still expands inline where `#snippet` was used. Use this to keep snippets flowing inside a sentence: a short visible body like `Jira`, `bead`, or `cherry-pick` stays in the user's prose, while heavy guidance is hidden in the block.
99
+ A snippet can include a `<prepend>` or `<append>` block alongside ordinary body text. Only the block content moves to message start/end; text outside the block still expands inline where `#snippet` was used.
100
100
 
101
101
  ```md
102
102
  ---
@@ -115,26 +115,7 @@ Jira MCP
115
115
  Input: `Create bug in #jira about leak`
116
116
  Output: The field mappings are prepended at the top, and the visible inline expansion becomes `Create bug in Jira MCP about leak`.
117
117
 
118
- Use `<append>` for reference material at end. Content inside blocks should use `##` headings.
119
-
120
- #### Wrap block content in semantic XML tags
121
-
122
- Inside a `<prepend>` or `<append>` block, wrap content in custom tags that label its role for the LLM:
123
-
124
- - `<task>...</task>` - the next thing the agent should do
125
- - `<user_reminder>...</user_reminder>` - persistent reminder of user intent
126
- - `<guidance>...</guidance>`, `<info>...</info>` - context, rules, reference
127
- - `<condition="...">...</condition>` - guidance that only applies in a specific case
128
-
129
- Tags are not magic. They give the model a clear role label for the chunk so it does not blend into the rest of the message.
130
-
131
- #### When to prepend vs append
132
-
133
- Prepend puts the block at the very top of the message. The user's typed line lands last, which the LLM tends to follow more closely. Use prepend for **general context and guidance**, especially short blocks. Use it sparingly for many-paragraph blocks: a wall of text dumped on top of a one-word `#tag` is visually jarring for the user reading their own message.
134
-
135
- Append puts the block at the bottom. The user's line stays at the top, less jarring. Adherence to the user line can soften slightly, but append is ideal when the block contains a `<task>` or instruction that should be the **next thing the agent does**.
136
-
137
- Rule of thumb: short context => prepend; important next step => append; heavy reference docs => prepend with a tiny inline body so the user's sentence still flows.
118
+ For when to use prepend vs append, when to keep content inline, and how to tag block content with `<task>` / `<guidance>` / `<info>` / `<condition>`, see [Creating snippets](./references/creating-snippets.md).
138
119
 
139
120
  ### Inject Blocks (Experimental)
140
121
 
@@ -213,7 +194,7 @@ Treat `#skill(...)` as hidden context injection, not inline expansion. User usua
213
194
 
214
195
  ## Escaped Hashtag References
215
196
 
216
- When a user writes `#_snippet-name` with a leading underscore after `#`, they are referring to the snippet `#snippet-name` without triggering expansion. This is an escape convention for talking about a snippet in conversation, for example `navigate to #_myapps`. Always interpret `#_foo` as meaning `#foo`. Do not ask for clarification. Silently resolve the underscored form to the real snippet name.
197
+ When a user writes `#_snippet-name` with a leading underscore after `#`, they are referring to the real snippet `#snippet-name` without triggering expansion. The underscore is only an escape marker in the user's message; it is not part of the snippet name, hashtag, or filename. For example, `#_myapps` means the snippet `#myapps`, stored as `myapps.md`. Always interpret `#_foo` as meaning `#foo`. Do not ask for clarification. Silently resolve the underscored form to the real snippet name.
217
198
 
218
199
  ## Commands
219
200
 
@@ -0,0 +1,86 @@
1
+ # Creating snippets
2
+
3
+ Use when authoring a new snippet or restructuring an existing one. Covers shape choice (inline / parenthetical / block), prepend vs append, and the trigger phrasing that makes a snippet read fluently inside a sentence. Not needed for using existing snippets — only for designing them.
4
+
5
+ The user picks the snippet name. Everything else flows from it.
6
+
7
+ ## Principle
8
+
9
+ A good snippet is *fluent*: the user can drop `#name` inside an ordinary sentence and have it read like normal prose, while the agent still receives the full directive. Most snippet names are nouns, noun phrases, or short verb phrases — those almost always lend themselves to fluent use. Default to fluent unless the name truly cannot work as inline prose.
10
+
11
+ ## Decision tree
12
+
13
+ Work through these in order. Stop at the first shape that fits. Asking the user is allowed but not required — choose for them when the answer is obvious.
14
+
15
+ **1. Can the snippet name read fluently inside a sentence?**
16
+
17
+ Test: imagine the user typing `Please use #name here`, `Add a #name to this`, or `Treat this as a #name`. If at least one of those reads as natural English with `name` substituted in (whether as a noun, term, or short verb phrase), the answer is yes. Examples that pass: `progressive-disclosure`, `semantic-compression`, `jira`, `ascii-diagram`, `dry-run`, `tdd`, `myapps`. Examples that fail: command-like handles (`red-green-repro`), role labels (`instructor`), workflow names that only make sense standalone (`architecture-council`).
18
+
19
+ - **Yes → go to step 2.**
20
+ - **No → use Shape C (standalone body).**
21
+
22
+ **2. Does the directive belong right next to the term, or can it wait until the end of the message?**
23
+
24
+ - **Right next to the term, and it fits in one short clause → Shape B (parenthetical).** Examples: `Jira (via #executor)`, `ASCII diagram (using proper box drawing characters)`, `dry-run (don't do the action, just prepare everything and show me what you will do)`. Use this when the clarification is short enough to stay inline without breaking the sentence and the agent must see it immediately beside the term, not at message end.
25
+ - **Can wait until the end, or is too heavy for a parenthetical → Shape A (bare term + block).**
26
+
27
+ **3. For Shape A: prepend or append?**
28
+
29
+ - **Append (default for Shape A).** Use when the block is *follow-through* the agent should perform or reference after reading the user's sentence — reminders, templates, reference material, "now also do this," guidance about the work just requested. Examples: `progressive-disclosure`, `semantic-compression`, `review`, `tdd`, `learn`.
30
+ - **Prepend.** Use when the block is *interpretive priming* — context, persona, task definition, skill loading, environmental state the agent needs *before* reading the user's sentence in order to interpret it correctly. Examples: `meta` (sets reasoning mode), `bead` (injects current Beads context), `opencode-config` (loads the config skill upfront), `generate-prompt` (defines the exact semantics of an otherwise ambiguous trigger phrase).
31
+ - **Heuristic.** If removing the block would make the user's sentence ambiguous or misinterpretable, prepend. If the sentence is fully understandable on its own and the block adds execution detail, append.
32
+
33
+ ## Shapes
34
+
35
+ **Shape A: bare term + `<append>` (or `<prepend>`) block.** The fluent default for snippets with heavier directives.
36
+
37
+ ```md
38
+ ---
39
+ description: Prefer rare, precise, load-bearing terms over worn common ones.
40
+ ---
41
+ semantic compression
42
+
43
+ <append>
44
+ <info>
45
+ Prefer sharp terms: mot juste, hapax, load-bearing. ...
46
+ </info>
47
+ </append>
48
+ ```
49
+
50
+ Input: `Please use #semantic-compression here`
51
+ Output: visible `Please use semantic compression here`, with the `<info>` block landing at message end.
52
+
53
+ **Shape B: `name (parenthetical instructions)`.** Use when the directive is short and must sit next to the term.
54
+
55
+ ```md
56
+ ASCII diagram (using proper box drawing characters)
57
+ ```
58
+
59
+ Input: `Sketch this as an #ascii-diagram first`
60
+ Output: visible `Sketch this as an ASCII diagram (using proper box drawing characters) first`.
61
+
62
+ Hybrids exist: a parenthetical can coexist with an `<append>` block when the inline clarification routes the agent and the block carries reusable guidance (e.g. `Test-Driven Development (TDD)` + appended TDD principles).
63
+
64
+ **Shape C: standalone body, no inline fluency.** Use when the snippet name doesn't fit inside a sentence and the body *is* the request. Typed alone in chat, not composed into prose. Examples: `architecture-council`, `red-green-repro`, full stack/setup recipes. No block needed — the whole body runs inline.
65
+
66
+ ```md
67
+ create a red unit/integration test to reproduce this faithfully ...
68
+ ```
69
+
70
+ ## Prepend vs append, in detail
71
+
72
+ - **Append (default).** Block lands at message end. The user's typed line stays at the top, which the LLM tends to follow most closely. Use for follow-through the agent does after reading the user's sentence — reminders, templates, reference material, next-step directives.
73
+ - **Prepend.** Block lands at message start. Use for interpretive priming the agent needs *before* reading the user's sentence — persona, task definition, environmental context, skill loading. Keep prepend blocks short; a wall of text on top of a one-word `#tag` is visually jarring for the user reading their own message.
74
+
75
+ Test: if removing the block would make the user's sentence ambiguous or misinterpretable, prepend it. Otherwise append.
76
+
77
+ ## Wrap block content in semantic XML tags
78
+
79
+ Inside a `<prepend>` or `<append>` block, wrap content in custom tags that label its role for the LLM:
80
+
81
+ - `<task>...</task>` — the next thing the agent should do
82
+ - `<user_reminder>...</user_reminder>` — persistent reminder of user intent
83
+ - `<guidance>...</guidance>`, `<info>...</info>` — context, rules, reference
84
+ - `<condition="...">...</condition>` — guidance that only applies in a specific case
85
+
86
+ Tags are not magic. They give the model a clear role label for the chunk so it does not blend into the rest of the message.