set-prompt 0.5.2 → 0.5.4

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
@@ -4,14 +4,34 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ---
6
6
 
7
+ ## [0.5.4] - 2026-04-13
8
+
9
+ ### Changed
10
+ - `SET_PROMPT_GUIDE` template: Structure section updated to include `.mcp.json`, `.app.json`, `.claude-plugin/`, `.codex-plugin/`
11
+ - Plugin manifest templates (`ensureClaudePluginManifest`, `ensureCodexPluginManifest`) — removed local repo path from `description` field to prevent leaking machine-specific paths into git history
12
+
13
+ ---
14
+
15
+ ## [0.5.3] - 2026-04-13
16
+
17
+ ### Added
18
+ - `sppt` short alias registered as a CLI binary alongside `set-prompt` — all commands work with either name
19
+ - README: `CLI Alias` section documenting `sppt` usage
20
+
21
+ ### Changed
22
+ - Repo MCP config file renamed from `mcp.json` to `.mcp.json`
23
+ - Cursor hardlink maps repo `.mcp.json` → `~/.cursor/mcp.json` (Cursor expects `mcp.json` in its config dir)
24
+
25
+ ---
26
+
7
27
  ## [0.5.0] - 2026-04-13
8
28
 
9
29
  ### Added
10
30
  - Codex integration (`link codex`) — marketplace registration, cache symlink, `config.toml` activation
11
- - `scaffold` now generates `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, `mcp.json`, `.app.json`
31
+ - `scaffold` now generates `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, `.mcp.json`, `.app.json`
12
32
  - `ensureClaudePluginManifest()`, `ensureCodexPluginManifest()`, `ensureMcpJson()`, `ensureAppJson()` — reusable functions for link to ensure repo has required files
13
33
  - `SET_PROMPT_GUIDE.md` generation now asks for confirmation before writing
14
- - Cursor: `mcp.json` hardlink (`~/.cursor/mcp.json ⇔ repo/mcp.json`) with backup/restore
34
+ - Cursor: `.mcp.json` hardlink (`~/.cursor/mcp.json ⇔ repo/.mcp.json`) with backup/restore
15
35
  - Cursor: `hooks/` directory linking added
16
36
  - `templates.ts`: Cursor frontmatter (skills, agents, rules, hooks), Cursor hooks (JSON-based `hooks.json`), Codex plugin spec
17
37
  - Tests split by agent: `link-claude-code.test.ts`, `link-roocode.test.ts`, `link-openclaw.test.ts`, `link-antigravity.test.ts`, `link-codex.test.ts`, `link-cursor.test.ts`
package/README.md CHANGED
@@ -15,7 +15,7 @@ One repo. Every agent. Always in sync.
15
15
  ├── hooks/
16
16
  ├── agents/
17
17
  ├── rules/
18
- ├── mcp.json
18
+ ├── .mcp.json
19
19
  ├── .app.json
20
20
  ├── .claude-plugin/plugin.json
21
21
  └── .codex-plugin/plugin.json
@@ -71,7 +71,7 @@ my-prompts/
71
71
  ├── hooks/
72
72
  ├── agents/
73
73
  ├── rules/
74
- ├── mcp.json
74
+ ├── .mcp.json
75
75
  ├── .app.json
76
76
  ├── .claude-plugin/plugin.json
77
77
  ├── .codex-plugin/plugin.json
@@ -117,7 +117,7 @@ The interactive mode shows all agents with their current state. **Check to link,
117
117
  set-prompt update # git pull latest changes from remote
118
118
  ```
119
119
 
120
- Symlink-based agents (Claude Code, Codex, RooCode, OpenClaw, Antigravity) reflect changes immediately after pull. Cursor's `mcp.json` is a hardlink, so edits to either side are reflected automatically.
120
+ Symlink-based agents (Claude Code, Codex, RooCode, OpenClaw, Antigravity) reflect changes immediately after pull. Cursor's `mcp.json` is a hardlink to repo's `.mcp.json`, so edits to either side are reflected automatically.
121
121
 
122
122
  ---
123
123
 
@@ -151,7 +151,7 @@ set-prompt uninstall
151
151
  │ ├── hooks/
152
152
  │ ├── agents/
153
153
  │ ├── rules/
154
- │ ├── mcp.json
154
+ │ ├── .mcp.json
155
155
  │ ├── .app.json
156
156
  │ ├── .claude-plugin/plugin.json
157
157
  │ └── .codex-plugin/plugin.json
@@ -185,7 +185,7 @@ set-prompt uninstall
185
185
  ├── agents/ → repo/agents
186
186
  ├── commands/ → repo/commands
187
187
  ├── hooks/ → repo/hooks
188
- └── mcp.json ⇔ repo/mcp.json (hardlink)
188
+ └── mcp.json ⇔ repo/.mcp.json (hardlink)
189
189
  ```
190
190
 
191
191
  ## Warning
@@ -197,7 +197,7 @@ set-prompt uninstall
197
197
  - **RooCode** — replaces directories in `~/.roo/`
198
198
  - **OpenClaw** — replaces directories in `~/.openclaw/workspace/`
199
199
  - **Antigravity** — replaces directories in `~/.gemini/antigravity/`
