set-prompt 0.4.0 → 0.5.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.
Files changed (4) hide show
  1. package/CHANGELOG.md +131 -100
  2. package/README.md +136 -104
  3. package/dist/index.js +957 -657
  4. package/package.json +10 -3
package/CHANGELOG.md CHANGED
@@ -1,100 +1,131 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- ---
6
-
7
- ## [0.4.0] - 2026-04-10
8
-
9
- ### Added
10
- - Cursor integration (`link cursor`) — creates plugin structure at `~/.cursor/` with backup/restore
11
- - `linkCommand` now shows a Link / Unlink summary before executing; exits early when there are no changes
12
- - All `unlink*` functions print a colored header banner on start (consistent with `link*`)
13
- - Console output: `removed` red, `restored` green, `backed up` → yellow
14
- - Console output: `Config loaded` is now green (consistent with `Config saved`)
15
-
16
- ### Changed
17
- - Claude Code plugin: `~/.claude/plugins/installed_plugins.json` is now directly patched so `installPath` points to the source plugin directory — bypasses Claude Code's cache management that was deleting the symlink on startup
18
- - `install`: re-installing the same URL is blocked with a `set-prompt update` hint
19
- - `install`: re-installing a different URL shows a "Switching repo" warning with confirmation (default: No)
20
- - `install`: EPERM on directory rename is handled gracefully with a descriptive error message
21
- - `install`: existing repo backup is automatically removed after a successful clone
22
-
23
- ### Disabled
24
- - `link codex` is temporarily unavailable in this release (implementation preserved, re-enable in next release)
25
-
26
- ---
27
-
28
- ## [0.3.0] - 2026-04-06
29
-
30
- ### Added
31
- - Antigravity integration (`link antigravity`) — symlinks `skills/` into `~/.gemini/antigravity/skills/` with backup/restore
32
- - `unlinkClaudeCode`, `unlinkRooCode`, `unlinkOpenclaw`, `unlinkAntigravity` — unlink functions with force mode
33
- - `link` command interactive mode now supports **deselection** unchecking a linked agent triggers unlink + backup restore
34
- - `uninstall` delegates to `unlinkXxx(true)` instead of inlining rollback logic
35
-
36
- ### Changed
37
- - `uninstall` no longer contains rollback logic — all agent cleanup goes through `link-command.ts`
38
- - `AntigravityConfig` schema updated to include `backup_path` (consistent with RooCode/OpenClaw)
39
- - `AGENT_PROMPT_DIRS[ANTIGRAVITY]` set to `['skills']` only
40
- - `scaffold` always overwrites `SET_PROMPT_GUIDE.md` — ensures the latest template on every run
41
- - `SET_PROMPT_GUIDE.md` template updated: Antigravity frontmatter added, OpenClaw `homepage`/`user-invocable` fields added, `metadata` format corrected
42
- - `build` script now runs `rimraf dist` before `tsup`
43
- - README workflow restructured into 4 explicit steps
44
-
45
- ---
46
-
47
- ## [0.2.1] - 2026-04-02
48
-
49
- ### Changed
50
- - Add `repository`, `homepage`, `bugs` fields to `package.json` for npm registry links
51
- - Update package description to "Sync your prompt library across AI coding tools from a single git repo"
52
-
53
- ---
54
-
55
- ## [0.2.0] - 2026-04-02
56
-
57
- ### Added
58
- - `update` command — `git fetch` + `git pull` on the registered repo
59
- - `agents/` directory to scaffold structure (optional, Claude Code only)
60
- - Agents frontmatter section in `SET_PROMPT_GUIDE` template
61
- - `AGENT_PROMPT_DIRS` map — per-agent directory control (claudecode: all, roocode: skills+commands, openclaw: skills only)
62
- - OpenClaw integration (`link openclaw`) — symlinks `skills/` into `~/.openclaw/workspace/`
63
- - Backup/restore for OpenClaw (`SET_PROMPT_BACKUP/`)
64
-
65
- ### Changed
66
- - Backup folder renamed from `.set-prompt-backup` → `SET_PROMPT_BACKUP`
67
- - `SET_PROMPT_GUIDE` template: `set-prompt.yaml` → `set-prompt.toml`, updated structure and usage
68
- - `vitest` reporter set to `--reporter=verbose`
69
- - `.npmignore`: added `tests/`, fixed `CLAUDE.md` entry, removed redundant entries
70
-
71
- ### Fixed
72
- - `link roocode` no longer symlinks `hooks/` (RooCode does not support it)
73
-
74
- ---
75
-
76
- ## [0.1.0] - 2026-03
77
-
78
- ### Added
79
- - RooCode integration (`link roocode`) — symlinks into `~/.roo/` with backup/restore
80
- - Codex and Antigravity stubs
81
- - `status` command
82
- - `uninstall` command with rollback support for Claude Code and RooCode
83
- - `vitest` test infrastructure with `memfs`
84
- - Cross-platform symlink support (Windows junction)
85
-
86
- ### Changed
87
- - Config format migrated from TOML to JSON (`~/.set-prompt/config.json`)
88
- - CLI refactored to `commander` with subcommands
89
- - Build system migrated to `tsup`
90
- - `ConfigManager` class introduced for typed config management
91
-
92
- ---
93
-
94
- ## [0.0.1] - 2026-03
95
-
96
- ### Added
97
- - Initial project setup (TypeScript + Commander)
98
- - `scaffold` command
99
- - `install` command clone remote git repo into `~/.set-prompt/repo/`
100
- - `link claudecode` Claude Code plugin structure at `~/.set-prompt/claudecode/`
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ---
6
+
7
+ ## [0.5.0] - 2026-04-13
8
+
9
+ ### Added
10
+ - 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`
12
+ - `ensureClaudePluginManifest()`, `ensureCodexPluginManifest()`, `ensureMcpJson()`, `ensureAppJson()` reusable functions for link to ensure repo has required files
13
+ - `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
15
+ - Cursor: `hooks/` directory linking added
16
+ - `templates.ts`: Cursor frontmatter (skills, agents, rules, hooks), Cursor hooks (JSON-based `hooks.json`), Codex plugin spec
17
+ - 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`
18
+
19
+ ### Changed
20
+ - **Link architecture**: `scaffold` creates plugin manifests in repo, `link` symlinks repo directly (no intermediate plugin structure)
21
+ - Claude Code: marketplace `plugins/sppt` repo symlink; `installed_plugins.json` points to repo directly
22
+ - Codex: `~/.agents/plugins/marketplace.json` + `~/.codex/plugins/cache/.../1.0.0` → repo symlink
23
+ - Cursor: reverted from plugin to dir symlinks (`~/.cursor/skills/`, `agents/`, `commands/`, `hooks/`)
24
+ - `CODEX_DIR` changed from `~/.codex` to `~/.set-prompt/codex` (no longer deletes Codex home directory on unlink)
25
+ - `scaffold`: removed `--force` option and `valid` check — always runs all steps idempotently
26
+ - All symlinks use `junction` on Windows (consistent across agents)
27
+ - All JSON output uses 4-space indentation
28
+ - `CURSOR_PLUGIN_DIR` removed from `_defs` (Cursor no longer uses plugin approach)
29
+ - `link/` source files moved from `src/commands/link/` to `src/link/`
30
+ - Uninstall tests: removed redundant per-agent unlink call assertions
31
+
32
+ ### Removed
33
+ - `ensureCursorPluginManifest()` — Cursor no longer uses plugin manifests
34
+ - Cursor `rules/` from `AGENT_PROMPT_DIRS` Cursor does not load rules from symlinked directories
35
+
36
+ ---
37
+
38
+ ## [0.4.0] - 2026-04-10
39
+
40
+ ### Added
41
+ - Cursor integration (`link cursor`) creates plugin structure at `~/.cursor/` with backup/restore
42
+ - `linkCommand` now shows a Link / Unlink summary before executing; exits early when there are no changes
43
+ - All `unlink*` functions print a colored header banner on start (consistent with `link*`)
44
+ - Console output: `removed` → red, `restored` → green, `backed up` → yellow
45
+ - Console output: `Config loaded` is now green (consistent with `Config saved`)
46
+
47
+ ### Changed
48
+ - Claude Code plugin: `~/.claude/plugins/installed_plugins.json` is now directly patched so `installPath` points to the source plugin directory — bypasses Claude Code's cache management that was deleting the symlink on startup
49
+ - `install`: re-installing the same URL is blocked with a `set-prompt update` hint
50
+ - `install`: re-installing a different URL shows a "Switching repo" warning with confirmation (default: No)
51
+ - `install`: EPERM on directory rename is handled gracefully with a descriptive error message
52
+ - `install`: existing repo backup is automatically removed after a successful clone
53
+
54
+ ### Disabled
55
+ - `link codex` is temporarily unavailable in this release (implementation preserved, re-enable in next release)
56
+
57
+ ---
58
+
59
+ ## [0.3.0] - 2026-04-06
60
+
61
+ ### Added
62
+ - Antigravity integration (`link antigravity`) — symlinks `skills/` into `~/.gemini/antigravity/skills/` with backup/restore
63
+ - `unlinkClaudeCode`, `unlinkRooCode`, `unlinkOpenclaw`, `unlinkAntigravity` — unlink functions with force mode
64
+ - `link` command interactive mode now supports **deselection** — unchecking a linked agent triggers unlink + backup restore
65
+ - `uninstall` delegates to `unlinkXxx(true)` instead of inlining rollback logic
66
+
67
+ ### Changed
68
+ - `uninstall` no longer contains rollback logic — all agent cleanup goes through `link-command.ts`
69
+ - `AntigravityConfig` schema updated to include `backup_path` (consistent with RooCode/OpenClaw)
70
+ - `AGENT_PROMPT_DIRS[ANTIGRAVITY]` set to `['skills']` only
71
+ - `scaffold` always overwrites `SET_PROMPT_GUIDE.md` — ensures the latest template on every run
72
+ - `SET_PROMPT_GUIDE.md` template updated: Antigravity frontmatter added, OpenClaw `homepage`/`user-invocable` fields added, `metadata` format corrected
73
+ - `build` script now runs `rimraf dist` before `tsup`
74
+ - README workflow restructured into 4 explicit steps
75
+
76
+ ---
77
+
78
+ ## [0.2.1] - 2026-04-02
79
+
80
+ ### Changed
81
+ - Add `repository`, `homepage`, `bugs` fields to `package.json` for npm registry links
82
+ - Update package description to "Sync your prompt library across AI coding tools from a single git repo"
83
+
84
+ ---
85
+
86
+ ## [0.2.0] - 2026-04-02
87
+
88
+ ### Added
89
+ - `update` command `git fetch` + `git pull` on the registered repo
90
+ - `agents/` directory to scaffold structure (optional, Claude Code only)
91
+ - Agents frontmatter section in `SET_PROMPT_GUIDE` template
92
+ - `AGENT_PROMPT_DIRS` map — per-agent directory control (claudecode: all, roocode: skills+commands, openclaw: skills only)
93
+ - OpenClaw integration (`link openclaw`) — symlinks `skills/` into `~/.openclaw/workspace/`
94
+ - Backup/restore for OpenClaw (`SET_PROMPT_BACKUP/`)
95
+
96
+ ### Changed
97
+ - Backup folder renamed from `.set-prompt-backup` → `SET_PROMPT_BACKUP`
98
+ - `SET_PROMPT_GUIDE` template: `set-prompt.yaml` → `set-prompt.toml`, updated structure and usage
99
+ - `vitest` reporter set to `--reporter=verbose`
100
+ - `.npmignore`: added `tests/`, fixed `CLAUDE.md` entry, removed redundant entries
101
+
102
+ ### Fixed
103
+ - `link roocode` no longer symlinks `hooks/` (RooCode does not support it)
104
+
105
+ ---
106
+
107
+ ## [0.1.0] - 2026-03
108
+
109
+ ### Added
110
+ - RooCode integration (`link roocode`) — symlinks into `~/.roo/` with backup/restore
111
+ - Codex and Antigravity stubs
112
+ - `status` command
113
+ - `uninstall` command with rollback support for Claude Code and RooCode
114
+ - `vitest` test infrastructure with `memfs`
115
+ - Cross-platform symlink support (Windows junction)
116
+
117
+ ### Changed
118
+ - Config format migrated from TOML to JSON (`~/.set-prompt/config.json`)
119
+ - CLI refactored to `commander` with subcommands
120
+ - Build system migrated to `tsup`
121
+ - `ConfigManager` class introduced for typed config management
122
+
123
+ ---
124
+
125
+ ## [0.0.1] - 2026-03
126
+
127
+ ### Added
128
+ - Initial project setup (TypeScript + Commander)
129
+ - `scaffold` command
130
+ - `install` command — clone remote git repo into `~/.set-prompt/repo/`
131
+ - `link claudecode` — Claude Code plugin structure at `~/.set-prompt/claudecode/`
package/README.md CHANGED
@@ -1,27 +1,33 @@
1
- # Set Prompt 🏠
1
+ # Set Prompt
2
2
 
3
3
  As you work with AI agents, you build up your own prompt set — skills, commands, and workflows tailored to how you work.
4
4
 
5
5
  But every time you try a new AI agent, you have to set it all up again from scratch. And as your prompts evolve, keeping them in sync across multiple tools becomes a maintenance burden that the tools themselves don't help with.
6
6
 
7
- `set-prompt` was built to solve this. It maintains a single git repository of prompts and symlinks them into each tool's expected location — so your prompt set stays in one place, stays versioned, and stays consistent across every AI agent you use.
7
+ `set-prompt` was built to solve this. It maintains a single git repository of prompts and links them into each tool's expected location — so your prompt set stays in one place, stays versioned, and stays consistent across every AI agent you use.
8
8
 
9
9
  One repo. Every agent. Always in sync.
10
10
 
11
11
  ```
