compound-workflow 0.1.1 → 0.1.2

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.
@@ -1,12 +1 @@
1
- {
2
- "name": "compound-workflow",
3
- "version": "0.1.0",
4
- "description": "Clarify → plan → execute → verify → capture workflow: commands, skills, and agents for Cursor, Claude, and OpenCode",
5
- "author": { "name": "Compound Workflow" },
6
- "keywords": ["workflow", "cursor", "claude", "opencode", "agents", "planning"],
7
- "license": "MIT",
8
- "repository": { "type": "git", "url": "https://github.com/your-org/compound-workflow" },
9
- "skills": "src/.agents/skills",
10
- "agents": "src/.agents/agents",
11
- "commands": "src/.agents/commands"
12
- }
1
+ {"name":"compound-workflow","version":"0.1.0","description":"Clarify → plan → execute → verify → capture workflow: commands, skills, and agents for Cursor, Claude, and OpenCode","author":{"name":"Compound Workflow"},"keywords":["workflow","cursor","claude","opencode","agents","planning"],"license":"MIT","repository":{"type":"git","url":"https://github.com/your-org/compound-workflow"},"agents":"src/.agents/agents","commands":"src/.agents/commands"}
package/README.md CHANGED
@@ -143,6 +143,12 @@ Full “when to use what” and reference standards: [src/AGENTS.md](src/AGENTS.
143
143
 
144
144
  ---
145
145
 
146
+ ## Troubleshooting
147
+
148
+ **Skills not showing?** Cursor discovers skills from the default `skills/` directory at the plugin root. OpenCode discovers them via the `.agents/compound-workflow-skills` symlink that Install creates (and `opencode.json` `skills.paths`). Run Install from the project root (`npx compound-workflow install`). If skills still don’t appear, check your Cursor/OpenCode version and any `permission.skill` settings that might hide or deny them.
149
+
150
+ ---
151
+
146
152
  ## Configuration and optional bits
147
153
 
148
154
  **Repo configuration:** Commands read a **Repo Config Block** (YAML) in `AGENTS.md` for `default_branch`, `dev_server_url`, `test_command`, etc. Run **`/install`** once; then edit `AGENTS.md` to set the Repo Config Block.
package/package.json CHANGED
@@ -1,22 +1 @@
1
- {
2
- "name": "compound-workflow",
3
- "version": "0.1.1",
4
- "description": "Clarify → plan → execute → verify → capture. One Install action for Cursor, Claude, and OpenCode.",
5
- "license": "MIT",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/your-org/compound-workflow.git"
9
- },
10
- "bin": {
11
- "compound-workflow": "scripts/install-cli.mjs"
12
- },
13
- "files": [
14
- "src",
15
- "scripts",
16
- ".cursor-plugin",
17
- ".claude-plugin"
18
- ],
19
- "engines": {
20
- "node": ">=18"
21
- }
22
- }
1
+ {"name":"compound-workflow","version":"0.1.2","description":"Clarify → plan → execute → verify → capture. One Install action for Cursor, Claude, and OpenCode.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/your-org/compound-workflow.git"},"bin":{"compound-workflow":"scripts/install-cli.mjs"},"files":["src","scripts",".cursor-plugin",".claude-plugin","skills"],"engines":{"node":">=18"}}
@@ -175,6 +175,39 @@ function readJsonMaybe(fileAbs) {
175
175
  return JSON.parse(stripJsonc(raw));
176
176
  }
177
177
 
178
+ const SKILLS_SYMLINK_PATH = ".agents/compound-workflow-skills";
179
+
180
+ function ensureSkillsSymlink(targetRoot, dryRun) {
181
+ const agentsDir = path.join(targetRoot, ".agents");
182
+ const linkPath = path.join(agentsDir, "compound-workflow-skills");
183
+ const targetRel = path.join("..", "node_modules", "compound-workflow", "src", ".agents", "skills");
184
+
185
+ if (dryRun) {
186
+ console.log("[dry-run] Would create", SKILLS_SYMLINK_PATH, "symlink");
187
+ return;
188
+ }
189
+
190
+ if (!fs.existsSync(agentsDir)) fs.mkdirSync(agentsDir, { recursive: true });
191
+
192
+ let needCreate = true;
193
+ try {
194
+ const stat = fs.lstatSync(linkPath);
195
+ if (stat.isSymbolicLink()) {
196
+ fs.realpathSync(linkPath);
197
+ needCreate = false;
198
+ }
199
+ } catch (_) {}
200
+
201
+ if (needCreate) {
202
+ try {
203
+ fs.unlinkSync(linkPath);
204
+ } catch (_) {}
205
+ const type = process.platform === "win32" ? "dir" : "dir";
206
+ fs.symlinkSync(targetRel, linkPath, type);
207
+ console.log("Created", SKILLS_SYMLINK_PATH, "-> package skills");
208
+ }
209
+ }
210
+
178
211
  function writeOpenCodeJson(targetRoot, dryRun) {
179
212
  const opencodeAbs = path.join(targetRoot, "opencode.json");
180
213
  const existing = readJsonMaybe(opencodeAbs) ?? {};
@@ -182,9 +215,8 @@ function writeOpenCodeJson(targetRoot, dryRun) {
182
215
 
183
216
  next.$schema = next.$schema || "https://opencode.ai/config.json";
184
217
  next.skills = ensureObject(next.skills);
185
- const skillsPath = `${PKG_PREFIX}/src/.agents/skills`;
186
218
  if (!Array.isArray(next.skills.paths)) next.skills.paths = [];
187
- if (!next.skills.paths.includes(skillsPath)) next.skills.paths.unshift(skillsPath);
219
+ if (!next.skills.paths.includes(SKILLS_SYMLINK_PATH)) next.skills.paths.unshift(SKILLS_SYMLINK_PATH);
188
220
  next.command = ensureObject(next.command);
189
221
  next.agent = ensureObject(next.agent);
190
222
 
@@ -300,6 +332,7 @@ function main() {
300
332
  console.log("Package root:", packageRoot);
301
333
 
302
334
  writeOpenCodeJson(targetRoot, args.dryRun);
335
+ ensureSkillsSymlink(targetRoot, args.dryRun);
303
336
  writeAgentsMd(targetRoot, args.dryRun);
304
337
  ensureDirs(targetRoot, args.dryRun);
305
338