cursortoys 0.4.0 → 0.6.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/README.md +54 -21
- package/dist/cli.js +177 -106
- package/dist/cli.js.map +1 -1
- package/dist/commands/http-test.d.ts.map +1 -1
- package/dist/commands/http-test.js +16 -22
- package/dist/commands/http-test.js.map +1 -1
- package/dist/commands/skill-install.d.ts +12 -1
- package/dist/commands/skill-install.d.ts.map +1 -1
- package/dist/commands/skill-install.js +40 -12
- package/dist/commands/skill-install.js.map +1 -1
- package/dist/commands/skills-import.d.ts +20 -0
- package/dist/commands/skills-import.d.ts.map +1 -0
- package/dist/commands/skills-import.js +85 -0
- package/dist/commands/skills-import.js.map +1 -0
- package/dist/httpDynamicVariables.d.ts +16 -0
- package/dist/httpDynamicVariables.d.ts.map +1 -0
- package/dist/httpDynamicVariables.js +155 -0
- package/dist/httpDynamicVariables.js.map +1 -0
- package/dist/httpRequestExtensions.d.ts +24 -0
- package/dist/httpRequestExtensions.d.ts.map +1 -0
- package/dist/httpRequestExtensions.js +67 -0
- package/dist/httpRequestExtensions.js.map +1 -0
- package/dist/httpRunner.d.ts.map +1 -1
- package/dist/httpRunner.js +10 -6
- package/dist/httpRunner.js.map +1 -1
- package/dist/llmOutput.d.ts +21 -0
- package/dist/llmOutput.d.ts.map +1 -0
- package/dist/llmOutput.js +109 -0
- package/dist/llmOutput.js.map +1 -0
- package/dist/skillRemoteImporter.d.ts +32 -0
- package/dist/skillRemoteImporter.d.ts.map +1 -0
- package/dist/skillRemoteImporter.js +247 -0
- package/dist/skillRemoteImporter.js.map +1 -0
- package/dist/skillWriter.d.ts +11 -0
- package/dist/skillWriter.d.ts.map +1 -0
- package/dist/skillWriter.js +58 -0
- package/dist/skillWriter.js.map +1 -0
- package/llms.txt +35 -19
- package/package.json +2 -2
- package/resources/skills/cursor-toys-http/SKILL.md +7 -5
- package/resources/skills/cursortoys-cli/SKILL.md +93 -0
- package/dist/banner.d.ts +0 -7
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -60
- package/dist/banner.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Command-line utilities for CursorToys: HTTP testing, skill management, automation, and productivity tools.
|
|
4
4
|
|
|
5
|
+
**Current version:** 0.6.0
|
|
6
|
+
|
|
5
7
|
## Features
|
|
6
8
|
|
|
7
|
-
- **HTTP Testing**: Run `.req
|
|
9
|
+
- **HTTP Testing**: Run `.req`, `.request`, `.http`, and `.rest` files as automated tests
|
|
8
10
|
- **Skill Management**: Create and manage AI agent skills
|
|
9
11
|
- **LLM Instructions**: Built-in usage guide for LLMs
|
|
10
12
|
- **Productivity Tools**: Utilities for development workflow
|
|
@@ -41,7 +43,7 @@ npm link
|
|
|
41
43
|
|
|
42
44
|
### HTTP Testing
|
|
43
45
|
|
|
44
|
-
Run HTTP request files (`.req
|
|
46
|
+
Run HTTP request files (`.req`, `.request`, `.http`, `.rest`) from the project's `http` folder as automated tests. Uses the same format and behavior as the CursorToys VS Code extension (REST Client format, `# @var`, `# @env`, `{{VAR}}`, project-root `.env` files).
|
|
45
47
|
|
|
46
48
|
#### Run all HTTP tests
|
|
47
49
|
|
|
@@ -51,7 +53,7 @@ From the project root (where `.cursor/http/` or your configured base folder live
|
|
|
51
53
|
cursortoys http test
|
|
52
54
|
```
|
|
53
55
|
|
|
54
|
-
Discovers all
|
|
56
|
+
Discovers all HTTP request files under the `http` folder (recursively), runs every request block in each file, and reports pass/fail. A request **passes** when status is 2xx, or when all `@assert` blocks pass (assertions override status).
|
|
55
57
|
|
|
56
58
|
#### Run a single file or folder
|
|
57
59
|
|
|
@@ -89,14 +91,15 @@ Same as in the CursorToys extension:
|
|
|
89
91
|
- **REST Client**: `METHOD URL` then optional headers and body; multiple requests separated by `###` or `##` sections
|
|
90
92
|
- **Variables**: `# @var VAR_NAME=value`; `# @env name` to select environment (`default` uses `.env`)
|
|
91
93
|
- **Substitution**: `{{VAR_NAME}}` resolved from `# @var`, then from `.env.{name}` at project root
|
|
94
|
+
- **System dynamic variables**: `{{$guid}}`, `{{$randomInt min max}}`, `{{$timestamp}}`, `{{$datetime}}`, `{{$localDatetime}}`, `{{$processEnv VAR}}`, `{{$dotenv VAR}}`
|
|
95
|
+
- **Helper functions**: `{{@uuid()}}`, `{{@randomIn(1,10)}}`, etc.
|
|
92
96
|
- **Delay**: `# @delay(milliseconds)` before executing a block
|
|
93
97
|
- **Assertions**: block comments with `@assert(...)` — when present, all must pass
|
|
94
98
|
- **Chained response** (`@SETTER` / `@GETTER`): capture a value from one response and use it in the next block (or file in the same run)
|
|
95
99
|
|
|
96
100
|
Reserved hook files (directory-level setup/teardown):
|
|
97
101
|
|
|
98
|
-
- `__before__
|
|
99
|
-
- `__after__.req` / `__after__.request`: runs **after** other request files in that directory
|
|
102
|
+
- `__before__.*` / `__after__.*`: runs **before** / **after** other request files in that directory (extensions: `.req`, `.request`, `.http`, `.rest`)
|
|
100
103
|
- Hook files are **not** treated as normal tests (they don't get discovered twice).
|
|
101
104
|
|
|
102
105
|
Example:
|
|
@@ -174,36 +177,64 @@ cursortoys http test -f .cursor/http/api.req --verbose --var API_KEY=xxx
|
|
|
174
177
|
cursortoys http test --folder integrations
|
|
175
178
|
```
|
|
176
179
|
|
|
177
|
-
### Skill Management
|
|
180
|
+
### Skill Management (`skills`)
|
|
178
181
|
|
|
179
|
-
Create and
|
|
182
|
+
Create, install official skills, and import from GitHub — parity with the CursorToys extension.
|
|
180
183
|
|
|
181
184
|
```bash
|
|
182
|
-
cursortoys
|
|
183
|
-
cursortoys
|
|
184
|
-
cursortoys
|
|
185
|
+
cursortoys skills add my-skill
|
|
186
|
+
cursortoys skills add http-testing -d "Skill for testing HTTP APIs"
|
|
187
|
+
cursortoys skills add api-docs -t project -p /path/to/project
|
|
188
|
+
|
|
189
|
+
# Official bundled skills (see `skills list`)
|
|
190
|
+
cursortoys skills install # default: http (HTTP .req docs)
|
|
191
|
+
cursortoys skills install cli # CLI commands and flags
|
|
192
|
+
cursortoys skills install http -t project -p .
|
|
193
|
+
cursortoys skills install http --force
|
|
194
|
+
|
|
195
|
+
# Import full skill folder from GitHub (/tree/{branch}/{folder})
|
|
196
|
+
cursortoys skills import https://github.com/org/repo/tree/main/path/to/skill-folder -t project -p .
|
|
197
|
+
|
|
198
|
+
cursortoys skills list
|
|
185
199
|
```
|
|
186
200
|
|
|
201
|
+
| Subcommand | Description |
|
|
202
|
+
|------------|-------------|
|
|
203
|
+
| `add <name>` | Create `SKILL.md` from template |
|
|
204
|
+
| `install [name]` | Install bundled skill (`http`, `cli`) |
|
|
205
|
+
| `import <url>` | Import skill folder from GitHub (requires `SKILL.md` at folder root) |
|
|
206
|
+
| `list` | List official bundled skills |
|
|
207
|
+
|
|
208
|
+
Shared options for `add`, `install`, and `import`:
|
|
209
|
+
|
|
187
210
|
| Option | Description |
|
|
188
211
|
|-------|-------------|
|
|
189
|
-
| `-d, --description <text>` | Skill description |
|
|
190
212
|
| `-t, --target <type>` | `personal` or `project` (default: `personal`) |
|
|
191
213
|
| `-p, --project <dir>` | Project directory (required if target is `project`) |
|
|
192
214
|
| `--base-folder <name>` | Base folder name (default: `cursor`) |
|
|
215
|
+
| `-f, --force` | Overwrite existing skill (`install` / `import`) |
|
|
216
|
+
| `-d, --description <text>` | Skill description (`add` only) |
|
|
193
217
|
|
|
194
|
-
**
|
|
218
|
+
**GitHub import URL format:** `https://github.com/{owner}/{repo}/tree/{branch}/{folder}` (HTTPS only). Unauthenticated API rate limit applies (~60 requests/hour).
|
|
195
219
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
cursortoys skill install http --force # reinstall
|
|
200
|
-
cursortoys skill list
|
|
201
|
-
```
|
|
220
|
+
**Deprecated:** `cursortoys skill …` still works but prints a deprecation notice — use `skills`.
|
|
221
|
+
|
|
222
|
+
Bundled skills: **`http`** (`cursor-toys-http`) — HTTP `.req` files, hooks, `@SETTER`/`@GETTER`; **`cli`** (`cursortoys-cli`) — CLI commands, flags, and CI usage.
|
|
202
223
|
|
|
203
224
|
### LLM Instructions
|
|
204
225
|
|
|
205
226
|
```bash
|
|
227
|
+
# Full instructions (llms.txt)
|
|
206
228
|
cursortoys --llm
|
|
229
|
+
|
|
230
|
+
# Filter by topic (case-insensitive)
|
|
231
|
+
cursortoys --llm --grep http
|
|
232
|
+
|
|
233
|
+
# Line numbers only
|
|
234
|
+
cursortoys --llm --grep http --indices
|
|
235
|
+
|
|
236
|
+
# Section index (## / ### headings)
|
|
237
|
+
cursortoys --llm --indices
|
|
207
238
|
```
|
|
208
239
|
|
|
209
240
|
## HTTP Test Output
|
|
@@ -227,12 +258,14 @@ Exit code is `0` if all tests passed, `1` if any failed or no files were run.
|
|
|
227
258
|
|
|
228
259
|
## Integration with CursorToys Extension
|
|
229
260
|
|
|
230
|
-
The CLI matches the CursorToys VS Code extension:
|
|
261
|
+
The CLI matches the CursorToys VS Code extension (v2026.6.11+ for HTTP extensions):
|
|
231
262
|
|
|
232
|
-
- Same `.req
|
|
263
|
+
- Same `.req`, `.request`, `.http`, and `.rest` file format
|
|
264
|
+
- REST Client system dynamic variables (`{{$guid}}`, `{{$timestamp}}`, `{{$dotenv}}`, etc.)
|
|
233
265
|
- Project-root `.env*` files (not under `http/`)
|
|
234
266
|
- Same base folder configuration
|
|
235
|
-
-
|
|
267
|
+
- Directory hooks (`__before__` / `__after__`), `@SETTER` / `@GETTER` chaining, and `@assert` blocks
|
|
268
|
+
- Compatible with Cursor AI Agent Skills (`skills add`, `install`, `import`)
|
|
236
269
|
|
|
237
270
|
## License
|
|
238
271
|
|
package/dist/cli.js
CHANGED
|
@@ -42,21 +42,23 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
42
42
|
const http_test_1 = require("./commands/http-test");
|
|
43
43
|
const skill_add_1 = require("./commands/skill-add");
|
|
44
44
|
const skill_install_1 = require("./commands/skill-install");
|
|
45
|
+
const skills_import_1 = require("./commands/skills-import");
|
|
45
46
|
const path = __importStar(require("path"));
|
|
46
|
-
const
|
|
47
|
+
const package_json_1 = require("../package.json");
|
|
48
|
+
const llmOutput_1 = require("./llmOutput");
|
|
47
49
|
const program = new commander_1.Command();
|
|
48
50
|
program
|
|
49
51
|
.name('cursortoys')
|
|
50
52
|
.description('Command-line utilities for CursorToys - HTTP testing, automation, and productivity tools')
|
|
51
|
-
.version(
|
|
53
|
+
.version(package_json_1.version);
|
|
52
54
|
program
|
|
53
55
|
.command('http test')
|
|
54
|
-
.description('Run .req
|
|
56
|
+
.description('Run HTTP request files (.req, .request, .http, .rest) in the project http folder as tests')
|
|
55
57
|
.option('-p, --project <dir>', 'Project directory (default: cwd)')
|
|
56
58
|
.option('--base-folder <name>', 'Base folder name (default: cursor, or CURSORTOYS_BASE_FOLDER)')
|
|
57
59
|
.option('-e, --env <name>', 'Environment to use (overrides # @env in file; loads .env.{name} at project root)')
|
|
58
60
|
.option('-t, --timeout <seconds>', 'Request timeout in seconds (default: 10)', '10')
|
|
59
|
-
.option('-f, --file <path>', 'Run a single
|
|
61
|
+
.option('-f, --file <path>', 'Run a single request file or a directory of request files')
|
|
60
62
|
.option('--folder <path>', 'Run all request files under this subfolder of the http directory')
|
|
61
63
|
.option('-V, --verbose', 'Show request and response for each test')
|
|
62
64
|
.option('--var <key=value>', 'Override variable (KEY=value); can be repeated', (v, acc) => {
|
|
@@ -191,7 +193,7 @@ program
|
|
|
191
193
|
console.log(chalk_1.default.dim(`Time: ${duration}s`));
|
|
192
194
|
}
|
|
193
195
|
else {
|
|
194
|
-
console.log(chalk_1.default.yellow(' No .req
|
|
196
|
+
console.log(chalk_1.default.yellow(' No HTTP request files (.req, .request, .http, .rest) found in the http folder.'));
|
|
195
197
|
console.log(chalk_1.default.dim(`Time: ${duration}s`));
|
|
196
198
|
}
|
|
197
199
|
process.exit(1);
|
|
@@ -209,125 +211,194 @@ program
|
|
|
209
211
|
console.log(chalk_1.default.dim(`Time: ${duration}s`));
|
|
210
212
|
process.exit(failed.length > 0 ? 1 : 0);
|
|
211
213
|
});
|
|
212
|
-
|
|
213
|
-
const skillCommand = program
|
|
214
|
-
.command('skill')
|
|
215
|
-
.description('Manage AI agent skills');
|
|
216
|
-
skillCommand
|
|
217
|
-
.command('add <name>')
|
|
218
|
-
.description('Create a new skill file with a template')
|
|
219
|
-
.option('-d, --description <text>', 'Skill description')
|
|
220
|
-
.option('-t, --target <type>', 'Target directory (personal or project)', 'personal')
|
|
221
|
-
.option('-p, --project <dir>', 'Project directory (required if target is project)')
|
|
222
|
-
.option('--base-folder <name>', 'Base folder name (default: cursor, or CURSORTOYS_BASE_FOLDER)')
|
|
223
|
-
.action(async (name, opts) => {
|
|
224
|
-
const baseFolder = opts.baseFolder || process.env.CURSORTOYS_BASE_FOLDER || 'cursor';
|
|
214
|
+
function resolveSkillTarget(opts, subcommand) {
|
|
225
215
|
const target = opts.target === 'project' ? 'project' : 'personal';
|
|
226
|
-
// Validate target
|
|
227
216
|
if (target === 'project' && !opts.project) {
|
|
228
217
|
console.log(chalk_1.default.red('Error: --project is required when target is "project"'));
|
|
229
|
-
console.log(chalk_1.default.dim(
|
|
218
|
+
console.log(chalk_1.default.dim(`Usage: cursortoys skills ${subcommand} ... -t project -p /path/to/project`));
|
|
230
219
|
process.exit(1);
|
|
231
220
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
target
|
|
241
|
-
|
|
242
|
-
|
|
221
|
+
return target;
|
|
222
|
+
}
|
|
223
|
+
function registerSkillsSubcommands(skillsCommand) {
|
|
224
|
+
skillsCommand
|
|
225
|
+
.command('add <name>')
|
|
226
|
+
.description('Create a new skill file with a template')
|
|
227
|
+
.option('-d, --description <text>', 'Skill description')
|
|
228
|
+
.option('-t, --target <type>', 'Target directory (personal or project)', 'personal')
|
|
229
|
+
.option('-p, --project <dir>', 'Project directory (required if target is project)')
|
|
230
|
+
.option('--base-folder <name>', 'Base folder name (default: cursor, or CURSORTOYS_BASE_FOLDER)')
|
|
231
|
+
.action(async (name, opts) => {
|
|
232
|
+
const baseFolder = opts.baseFolder || process.env.CURSORTOYS_BASE_FOLDER || 'cursor';
|
|
233
|
+
const target = resolveSkillTarget(opts, 'add');
|
|
234
|
+
if (!target)
|
|
235
|
+
return;
|
|
236
|
+
console.log(chalk_1.default.dim(`Creating skill: ${name}`));
|
|
237
|
+
console.log(chalk_1.default.dim(`Target: ${target}`));
|
|
238
|
+
if (opts.description) {
|
|
239
|
+
console.log(chalk_1.default.dim(`Description: ${opts.description}`));
|
|
240
|
+
}
|
|
241
|
+
const result = await (0, skill_add_1.addSkill)({
|
|
242
|
+
name,
|
|
243
|
+
description: opts.description,
|
|
244
|
+
target,
|
|
245
|
+
project: opts.project,
|
|
246
|
+
baseFolder,
|
|
247
|
+
});
|
|
248
|
+
if (result.success && result.filePath) {
|
|
249
|
+
console.log('');
|
|
250
|
+
console.log(chalk_1.default.green('✓ Skill created successfully!'));
|
|
251
|
+
console.log('');
|
|
252
|
+
console.log(chalk_1.default.dim('File: ') + result.filePath);
|
|
253
|
+
console.log('');
|
|
254
|
+
console.log(chalk_1.default.dim('Edit the SKILL.md file to customize the skill.'));
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
console.log('');
|
|
258
|
+
console.log(chalk_1.default.red('✗ Failed to create skill'));
|
|
259
|
+
console.log(chalk_1.default.red(result.error || 'Unknown error'));
|
|
260
|
+
process.exit(1);
|
|
261
|
+
}
|
|
243
262
|
});
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
263
|
+
skillsCommand
|
|
264
|
+
.command('install [name]')
|
|
265
|
+
.description('Install a bundled official skill (default: http)')
|
|
266
|
+
.option('-t, --target <type>', 'Target directory (personal or project)', 'personal')
|
|
267
|
+
.option('-p, --project <dir>', 'Project directory (required if target is project)')
|
|
268
|
+
.option('--base-folder <name>', 'Base folder name (default: cursor, or CURSORTOYS_BASE_FOLDER)')
|
|
269
|
+
.option('-f, --force', 'Overwrite existing skill')
|
|
270
|
+
.action(async (name, opts) => {
|
|
271
|
+
const skillName = name ?? 'http';
|
|
272
|
+
const baseFolder = opts.baseFolder || process.env.CURSORTOYS_BASE_FOLDER || 'cursor';
|
|
273
|
+
const target = resolveSkillTarget(opts, 'install');
|
|
274
|
+
if (!target)
|
|
275
|
+
return;
|
|
276
|
+
console.log(chalk_1.default.dim(`Installing skill: ${skillName}`));
|
|
277
|
+
console.log(chalk_1.default.dim(`Target: ${target}`));
|
|
278
|
+
console.log(chalk_1.default.dim(`Install names: ${(0, skill_install_1.listBundledSkillInstallNames)().join(', ')}`));
|
|
279
|
+
const result = await (0, skill_install_1.installSkill)({
|
|
280
|
+
name: skillName,
|
|
281
|
+
target,
|
|
282
|
+
project: opts.project,
|
|
283
|
+
baseFolder,
|
|
284
|
+
force: opts.force,
|
|
285
|
+
});
|
|
286
|
+
if (result.success && result.filePath) {
|
|
287
|
+
console.log('');
|
|
288
|
+
if (result.reinstalled) {
|
|
289
|
+
console.log(chalk_1.default.green('✓ Skill reinstalled successfully!'));
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
console.log(chalk_1.default.green('✓ Skill installed successfully!'));
|
|
293
|
+
}
|
|
294
|
+
console.log('');
|
|
295
|
+
console.log(chalk_1.default.dim('Skill id: ') + (result.skillId ?? skillName));
|
|
296
|
+
console.log(chalk_1.default.dim('File: ') + result.filePath);
|
|
297
|
+
console.log('');
|
|
298
|
+
const entry = result.skillId ? (0, skill_install_1.getBundledSkillEntry)(result.skillId) : undefined;
|
|
299
|
+
if (entry) {
|
|
300
|
+
console.log(chalk_1.default.dim(entry.summary));
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
console.log('');
|
|
305
|
+
console.log(chalk_1.default.red('✗ Failed to install skill'));
|
|
306
|
+
console.log(chalk_1.default.red(result.error || 'Unknown error'));
|
|
307
|
+
process.exit(1);
|
|
308
|
+
}
|
|
284
309
|
});
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
310
|
+
skillsCommand
|
|
311
|
+
.command('import <url>')
|
|
312
|
+
.description('Import a skill folder from a GitHub URL (/tree/{branch}/{folder})')
|
|
313
|
+
.option('-t, --target <type>', 'Target directory (personal or project)', 'personal')
|
|
314
|
+
.option('-p, --project <dir>', 'Project directory (required if target is project)')
|
|
315
|
+
.option('--base-folder <name>', 'Base folder name (default: cursor, or CURSORTOYS_BASE_FOLDER)')
|
|
316
|
+
.option('-f, --force', 'Overwrite existing skill folder')
|
|
317
|
+
.action(async (url, opts) => {
|
|
318
|
+
const baseFolder = opts.baseFolder || process.env.CURSORTOYS_BASE_FOLDER || 'cursor';
|
|
319
|
+
const target = resolveSkillTarget(opts, 'import');
|
|
320
|
+
if (!target)
|
|
321
|
+
return;
|
|
322
|
+
console.log(chalk_1.default.dim(`Importing from: ${url}`));
|
|
323
|
+
console.log(chalk_1.default.dim(`Target: ${target}`));
|
|
324
|
+
const result = await (0, skills_import_1.importSkill)({
|
|
325
|
+
url,
|
|
326
|
+
target,
|
|
327
|
+
project: opts.project,
|
|
328
|
+
baseFolder,
|
|
329
|
+
force: opts.force,
|
|
330
|
+
});
|
|
331
|
+
if (result.success && result.filePath) {
|
|
332
|
+
console.log('');
|
|
333
|
+
console.log(chalk_1.default.green('✓ Skill imported successfully!'));
|
|
334
|
+
console.log('');
|
|
335
|
+
console.log(chalk_1.default.dim('Skill: ') + (result.skillName ?? ''));
|
|
336
|
+
console.log(chalk_1.default.dim('Files: ') + String(result.fileCount ?? 0));
|
|
337
|
+
console.log(chalk_1.default.dim('SKILL.md: ') + result.filePath);
|
|
289
338
|
}
|
|
290
339
|
else {
|
|
291
|
-
console.log(
|
|
340
|
+
console.log('');
|
|
341
|
+
console.log(chalk_1.default.red('✗ Failed to import skill'));
|
|
342
|
+
console.log(chalk_1.default.red(result.error || 'Unknown error'));
|
|
343
|
+
process.exit(1);
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
skillsCommand
|
|
347
|
+
.command('list')
|
|
348
|
+
.description('List official bundled skills available for install')
|
|
349
|
+
.action(() => {
|
|
350
|
+
const skills = (0, skill_install_1.listBundledSkills)();
|
|
351
|
+
console.log(chalk_1.default.bold('Official bundled skills'));
|
|
352
|
+
for (const skill of skills) {
|
|
353
|
+
const installName = skill.aliases[0] ?? skill.id;
|
|
354
|
+
const aliasNote = skill.aliases.length > 0 ? chalk_1.default.dim(` (${skill.id})`) : '';
|
|
355
|
+
console.log(` ${chalk_1.default.cyan(installName)}${aliasNote}`);
|
|
356
|
+
console.log(chalk_1.default.dim(` ${skill.summary}`));
|
|
292
357
|
}
|
|
293
358
|
console.log('');
|
|
294
|
-
console.log(chalk_1.default.dim('
|
|
295
|
-
console.log(chalk_1.default.dim('
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
});
|
|
306
|
-
skillCommand
|
|
307
|
-
.command('list')
|
|
308
|
-
.description('List bundled skills available for install')
|
|
309
|
-
.action(() => {
|
|
310
|
-
const aliases = (0, skill_install_1.listBundledSkillAliases)();
|
|
311
|
-
console.log(chalk_1.default.bold('Bundled skills'));
|
|
312
|
-
for (const alias of aliases) {
|
|
313
|
-
console.log(` ${chalk_1.default.cyan(alias)}`);
|
|
314
|
-
}
|
|
315
|
-
console.log('');
|
|
316
|
-
console.log(chalk_1.default.dim('Install: cursortoys skill install <alias> [-t personal|project] [-p projectDir]'));
|
|
359
|
+
console.log(chalk_1.default.dim('Install: cursortoys skills install <name> [-t personal|project] [-p projectDir]'));
|
|
360
|
+
console.log(chalk_1.default.dim('Import: cursortoys skills import <github-folder-url> [-t personal|project] [-p projectDir]'));
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
const skillsCommand = program.command('skills').description('Manage AI agent skills');
|
|
364
|
+
registerSkillsSubcommands(skillsCommand);
|
|
365
|
+
const legacySkillCommand = program
|
|
366
|
+
.command('skill')
|
|
367
|
+
.description('(deprecated) Use "skills" instead')
|
|
368
|
+
.hook('preAction', () => {
|
|
369
|
+
console.error(chalk_1.default.yellow('Deprecation: use "cursortoys skills" instead of "cursortoys skill".'));
|
|
317
370
|
});
|
|
371
|
+
registerSkillsSubcommands(legacySkillCommand);
|
|
318
372
|
// LLM instructions command
|
|
319
373
|
program
|
|
320
374
|
.option('--llm', 'Show LLM instructions for using this CLI')
|
|
375
|
+
.option('--grep <pattern>', 'Filter llms.txt lines (case-insensitive substring)')
|
|
376
|
+
.option('--indices', 'Line references only (with --grep) or section index (without --grep)')
|
|
321
377
|
.action((opts) => {
|
|
322
378
|
if (opts.llm) {
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
379
|
+
const packageRoot = path.join(__dirname, '..');
|
|
380
|
+
const llmsPath = path.join(packageRoot, 'llms.txt');
|
|
381
|
+
if (opts.grep !== undefined) {
|
|
382
|
+
const grepCheck = (0, llmOutput_1.validateGrepPattern)(opts.grep);
|
|
383
|
+
if (!grepCheck.ok) {
|
|
384
|
+
console.error(chalk_1.default.red(`Error: ${grepCheck.error}`));
|
|
385
|
+
process.exit(1);
|
|
386
|
+
}
|
|
327
387
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
388
|
+
try {
|
|
389
|
+
const content = (0, llmOutput_1.loadLlmsContent)(packageRoot);
|
|
390
|
+
const output = (0, llmOutput_1.formatLlmsOutput)({
|
|
391
|
+
content,
|
|
392
|
+
grep: opts.grep,
|
|
393
|
+
indices: opts.indices,
|
|
394
|
+
});
|
|
395
|
+
if (output.length > 0) {
|
|
396
|
+
process.stdout.write(output.endsWith('\n') ? output : output + '\n');
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
catch (err) {
|
|
400
|
+
console.error(chalk_1.default.red('Error: llms.txt file not found'));
|
|
401
|
+
console.error(chalk_1.default.dim('Expected location: ') + llmsPath);
|
|
331
402
|
process.exit(1);
|
|
332
403
|
}
|
|
333
404
|
process.exit(0);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-test.d.ts","sourceRoot":"","sources":["../../src/commands/http-test.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-test.d.ts","sourceRoot":"","sources":["../../src/commands/http-test.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAepD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwLD;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAgUlF"}
|
|
@@ -42,6 +42,7 @@ const assertionValidator_1 = require("../assertionValidator");
|
|
|
42
42
|
const projectEnv_1 = require("../projectEnv");
|
|
43
43
|
const responseChainParser_1 = require("../responseChainParser");
|
|
44
44
|
const responseChain_1 = require("../responseChain");
|
|
45
|
+
const httpRequestExtensions_1 = require("../httpRequestExtensions");
|
|
45
46
|
function getWorkspacePath(opts) {
|
|
46
47
|
return opts.project ? path.resolve(opts.project) : process.cwd();
|
|
47
48
|
}
|
|
@@ -54,31 +55,24 @@ function getHttpPath(workspacePath, baseFolder) {
|
|
|
54
55
|
return path.join(workspacePath, `.${baseFolder}`, 'http');
|
|
55
56
|
}
|
|
56
57
|
function isRequestFile(filePath) {
|
|
57
|
-
|
|
58
|
-
return ext === '.req' || filePath.endsWith('.request');
|
|
58
|
+
return (0, httpRequestExtensions_1.isHttpRequestFilePath)(filePath);
|
|
59
59
|
}
|
|
60
60
|
function isReservedHookBasename(filePath) {
|
|
61
|
-
|
|
62
|
-
if (!(ext === '.req' || ext === '.request'))
|
|
63
|
-
return false;
|
|
64
|
-
const base = path.basename(filePath, ext);
|
|
65
|
-
return base === '__before__' || base === '__after__';
|
|
61
|
+
return (0, httpRequestExtensions_1.isHttpHookFilePath)(filePath);
|
|
66
62
|
}
|
|
67
63
|
function findReservedHookFiles(dir) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
? afterRequest
|
|
81
|
-
: undefined;
|
|
64
|
+
let before;
|
|
65
|
+
let after;
|
|
66
|
+
for (const ext of httpRequestExtensions_1.HTTP_REQUEST_EXTENSIONS) {
|
|
67
|
+
const beforePath = path.join(dir, `__before__.${ext}`);
|
|
68
|
+
const afterPath = path.join(dir, `__after__.${ext}`);
|
|
69
|
+
if (!before && fs.existsSync(beforePath)) {
|
|
70
|
+
before = beforePath;
|
|
71
|
+
}
|
|
72
|
+
if (!after && fs.existsSync(afterPath)) {
|
|
73
|
+
after = afterPath;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
82
76
|
return { before, after };
|
|
83
77
|
}
|
|
84
78
|
function listRequestFilesInDirectory(dir) {
|
|
@@ -101,7 +95,7 @@ function listSubdirectories(dir) {
|
|
|
101
95
|
return dirs.sort();
|
|
102
96
|
}
|
|
103
97
|
/**
|
|
104
|
-
* Collects all
|
|
98
|
+
* Collects all HTTP request files under a directory (recursive).
|
|
105
99
|
*/
|
|
106
100
|
function discoverInDirectory(dir) {
|
|
107
101
|
const files = [];
|