12
- my-prompts/ (git repo)
13
- ├── skills/
14
- ├── commands/
15
- └── hooks/
16
-
17
- ┌────────────────┼─────────────────┬─────────────────┐
18
- ▼ ▼ ▼ ▼
19
- ~/.set-prompt/ ~/.roo/ ~/.openclaw/ ~/.gemini/
20
- claudecode/ workspace/ antigravity/
21
- (Claude Code plugin) (symlinks) (symlinks) (symlinks)
12
+ repo/ (git)
13
+ ├── skills/
14
+ ├── commands/
15
+ ├── hooks/
16
+ ├── agents/
17
+ ├── rules/
18
+ ├── mcp.json
19
+ ├── .app.json
20
+ ├── .claude-plugin/plugin.json
21
+ └── .codex-plugin/plugin.json
22
+
23
+ ┌──────────────────┼──────────────────────┐
24
+ ▼ ▼ ▼
25
+ Claude Code Codex RooCode, OpenClaw,
26
+ (marketplace + (marketplace + Antigravity, Cursor
27
+ repo symlink) cache symlink) (dir symlinks)
22
28
  ```
23
29
 
24
- ## 📦 Installation
30
+ ## Installation
25
31
 
26
32
  ```bash
27
33
  npm install -g set-prompt