200
- - **Cursor** — replaces directories and mcp.json in `~/.cursor/`
200
+ - **Cursor** — replaces directories and `mcp.json` in `~/.cursor/`
201
201
 
202
202
  Before making any changes, `set-prompt` creates a backup and rolls back automatically on failure. However, you should be aware that:
203
203
 
package/dist/index.js CHANGED
@@ -278,9 +278,15 @@ This is a shared prompt repository linked to various AI agents via \`set-prompt
278
278
  \u251C\u2500\u2500 agents/ # Agent definitions (Claude Code, Cursor)
279
279
  \u2502 \u2514\u2500\u2500 <agent-name>/
280
280
  \u2502 \u2514\u2500\u2500 AGENT.md
281
- \u2514\u2500\u2500 rules/ # Rule definitions (Cursor)
282
- \u2514\u2500\u2500 <rule-name>/
283
- \u2514\u2500\u2500 RULE.md
281
+ \u251C\u2500\u2500 rules/ # Rule definitions (Cursor)
282
+ \u2502 \u2514\u2500\u2500 <rule-name>/
283
+ \u2502 \u2514\u2500\u2500 RULE.md
284
+ \u251C\u2500\u2500 .mcp.json # MCP server configurations
285
+ \u251C\u2500\u2500 .app.json # Application configurations
286
+ \u251C\u2500\u2500 .claude-plugin/
287
+ \u2502 \u2514\u2500\u2500 plugin.json # Claude Code plugin manifest
288
+ \u2514\u2500\u2500 .codex-plugin/
289
+ \u2514\u2500\u2500 plugin.json # Codex plugin manifest
284
290
  \`\`\`
285
291
 
286
292
  ## Usage
@@ -651,7 +657,7 @@ var ensureClaudePluginManifest = (repoPath) => {
651
657
  fs2.writeFileSync(jsonPath, JSON.stringify({
652
658
  name: PLUGIN_NAME,
653
659
  version: "1.0.0",
654
- description: `Managed by set-prompt \u2014 ${repoPath}`
660
+ description: "Managed by set-prompt"
655
661
  }, null, 4), { encoding: "utf-8" });
656
662
  };
657
663
  var ensureCodexPluginManifest = (repoPath) => {
@@ -661,14 +667,14 @@ var ensureCodexPluginManifest = (repoPath) => {
661
667
  fs2.writeFileSync(jsonPath, JSON.stringify({
662
668
  name: PLUGIN_NAME,
663
669
  version: "1.0.0",
664
- description: `Managed by set-prompt \u2014 ${repoPath}`,
670
+ description: "Managed by set-prompt",
665
671
  skills: "./skills/",
666
- mcpServers: "./mcp.json",
672
+ mcpServers: "./.mcp.json",
667
673
  apps: "./.app.json"
668
674
  }, null, 4), { encoding: "utf-8" });
669
675
  };
670
676
  var ensureMcpJson = (repoPath) => {
671
- const mcpJsonPath = path2.join(repoPath, "mcp.json");
677
+ const mcpJsonPath = path2.join(repoPath, ".mcp.json");
672
678
  if (fs2.existsSync(mcpJsonPath)) {
673
679
  return false;
674
680
  }
@@ -728,7 +734,7 @@ var scaffoldCommand = async (localPath) => {
728
734
  console.log(`${TAB}${chalk3.green("\u2713")} .claude-plugin/plugin.json`);
729
735
  ensureCodexPluginManifest(targetPath);
730
736
  console.log(`${TAB}${chalk3.green("\u2713")} .codex-plugin/plugin.json`);
731
- console.log(`${TAB}${ensureMcpJson(targetPath) ? chalk3.green("+") : chalk3.dim("\u2713")} mcp.json`);
737
+ console.log(`${TAB}${ensureMcpJson(targetPath) ? chalk3.green("+") : chalk3.dim("\u2713")} .mcp.json`);
732
738
  console.log(`${TAB}${ensureAppJson(targetPath) ? chalk3.green("+") : chalk3.dim("\u2713")} .app.json`);
733
739
  console.log(chalk3.green("\nScaffold complete."));
734
740
  return true;
@@ -1735,7 +1741,7 @@ Setting up Cursor integration...`));
1735
1741
  for (const { dir, src } of linked) {
1736
1742
  console.log(chalk10.dim(` \u251C\u2500\u2500 `) + chalk10.bold(`${dir}/`) + chalk10.dim(` \u2192 ${src}`) + chalk10.green(" \u2713"));
1737
1743
  }
1738
- const mcpSrc = path9.join(repoPath, "mcp.json");
1744
+ const mcpSrc = path9.join(repoPath, ".mcp.json");
1739
1745
  const mcpDest = path9.join(CURSOR_DIR, "mcp.json");
1740
1746
  if (fs9.existsSync(mcpSrc)) {
1741
1747
  if (fs9.existsSync(mcpDest) && fs9.statSync(mcpDest).ino !== fs9.statSync(mcpSrc).ino) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "set-prompt",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "Sync your prompt library across AI coding tools from a single git repo",
5
5
  "main": "dist/index.js",
6
6
  "bin": {