set-prompt 0.6.0 → 0.7.0
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 +24 -0
- package/README.md +55 -22
- package/dist/index.js +575 -141
- package/package.json +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,30 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [0.7.0] - 2026-04-20
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **OpenCode integration** (`link opencode`) — dir symlinks into `~/.config/opencode/` (OpenCode's default config directory). Links `skills/`, `commands/`, `agents/`.
|
|
11
|
+
- **Gemini CLI integration** (`link geminicli`) — dir symlinks into `~/.gemini/` (coexists with Antigravity's `~/.gemini/antigravity/` subtree). Links `skills/`, `commands/`, `agents/`.
|
|
12
|
+
- `OpencodeConfigSchema` / `GeminicliConfigSchema` + types + `configManager.opencode` / `configManager.geminicli` getter/setter + `isOpencodeEnabled()` / `isGeminicliEnabled()`
|
|
13
|
+
- `SET_PROMPT_GUIDE` template: OpenCode frontmatter reference — skills (`name`, `description`, `license`, `compatibility`, `metadata`), commands (`template` required + `agent`/`model`/`subtask`), agents (`mode`, `temperature`, `top_p`, `steps`, `tools`, `permission`, `prompt` with `{file:...}` reference, etc.)
|
|
14
|
+
- `SET_PROMPT_GUIDE` template: Gemini CLI frontmatter reference — skills (`name` + `description` — minimal), agents (`kind`, `tools` as array, `model`, `temperature` 0–2.0, `max_turns`, `timeout_mins`, `mcpServers` as nested YAML map), and a dedicated TOML sample for Gemini CLI commands (`prompt` required + `description`) with `{{args}}`/`!{cmd}`/`@{path}` placeholders and namespaced subdirectory support (`/git:commit`)
|
|
15
|
+
- Tests: `tests/commands/link-opencode.test.ts`, `tests/commands/link-geminicli.test.ts`
|
|
16
|
+
- README hero rewrite with `One repo. Every AI coding tool. Always in sync.` tagline, npm/GitHub/Sponsor badges, Quick Start section
|
|
17
|
+
- `engines.node >=18` declared in `package.json`
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- `link-command.ts`: `LINK_MAP` / `UNLINK_MAP` / `prevLinked` extended with OpenCode and Gemini CLI entries
|
|
21
|
+
- `checkbox` prompt UX: added `loop: false` and `pageSize: ALL_AGENTS.length` so the agent list no longer wraps around and shows all options without scrolling
|
|
22
|
+
- Removed Contributing section from README (not accepting external PRs yet)
|
|
23
|
+
|
|
24
|
+
### Notes / Caveats
|
|
25
|
+
- **Gemini CLI commands use `.toml`** (not `.md`) — repo's `commands/` needs TOML files for Gemini to recognize them
|
|
26
|
+
- **Gemini CLI agents have strict frontmatter validation** — rejects unknown keys (e.g. `color`, `allowed-tools`, `mode` from other platforms). Allowed keys only: `name`, `description`, `kind`, `tools`, `mcpServers`, `model`, `temperature`, `max_turns`, `timeout_mins`. Warning printed on link completion.
|
|
27
|
+
- **RooCode skill directories must use hyphens, not underscores** — `my_skill` silently fails to register, `my-skill` works. Document-only gotcha (no code change); noted in `SET_PROMPT_GUIDE` skill `name` row.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
7
31
|
## [0.6.0] - 2026-04-14
|
|
8
32
|
|
|
9
33
|
### Added
|
package/README.md
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# Set Prompt
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/set-prompt)
|
|
4
|
+
[](https://www.npmjs.com/package/set-prompt)
|
|
5
|
+
[](https://github.com/juncha9/set-prompt/stargazers)
|
|
6
|
+
[](https://github.com/juncha9/set-prompt/commits/main)
|
|
7
|
+
[](./LICENSE.md)
|
|
8
|
+
[](https://nodejs.org)
|
|
9
|
+
[](https://github.com/sponsors/juncha9)
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
### One repo. Every AI coding tool. Always in sync.
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
Your skills, commands, and agents live in git. One command syncs them into every AI coding tool you use — so the prompts you built stay with you no matter which tool you're in.
|
|
10
14
|
|
|
11
15
|
```
|
|
12
16
|
repo/ (git)
|
|
@@ -23,21 +27,34 @@ One repo. Every agent. Always in sync.
|
|
|
23
27
|
┌──────────────────┼──────────────────────┐
|
|
24
28
|
▼ ▼ ▼
|
|
25
29
|
Claude Code Codex RooCode, OpenClaw,
|
|
26
|
-
(marketplace + (marketplace + Antigravity, Cursor
|
|
27
|
-
repo symlink) cache symlink)
|
|
30
|
+
(marketplace + (marketplace + Antigravity, Cursor,
|
|
31
|
+
repo symlink) cache symlink) OpenCode, Gemini CLI
|
|
32
|
+
(dir symlinks)
|
|
28
33
|
```
|
|
29
34
|
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
From zero to linked in under a minute:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g set-prompt
|
|
41
|
+
sppt install https://github.com/you/my-prompts # or: sppt scaffold .
|
|
42
|
+
sppt link # interactive checkbox — pick your tools
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
That's it. Your prompts are now live in every AI tool you selected.
|
|
46
|
+
|
|
30
47
|
## Installation
|
|
31
48
|
|
|
32
49
|
```bash
|
|
50
|
+
# global install (recommended)
|
|
33
51
|
npm install -g set-prompt
|
|
34
|
-
|
|
52
|
+
|
|
53
|
+
# one-off run without installing
|
|
35
54
|
npx set-prompt <command>
|
|
36
55
|
```
|
|
37
56
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
`sppt` is a built-in short alias for `set-prompt` — all commands work with either name:
|
|
57
|
+
Both `set-prompt` and the short alias `sppt` are registered — use whichever you prefer:
|
|
41
58
|
|
|
42
59
|
```bash
|
|
43
60
|
sppt install <url> # connect an existing repo
|
|
@@ -93,6 +110,8 @@ set-prompt link openclaw # link OpenClaw only
|
|
|
93
110
|
set-prompt link codex # link Codex only
|
|
94
111
|
set-prompt link antigravity # link Antigravity only
|
|
95
112
|
set-prompt link cursor # link Cursor only
|
|
113
|
+
set-prompt link opencode # link OpenCode only
|
|
114
|
+
set-prompt link geminicli # link Gemini CLI only
|
|
96
115
|
```
|
|
97
116
|
|
|
98
117
|
The interactive mode shows all agents with their current state. **Check to link, uncheck to unlink** — existing directories are backed up before being replaced.
|
|
@@ -105,13 +124,21 @@ The interactive mode shows all agents with their current state. **Check to link,
|
|
|
105
124
|
| OpenClaw | dir symlinks into `~/.openclaw/workspace/` | `skills/` |
|
|
106
125
|
| Antigravity | dir symlinks into `~/.gemini/antigravity/` | `skills/` |
|
|
107
126
|
| Cursor | dir symlinks into `~/.cursor/` | `skills/`, `agents/`, `commands/`, `hooks/`, `mcp.json` (hardlink) |
|
|
127
|
+
| OpenCode | dir symlinks into `~/.config/opencode/` | `skills/`, `commands/`, `agents/` |
|
|
128
|
+
| Gemini CLI | dir symlinks into `~/.gemini/` | `skills/`, `commands/`, `agents/` |
|
|
108
129
|
|
|
109
130
|
> **Note on Claude Code**: Operates as a plugin. Restart Claude Code after linking for the plugin to be recognized.
|
|
110
131
|
|
|
111
132
|
> **Note on Codex**: Operates as a plugin. Restart Codex after linking — you may need to restart **twice** before the plugin is fully recognized.
|
|
112
133
|
|
|
134
|
+
> **Note on RooCode**: Skill directory names must use hyphens only — `my_skill` (underscore) silently fails to be recognized, while `my-skill` works. Hyphens work on every platform, so default to them.
|
|
135
|
+
|
|
113
136
|
> **Note on Cursor**: Does not load `rules/` from symlinked directories. Use `.cursor/rules/` within each project instead, or manage rules via Cursor Settings.
|
|
114
137
|
|
|
138
|
+
> **Note on OpenCode**: Linked at `~/.config/opencode/` — OpenCode's default config directory, so no env var setup required.
|
|
139
|
+
|
|
140
|
+
> **Note on Gemini CLI**: Skills follow the standard `skills/<name>/SKILL.md` pattern. Commands use `.toml` format (not `.md`) and agents use `.md` with YAML frontmatter. Files in your repo's `commands/` must be TOML for Gemini CLI to recognize them. **Agents have strict frontmatter validation** — unknown keys (e.g. `allowed-tools`, `color`, `mode` from other platforms) cause Gemini CLI to reject the agent. See `SET_PROMPT_GUIDE.md` for the allowed keys.
|
|
141
|
+
|
|
115
142
|
---
|
|
116
143
|
|
|
117
144
|
### Step 3 — Keep in sync
|
|
@@ -134,7 +161,7 @@ set-prompt repo path # print repo location (e.g. cd "$(sppt rep
|
|
|
134
161
|
set-prompt repo open # open repo in OS file manager (--code VSCode, --stree Sourcetree)
|
|
135
162
|
```
|
|
136
163
|
|
|
137
|
-
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.
|
|
164
|
+
Symlink-based agents (Claude Code, Codex, RooCode, OpenClaw, Antigravity, OpenCode, Gemini CLI) 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.
|
|
138
165
|
|
|
139
166
|
---
|
|
140
167
|
|
|
@@ -209,6 +236,19 @@ set-prompt uninstall
|
|
|
209
236
|
├── commands/ → repo/commands
|
|
210
237
|
├── hooks/ → repo/hooks
|
|
211
238
|
└── mcp.json ⇔ repo/.mcp.json (hardlink)
|
|
239
|
+
|
|
240
|
+
~/.config/opencode/ # OpenCode (dir symlinks)
|
|
241
|
+
├── SET_PROMPT_BACKUP/
|
|
242
|
+
├── skills/ → repo/skills
|
|
243
|
+
├── commands/ → repo/commands
|
|
244
|
+
└── agents/ → repo/agents
|
|
245
|
+
|
|
246
|
+
~/.gemini/ # Gemini CLI (dir symlinks)
|
|
247
|
+
├── SET_PROMPT_BACKUP/
|
|
248
|
+
├── skills/ → repo/skills (Gemini reads SKILL.md)
|
|
249
|
+
├── commands/ → repo/commands (Gemini reads *.toml)
|
|
250
|
+
├── agents/ → repo/agents (Gemini reads *.md)
|
|
251
|
+
└── antigravity/ (Antigravity's own subtree, unrelated)
|
|
212
252
|
```
|
|
213
253
|
|
|
214
254
|
## Warning
|
|
@@ -221,6 +261,8 @@ set-prompt uninstall
|
|
|
221
261
|
- **OpenClaw** — replaces directories in `~/.openclaw/workspace/`
|
|
222
262
|
- **Antigravity** — replaces directories in `~/.gemini/antigravity/`
|
|
223
263
|
- **Cursor** — replaces directories and `mcp.json` in `~/.cursor/`
|
|
264
|
+
- **OpenCode** — replaces directories in `~/.config/opencode/`
|
|
265
|
+
- **Gemini CLI** — replaces directories in `~/.gemini/` (`antigravity/` subtree untouched)
|
|
224
266
|
|
|
225
267
|
Before making any changes, `set-prompt` creates a backup and rolls back automatically on failure. However, you should be aware that:
|
|
226
268
|
|
|
@@ -242,9 +284,7 @@ Use `set-prompt uninstall` to cleanly revert all changes.
|
|
|
242
284
|
- Star this repo
|
|
243
285
|
- Report bugs — open an [issue](https://github.com/juncha9/set-prompt/issues) with steps to reproduce
|
|
244
286
|
- Request features — share ideas via [issues](https://github.com/juncha9/set-prompt/issues)
|
|
245
|
-
-
|
|
246
|
-
|
|
247
|
-
[](https://github.com/sponsors/juncha9)
|
|
287
|
+
- [Sponsor on GitHub](https://github.com/sponsors/juncha9) if the project saves you time
|
|
248
288
|
|
|
249
289
|
## Dev Commands
|
|
250
290
|
|
|
@@ -256,13 +296,6 @@ npm unlink -g set-prompt # Remove global CLI
|
|
|
256
296
|
npm test # Run tests with vitest
|
|
257
297
|
```
|
|
258
298
|
|
|
259
|
-
## Contributing
|
|
260
|
-
|
|
261
|
-
> Contribution guidelines are still being figured out. For now, feel free to open an issue to discuss ideas or report bugs.
|
|
262
|
-
|
|
263
|
-
- Bug reports and feature requests → [GitHub Issues](https://github.com/juncha9/set-prompt/issues)
|
|
264
|
-
- PRs for new agent integrations are especially appreciated
|
|
265
|
-
|
|
266
299
|
## License
|
|
267
300
|
|
|
268
301
|
This project is licensed under the [MIT License](./LICENSE.md).
|