@@ -29,23 +35,19 @@ npm install -g set-prompt
29
35
  npx set-prompt <command>
30
36
  ```
31
37
 
32
- ## 🚀 Workflow
38
+ ## CLI Alias
33
39
 
34
- ### Step 1 Install set-prompt
40
+ `sppt` is a built-in short alias for `set-prompt` — all commands work with either name:
35
41
 
36
42
  ```bash
37
- npm install -g set-prompt
43
+ sppt install <url> # connect an existing repo
44
+ sppt link # link to AI agents
45
+ sppt update # pull latest changes
38
46
  ```
39
47
 
40
- Or run without installing:
41
-
42
- ```bash
43
- npx set-prompt <command>
44
- ```
45
-
46
- ---
48
+ ## Workflow
47
49
 
48
- ### Step 2 — Connect your prompt repository
50
+ ### Step 1 — Connect your prompt repository
49
51
 
50
52
  Point `set-prompt` at a git repo containing your prompts. It clones it to `~/.set-prompt/repo/` and registers it as your prompt source.
51
53
 
@@ -60,38 +62,62 @@ mkdir my-prompts && cd my-prompts && git init
60
62
  set-prompt scaffold .
61
63
  ```
62
64
 
63
- This creates the expected directory structure:
65
+ This creates the expected directory structure with plugin manifests:
64
66
 
