set-prompt 0.0.1 → 0.2.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 +52 -0
- package/LICENSE.md +11 -0
- package/README.md +182 -0
- package/dist/bin/set-prompt.js +2 -0
- package/dist/index.js +1244 -0
- package/package.json +38 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## [0.2.0] - 2026-04-02
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- `update` command — `git fetch` + `git pull` on the registered repo
|
|
11
|
+
- `agents/` directory to scaffold structure (optional, Claude Code only)
|
|
12
|
+
- Agents frontmatter section in `SET_PROMPT_GUIDE` template
|
|
13
|
+
- `AGENT_PROMPT_DIRS` map — per-agent directory control (claudecode: all, roocode: skills+commands, openclaw: skills only)
|
|
14
|
+
- OpenClaw integration (`link openclaw`) — symlinks `skills/` into `~/.openclaw/workspace/`
|
|
15
|
+
- Backup/restore for OpenClaw (`SET_PROMPT_BACKUP/`)
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Backup folder renamed from `.set-prompt-backup` → `SET_PROMPT_BACKUP`
|
|
19
|
+
- `SET_PROMPT_GUIDE` template: `set-prompt.yaml` → `set-prompt.toml`, updated structure and usage
|
|
20
|
+
- `vitest` reporter set to `--reporter=verbose`
|
|
21
|
+
- `.npmignore`: added `tests/`, fixed `CLAUDE.md` entry, removed redundant entries
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- `link roocode` no longer symlinks `hooks/` (RooCode does not support it)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## [0.1.0] - 2026-03
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- RooCode integration (`link roocode`) — symlinks into `~/.roo/` with backup/restore
|
|
32
|
+
- Codex and Antigravity stubs
|
|
33
|
+
- `status` command
|
|
34
|
+
- `uninstall` command with rollback support for Claude Code and RooCode
|
|
35
|
+
- `vitest` test infrastructure with `memfs`
|
|
36
|
+
- Cross-platform symlink support (Windows junction)
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
- Config format migrated from TOML to JSON (`~/.set-prompt/config.json`)
|
|
40
|
+
- CLI refactored to `commander` with subcommands
|
|
41
|
+
- Build system migrated to `tsup`
|
|
42
|
+
- `ConfigManager` class introduced for typed config management
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## [0.0.1] - 2026-03
|
|
47
|
+
|
|
48
|
+
### Added
|
|
49
|
+
- Initial project setup (TypeScript + Commander)
|
|
50
|
+
- `scaffold` command
|
|
51
|
+
- `install` command — clone remote git repo into `~/.set-prompt/repo/`
|
|
52
|
+
- `link claudecode` — Claude Code plugin structure at `~/.set-prompt/claudecode/`
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## MIT License
|
|
2
|
+
|
|
3
|
+
The MIT License (MIT)
|
|
4
|
+
|
|
5
|
+
Copyright © 2026 juncha9 (https://github.com/juncha9)
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
|
|
9
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Set Prompt 🏠
|
|
2
|
+
|
|
3
|
+
As you work with AI agents, you build up your own prompt set — skills, commands, and workflows tailored to how you work.
|
|
4
|
+
|
|
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
|
+
|
|
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.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
my-prompts/ (git repo)
|
|
11
|
+
└── skills/, commands/, hooks/
|
|
12
|
+
↓ set-prompt install <git-url>
|
|
13
|
+
↓ set-prompt link claudecode → ~/.set-prompt/claudecode/ (Claude Code plugin)
|
|
14
|
+
↓ set-prompt link roocode → ~/.roo/ (symlinks)
|
|
15
|
+
↓ set-prompt link openclaw → ~/.openclaw/workspace/ (symlinks)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 📦 Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g set-prompt
|
|
22
|
+
# or use without installing
|
|
23
|
+
npx set-prompt <command>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 🚀 Workflow
|
|
27
|
+
|
|
28
|
+
### 1. Create a prompt repository
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
mkdir my-prompts && cd my-prompts && git init
|
|
32
|
+
set-prompt scaffold .
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Creates:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
my-prompts/
|
|
39
|
+
├── SET_PROMPT_GUIDE.md
|
|
40
|
+
├── skills/
|
|
41
|
+
│ └── <skill-name>/
|
|
42
|
+
│ └── SKILL.md
|
|
43
|
+
├── commands/
|
|
44
|
+
│ └── <command-name>/
|
|
45
|
+
│ └── COMMAND.md
|
|
46
|
+
├── hooks/
|
|
47
|
+
└── agents/
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Register the repository
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# remote git URL — cloned to ~/.set-prompt/repo/
|
|
54
|
+
set-prompt install https://github.com/you/my-prompts
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 3. Link to AI tools 🔗
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
set-prompt link # interactive selection
|
|
61
|
+
set-prompt link claudecode # Claude Code only
|
|
62
|
+
set-prompt link roocode # RooCode only
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- **Claude Code**: creates a plugin at `~/.set-prompt/claudecode/`, registers via `~/.claude/settings.json`
|
|
66
|
+
- **RooCode**: symlinks `skills/`, `commands/` into `~/.roo/` — backs up existing dirs first
|
|
67
|
+
- **OpenClaw**: symlinks `skills/` into `~/.openclaw/workspace/` — backs up existing dir first
|
|
68
|
+
|
|
69
|
+
## 📋 Commands
|
|
70
|
+
|
|
71
|
+
| Command | Description | Status |
|
|
72
|
+
|---------|-------------|--------|
|
|
73
|
+
| `scaffold [path]` | Verify and scaffold repo structure | ✅ |
|
|
74
|
+
| `install <url>` | Clone remote git repo and register as prompt source | ✅ |
|
|
75
|
+
| `link [agent]` | Link prompts to AI agents (interactive if omitted) | ✅ |
|
|
76
|
+
| `link claudecode` | Link to Claude Code | ✅ |
|
|
77
|
+
| `link roocode` | Link to RooCode | ✅ |
|
|
78
|
+
| `link openclaw` | Link to OpenClaw | ✅ |
|
|
79
|
+
| `link codex` | Link to Codex | 🔜 planned |
|
|
80
|
+
| `link antigravity` | Link to Antigravity | 🔜 planned |
|
|
81
|
+
| `update` | Fetch and pull latest changes from remote repo | ✅ |
|
|
82
|
+
| `status` | Show current repo and linked agents | ✅ |
|
|
83
|
+
| `uninstall` | Remove all set-prompt data | ✅ |
|
|
84
|
+
|
|
85
|
+
## 🗓️ Planned Integrations
|
|
86
|
+
|
|
87
|
+
| Agent | Provider | Status |
|
|
88
|
+
|-------|----------|--------|
|
|
89
|
+
| Codex | OpenAI | 🔜 planned |
|
|
90
|
+
| Antigravity | Google | 🔜 planned |
|
|
91
|
+
|
|
92
|
+
## ☕ Support
|
|
93
|
+
|
|
94
|
+
`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.
|
|
95
|
+
|
|
96
|
+
**Ways to help:**
|
|
97
|
+
|
|
98
|
+
- ⭐ **Star this repo** — the simplest thing, and it helps more than you'd think
|
|
99
|
+
- 🐛 **Report bugs** — open an [issue](https://github.com/juncha9/set-prompt/issues) with steps to reproduce
|
|
100
|
+
- 💡 **Request features** — share ideas or use cases via [issues](https://github.com/juncha9/set-prompt/issues)
|
|
101
|
+
- 🔧 **Submit a PR** — new agent integrations (Codex, Antigravity, ...) are especially welcome
|
|
102
|
+
- ☕ **Sponsor** — if `set-prompt` saves you time, buying me a coffee means I can keep working on it
|
|
103
|
+
|
|
104
|
+
[](https://github.com/sponsors/juncha9)
|
|
105
|
+
|
|
106
|
+
## 💻 Dev Commands
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npx tsx src/index.ts <command> # Run without building
|
|
110
|
+
npm run build # tsup + copy templates
|
|
111
|
+
npm link # Register as global CLI (set-prompt)
|
|
112
|
+
npm unlink -g set-prompt # Remove global CLI
|
|
113
|
+
npm test # Run tests with vitest
|
|
114
|
+
.\tests\test-cli.ps1 # Integration tests (PowerShell)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## ⚠️ Warning
|
|
118
|
+
|
|
119
|
+
`set-prompt` modifies configuration files managed by third-party AI agent applications:
|
|
120
|
+
|
|
121
|
+
- **Claude Code** — writes to `~/.claude/settings.json`
|
|
122
|
+
- **RooCode** — replaces directories in `~/.roo/`
|
|
123
|
+
- **OpenClaw** — replaces directories in `~/.openclaw/workspace/`
|
|
124
|
+
|
|
125
|
+
Before making any changes, `set-prompt` creates a backup and rolls back automatically on failure. However, you should be aware that:
|
|
126
|
+
|
|
127
|
+
- Modifying these files may conflict with future updates to the target agent
|
|
128
|
+
- If a rollback also fails, the backup path is printed — you can restore manually
|
|
129
|
+
|
|
130
|
+
Use `set-prompt uninstall` to cleanly revert all changes.
|
|
131
|
+
|
|
132
|
+
## 📁 What Gets Created
|
|
133
|
+
|
|
134
|
+
Stored at `~/.set-prompt/config.json`, managed via `ConfigManager`.
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
~/.set-prompt/
|
|
138
|
+
├── config.json # repo_path, remote_url, linked agent state
|
|
139
|
+
├── repo/ # remote repos cloned here
|
|
140
|
+
│ └── <repo-name>/
|
|
141
|
+
│ ├── skills/
|
|
142
|
+
│ ├── commands/
|
|
143
|
+
│ └── hooks/
|
|
144
|
+
└── claudecode/ # Claude Code plugin output
|
|
145
|
+
├── .claude-plugin/
|
|
146
|
+
│ └── marketplace.json
|
|
147
|
+
└── plugins/set-prompt/
|
|
148
|
+
├── .claude-plugin/plugin.json
|
|
149
|
+
├── skills/ → symlink to repo/skills/
|
|
150
|
+
├── commands/ → symlink to repo/commands/
|
|
151
|
+
└── hooks/ → symlink to repo/hooks/
|
|
152
|
+
|
|
153
|
+
~/.roo/ # RooCode integration (symlinks)
|
|
154
|
+
├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
|
|
155
|
+
│ ├── skills/
|
|
156
|
+
│ └── commands/
|
|
157
|
+
├── skills/ → symlink to repo/skills/
|
|
158
|
+
└── commands/ → symlink to repo/commands/
|
|
159
|
+
|
|
160
|
+
~/.openclaw/workspace/ # OpenClaw integration (symlinks)
|
|
161
|
+
├── SET_PROMPT_BACKUP/ # backup of original dirs before linking
|
|
162
|
+
│ └── skills/
|
|
163
|
+
└── skills/ → symlink to repo/skills/
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## 🖥️ Requirements
|
|
167
|
+
|
|
168
|
+
- **Node.js** 18+
|
|
169
|
+
- **Git** (must be available in `PATH` for `set-prompt install`)
|
|
170
|
+
- **Windows**: symlink creation requires either Developer Mode enabled or running as Administrator
|
|
171
|
+
|
|
172
|
+
## 🤝 Contributing
|
|
173
|
+
|
|
174
|
+
> Contribution guidelines are still being figured out. For now, feel free to open an issue to discuss ideas or report bugs.
|
|
175
|
+
|
|
176
|
+
- Bug reports and feature requests → [GitHub Issues](https://github.com/juncha9/set-prompt/issues)
|
|
177
|
+
- PRs for new agent integrations (OpenClaw, Codex, Antigravity, etc.) are especially appreciated
|
|
178
|
+
|
|
179
|
+
## 📄 License
|
|
180
|
+
|
|
181
|
+
This project is licensed under the [MIT License](./LICENSE.md).
|
|
182
|
+
© 2026 [juncha9](https://github.com/juncha9)
|