set-prompt 0.3.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.
- package/CHANGELOG.md +131 -79
- package/README.md +138 -102
- package/dist/index.js +1151 -483
- package/package.json +13 -7
- package/dist/bin/set-prompt.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,79 +1,131 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## [0.
|
|
8
|
-
|
|
9
|
-
### Added
|
|
10
|
-
-
|
|
11
|
-
- `
|
|
12
|
-
- `
|
|
13
|
-
- `
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- `
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `
|
|
21
|
-
- `
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- `
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- `
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
- `
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
38
|
+
## CLI Alias
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
`sppt` is a built-in short alias for `set-prompt` — all commands work with either name:
|
|
35
41
|
|
|
36
42
|
```bash
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Or run without installing:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npx set-prompt <command>
|
|
43
|
+
sppt install <url> # connect an existing repo
|
|
44
|
+
sppt link # link to AI agents
|
|
45
|
+
sppt update # pull latest changes
|
|
44
46
|
```
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
## Workflow
|
|
47
49
|
|
|
48
|
-
### Step
|
|
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,36 +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
|
-
|
|
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
|
|
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
|
|
92
|
+
set-prompt link cursor # link Cursor only
|
|
83
93
|
```
|
|
84
94
|
|
|
85
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.
|
|
86
96
|
|
|
87
|
-
| Agent |
|
|
97
|
+
| Agent | Method | What gets linked |
|
|
88
98
|
|---|---|---|
|
|
89
|
-
| Claude Code |
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
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.
|
|
93
121
|
|
|
94
122
|
---
|
|
95
123
|
|
|
@@ -101,7 +129,7 @@ Removes all set-prompt data, reverts symlinks, and restores any backed-up direct
|
|
|
101
129
|
set-prompt uninstall
|
|
102
130
|
```
|
|
103
131
|
|
|
104
|
-
##
|
|
132
|
+
## Commands
|
|
105
133
|
|
|
106
134
|
| Command | Description |
|
|
107
135
|
|---------|-------------|
|
|
@@ -109,41 +137,67 @@ set-prompt uninstall
|
|
|
109
137
|
| `link [agent]` | Link/unlink agents interactively, or target one directly |
|
|
110
138
|
| `update` | Fetch and pull latest changes from remote repo |
|
|
111
139
|
| `status` | Show current repo and linked agents |
|
|
112
|
-
| `scaffold [path]` |
|
|
140
|
+
| `scaffold [path]` | Create directories and plugin manifests in a prompt repo |
|
|
113
141
|
| `uninstall` | Remove all set-prompt data and restore backups |
|
|
114
142
|
|
|
115
|
-
##
|
|
116
|
-
|
|
117
|
-
`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.
|
|
143
|
+
## What Gets Created
|
|
118
144
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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)
|
|
138
189
|
```
|
|
139
190
|
|
|
140
|
-
##
|
|
191
|
+
## Warning
|
|
141
192
|
|
|
142
193
|
`set-prompt` modifies configuration files managed by third-party AI agent applications:
|
|
143
194
|
|
|
144
|
-
- **Claude Code** — writes to `~/.claude/settings.json`
|
|
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`
|
|
145
197
|
- **RooCode** — replaces directories in `~/.roo/`
|
|
146
198
|
- **OpenClaw** — replaces directories in `~/.openclaw/workspace/`
|
|
199
|
+
- **Antigravity** — replaces directories in `~/.gemini/antigravity/`
|
|
200
|
+
- **Cursor** — replaces directories and mcp.json in `~/.cursor/`
|
|
147
201
|
|
|
148
202
|
Before making any changes, `set-prompt` creates a backup and rolls back automatically on failure. However, you should be aware that:
|
|
149
203
|
|
|
@@ -152,59 +206,41 @@ Before making any changes, `set-prompt` creates a backup and rolls back automati
|
|
|
152
206
|
|
|
153
207
|
Use `set-prompt uninstall` to cleanly revert all changes.
|
|
154
208
|
|
|
155
|
-
##
|
|
209
|
+
## Requirements
|
|
156
210
|
|
|
157
|
-
|
|
211
|
+
- **Node.js** 18+
|
|
212
|
+
- **Git** (must be available in `PATH` for `set-prompt install`)
|
|
213
|
+
- **Windows only**: symlink creation requires Developer Mode enabled or running as Administrator (Linux/macOS work out of the box)
|
|
158
214
|
|
|
159
|
-
|
|
160
|
-
~/.set-prompt/
|
|
161
|
-
├── config.json # repo_path, remote_url, linked agent state
|
|
162
|
-
├── repo/ # remote repos cloned here
|
|
163
|
-
│ └── <repo-name>/
|
|
164
|
-
│ ├── skills/
|
|
165
|
-
│ ├── commands/
|
|
166
|
-
│ └── hooks/
|
|
167
|
-
└── claudecode/ # Claude Code plugin output
|
|
168
|
-
├── .claude-plugin/
|
|
169
|
-
│ └── marketplace.json
|
|
170
|
-
└── plugins/set-prompt/
|
|
171
|
-
├── .claude-plugin/plugin.json
|
|
172
|
-
├── skills/ → symlink to repo/skills/
|
|
173
|
-
├── commands/ → symlink to repo/commands/
|
|
174
|
-
└── hooks/ → symlink to repo/hooks/
|
|
175
|
-
|
|
176
|
-
~/.roo/ # RooCode integration (symlinks)
|
|
177
|
-
├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
|
|
178
|
-
│ ├── skills/
|
|
179
|
-
│ └── commands/
|
|
180
|
-
├── skills/ → symlink to repo/skills/
|
|
181
|
-
└── commands/ → symlink to repo/commands/
|
|
182
|
-
|
|
183
|
-
~/.openclaw/workspace/ # OpenClaw integration (symlinks)
|
|
184
|
-
├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
|
|
185
|
-
│ └── skills/
|
|
186
|
-
└── skills/ → symlink to repo/skills/
|
|
187
|
-
|
|
188
|
-
~/.gemini/antigravity/ # Antigravity integration (symlinks)
|
|
189
|
-
├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
|
|
190
|
-
│ └── skills/
|
|
191
|
-
└── skills/ → symlink to repo/skills/
|
|
192
|
-
```
|
|
215
|
+
## Support
|
|
193
216
|
|
|
194
|
-
|
|
217
|
+
`set-prompt` is a solo side project. Your support genuinely makes a difference.
|
|
195
218
|
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
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
|
+
[](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
|
+
```
|
|
199
235
|
|
|
200
|
-
##
|
|
236
|
+
## Contributing
|
|
201
237
|
|
|
202
238
|
> Contribution guidelines are still being figured out. For now, feel free to open an issue to discuss ideas or report bugs.
|
|
203
239
|
|
|
204
240
|
- Bug reports and feature requests → [GitHub Issues](https://github.com/juncha9/set-prompt/issues)
|
|
205
|
-
- PRs for new agent integrations
|
|
241
|
+
- PRs for new agent integrations are especially appreciated
|
|
206
242
|
|
|
207
|
-
##
|
|
243
|
+
## License
|
|
208
244
|
|
|
209
245
|
This project is licensed under the [MIT License](./LICENSE.md).
|
|
210
|
-
|
|
246
|
+
(c) 2026 [juncha9](https://github.com/juncha9)
|