65
67
  ```
66
68
  my-prompts/
67
69
  ├── skills/
68
70
  ├── commands/
69
71
  ├── hooks/
70
- └── agents/
72
+ ├── agents/
73
+ ├── rules/
74
+ ├── mcp.json
75
+ ├── .app.json
76
+ ├── .claude-plugin/plugin.json
77
+ ├── .codex-plugin/plugin.json
78
+ └── SET_PROMPT_GUIDE.md (optional reference doc)
71
79
  ```
72
80
 
73
81
  ---
74
82
 
75
- ### Step 3 — Link to AI agents 🔗
83
+ ### Step 2 — Link to AI agents
76
84
 
77
85
  ```bash
78
86
  set-prompt link # interactive checkbox — select agents to link
79
87
  set-prompt link claudecode # link Claude Code only
80
88
  set-prompt link roocode # link RooCode only
81
89
  set-prompt link openclaw # link OpenClaw only
90
+ set-prompt link codex # link Codex only
82
91
  set-prompt link antigravity # link Antigravity only
83
92
  set-prompt link cursor # link Cursor only
84
93
  ```
85
94
 
86
95
  The interactive mode shows all agents with their current state. **Check to link, uncheck to unlink** — existing directories are backed up before being replaced.
87
96
 
88
- | Agent | Where prompts land | What gets linked |
97
+ | Agent | Method | What gets linked |
89
98
  |---|---|---|
