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 +22 -2
- package/README.md +6 -6
- package/dist/index.js +15 -9
- package/package.json +1 -1
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`,
|
|
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:
|
|
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
|
|
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
|
|
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
|
-
\
|
|
282
|
-
|
|
283
|
-
|
|
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:
|
|
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:
|
|
670
|
+
description: "Managed by set-prompt",
|
|
665
671
|
skills: "./skills/",
|
|
666
|
-
mcpServers: "
|
|
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) {
|