90
- | Claude Code | `~/.set-prompt/claude-code/` (plugin) | `skills/`, `commands/`, `hooks/`, `agents/` |
91
- | RooCode | `~/.roo/` | `skills/`, `commands/` |
92
- | OpenClaw | `~/.openclaw/workspace/` | `skills/` |
93
- | Antigravity | `~/.gemini/antigravity/` | `skills/` |
94
- | Cursor | `~/.cursor/` (plugin) | `skills/`, `commands/` |
99
+ | Claude Code | marketplace + repo symlink | repo via `~/.set-prompt/claude-code/plugins/sppt` |
100
+ | Codex | marketplace + cache symlink | repo via `~/.agents/plugins/` + `~/.codex/plugins/cache/` |
101
+ | RooCode | dir symlinks into `~/.roo/` | `skills/`, `commands/` |
102
+ | OpenClaw | dir symlinks into `~/.openclaw/workspace/` | `skills/` |
103
+ | Antigravity | dir symlinks into `~/.gemini/antigravity/` | `skills/` |
104
+ | Cursor | dir symlinks into `~/.cursor/` | `skills/`, `agents/`, `commands/`, `hooks/`, `mcp.json` (hardlink) |
105
+
106
+ > **Note on Claude Code**: Operates as a plugin. Restart Claude Code after linking for the plugin to be recognized.
107
+
108
+ > **Note on Codex**: Operates as a plugin. Restart Codex after linking — you may need to restart **twice** before the plugin is fully recognized.
109
+
110
+ > **Note on Cursor**: Does not load `rules/` from symlinked directories. Use `.cursor/rules/` within each project instead, or manage rules via Cursor Settings.
111
+
112
+ ---
113
+
114
+ ### Step 3 — Keep in sync
115
+
116
+ ```bash
117
+ set-prompt update # git pull latest changes from remote
118
+ ```
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.
95
121
 
96
122
  ---
97
123
 
@@ -103,7 +129,7 @@ Removes all set-prompt data, reverts symlinks, and restores any backed-up direct
103
129
  set-prompt uninstall
104
130
  ```
105
131
 
106
- ## 📋 Commands
132
+ ## Commands
107
133
 
108
134
  | Command | Description |
109
135
  |---------|-------------|
@@ -111,42 +137,67 @@ set-prompt uninstall
111
137
  | `link [agent]` | Link/unlink agents interactively, or target one directly |
112
138
  | `update` | Fetch and pull latest changes from remote repo |
113
139
  | `status` | Show current repo and linked agents |
114
- | `scaffold [path]` | Verify and create required directories in a prompt repo |
140
+ | `scaffold [path]` | Create directories and plugin manifests in a prompt repo |
115
141
  | `uninstall` | Remove all set-prompt data and restore backups |
116
142
 
117
- ## Support
118
-
119
- `set-prompt` is a solo side project. I have a full-time job, so there are weeks where I can't touch it — but I read every issue and do my best to respond as quickly as I can. Your support genuinely makes a difference in how much time I can dedicate to this.
120
-
121
- **Ways to help:**
143
+ ## What Gets Created
122
144
 
123
- - ⭐ **Star this repo** — the simplest thing, and it helps more than you'd think
124
- - 🐛 **Report bugs** — open an [issue](https://github.com/juncha9/set-prompt/issues) with steps to reproduce
125
- - 💡 **Request features** — share ideas or use cases via [issues](https://github.com/juncha9/set-prompt/issues)
126
- - 🔧 **Submit a PR** — new agent integrations (Codex, Antigravity, ...) are especially welcome
127
- - ☕ **Sponsor** — if `set-prompt` saves you time, buying me a coffee means I can keep working on it
128
-
129
- [![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-ea4aaa?logo=github-sponsors)](https://github.com/sponsors/juncha9)
130
-
131
- ## 💻 Dev Commands
132
-
133
- ```bash
134
- npx tsx src/index.ts <command> # Run without building
135
- npm run build # tsup + copy templates
136
- npm link # Register as global CLI (set-prompt)
137
- npm unlink -g set-prompt # Remove global CLI
138
- npm test # Run tests with vitest
139
- .\tests\test-cli.ps1 # Integration tests (PowerShell)
145
+ ```
146
+ ~/.set-prompt/
147
+ ├── config.json
148
+ ├── repo/ # cloned prompt repository
149
+ │ ├── skills/
150
+ │ ├── commands/
151
+ │ ├── hooks/
152
+ │ ├── agents/
153
+ │ ├── rules/
154
+ │ ├── mcp.json
155
+ │ ├── .app.json
156
+ │ ├── .claude-plugin/plugin.json
157
+ │ └── .codex-plugin/plugin.json
158
+ └── claude-code/ # Claude Code marketplace
159
+ ├── .claude-plugin/marketplace.json
160
+ └── plugins/sppt repo (symlink)
161
+
162
+ ~/.roo/ # RooCode (dir symlinks)
163
+ ├── SET_PROMPT_BACKUP/
164
+ ├── skills/ → repo/skills
165
+ └── commands/ → repo/commands
166
+
167
+ ~/.openclaw/workspace/ # OpenClaw (dir symlinks)
168
+ ├── SET_PROMPT_BACKUP/
169
+ └── skills/ → repo/skills
170
+
171
+ ~/.gemini/antigravity/ # Antigravity (dir symlinks)
172
+ ├── SET_PROMPT_BACKUP/
173
+ └── skills/ → repo/skills
174
+
175
+ ~/.agents/plugins/ # Codex marketplace
176
+ └── marketplace.json
177
+
178
+ ~/.codex/
179
+ ├── config.toml # plugin enabled
180
+ └── plugins/cache/local-repo/sppt/1.0.0 → repo (symlink)
181
+
182
+ ~/.cursor/ # Cursor (dir symlinks)
183
+ ├── SET_PROMPT_BACKUP/
184
+ ├── skills/ → repo/skills
185
+ ├── agents/ → repo/agents
186
+ ├── commands/ → repo/commands
187
+ ├── hooks/ → repo/hooks
188
+ └── mcp.json ⇔ repo/mcp.json (hardlink)
140
189
  ```
141
190
 
142
- ## ⚠️ Warning
191
+ ## Warning
143
192
 
144
193
  `set-prompt` modifies configuration files managed by third-party AI agent applications:
145
194
 
146
195
  - **Claude Code** — writes to `~/.claude/settings.json` and `~/.claude/plugins/installed_plugins.json`
196
+ - **Codex** — writes to `~/.agents/plugins/marketplace.json` and `~/.codex/config.toml`
147
197
  - **RooCode** — replaces directories in `~/.roo/`
148
198
  - **OpenClaw** — replaces directories in `~/.openclaw/workspace/`
149
- - **Cursor** — writes to `~/.cursor/`
199
+ - **Antigravity** — replaces directories in `~/.gemini/antigravity/`
200
+ - **Cursor** — replaces directories and mcp.json in `~/.cursor/`
150
201
 
151
202
  Before making any changes, `set-prompt` creates a backup and rolls back automatically on failure. However, you should be aware that:
152
203
 
@@ -155,60 +206,41 @@ Before making any changes, `set-prompt` creates a backup and rolls back automati
155
206
 
156
207
  Use `set-prompt uninstall` to cleanly revert all changes.
157
208
 
158
- ## 📁 What Gets Created
159
-
160
- Stored at `~/.set-prompt/config.json`, managed via `ConfigManager`.
161
-
162
- ```
163
- ~/.set-prompt/
164
- ├── config.json # repo_path, remote_url, linked agent state
165
- ├── repo/ # remote repos cloned here
166
- │ └── <repo-name>/
167
- │ ├── skills/
168
- │ ├── commands/
169
- │ └── hooks/
170
- └── claude-code/ # Claude Code plugin output
171
- ├── .claude-plugin/
172
- │ └── marketplace.json
173
- └── plugins/sppt/
174
- ├── .claude-plugin/plugin.json
175
- ├── skills/ → symlink to repo/skills/
176
- ├── commands/ → symlink to repo/commands/
177
- ├── hooks/ → symlink to repo/hooks/
178
- └── agents/ → symlink to repo/agents/
179
-
180
- ~/.roo/ # RooCode integration (symlinks)
181
- ├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
182
- │ ├── skills/
183
- │ └── commands/
184
- ├── skills/ → symlink to repo/skills/
185
- └── commands/ → symlink to repo/commands/
186
-
187
- ~/.openclaw/workspace/ # OpenClaw integration (symlinks)
188
- ├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
189
- │ └── skills/
190
- └── skills/ → symlink to repo/skills/
191
-
192
- ~/.gemini/antigravity/ # Antigravity integration (symlinks)
193
- ├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
194
- │ └── skills/
195
- └── skills/ → symlink to repo/skills/
196
- ```
197
-
198
- ## 🖥️ Requirements
209
+ ## Requirements
199
210
 
200
211
  - **Node.js** 18+
201
212
  - **Git** (must be available in `PATH` for `set-prompt install`)
202
213
  - **Windows only**: symlink creation requires Developer Mode enabled or running as Administrator (Linux/macOS work out of the box)
203
214
 
204
- ## 🤝 Contributing
215
+ ## Support
216
+
217
+ `set-prompt` is a solo side project. Your support genuinely makes a difference.
218
+
219
+ - Star this repo
220
+ - Report bugs — open an [issue](https://github.com/juncha9/set-prompt/issues) with steps to reproduce
221
+ - Request features — share ideas via [issues](https://github.com/juncha9/set-prompt/issues)
222
+ - Submit a PR — new agent integrations are welcome
223
+
224
+ [![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-ea4aaa?logo=github-sponsors)](https://github.com/sponsors/juncha9)
225
+
226
+ ## Dev Commands
227
+
228
+ ```bash
229
+ npx tsx src/index.ts <command> # Run without building
230
+ npm run build # tsup build
231
+ npm link # Register as global CLI
232
+ npm unlink -g set-prompt # Remove global CLI
233
+ npm test # Run tests with vitest
234
+ ```
235
+
236
+ ## Contributing
205
237
 
206
238
  > Contribution guidelines are still being figured out. For now, feel free to open an issue to discuss ideas or report bugs.
207
239
 
208
240
  - Bug reports and feature requests → [GitHub Issues](https://github.com/juncha9/set-prompt/issues)
209
- - PRs for new agent integrations (OpenClaw, Codex, Antigravity, etc.) are especially appreciated
241
+ - PRs for new agent integrations are especially appreciated
210
242
 
211
- ## 📄 License
243
+ ## License
212
244
 
213
245
  This project is licensed under the [MIT License](./LICENSE.md).
214
- © 2026 [juncha9](https://github.com/juncha9)
246
+ (c) 2026 [juncha9](https://github.com/juncha9)