@sysprompthub/cli 0.1.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/LICENSE +15 -0
- package/README.md +90 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +60 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/sync.d.ts +3 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +94 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/package.json +42 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# @sysprompthub/cli
|
|
2
|
+
|
|
3
|
+
Command-line interface for syncing system prompts from SysPromptHub to your projects.
|
|
4
|
+
|
|
5
|
+
For programmatic usage, see [@sysprompthub/sdk](../nodejs_sdk).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @sysprompthub/cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## CLI Usage
|
|
14
|
+
|
|
15
|
+
### Sync Command
|
|
16
|
+
|
|
17
|
+
Sync a prompt pack to your project:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Basic usage
|
|
21
|
+
sysprompthub sync user/pack/latest
|
|
22
|
+
|
|
23
|
+
# Specify assistants
|
|
24
|
+
sysprompthub sync user/pack/123 --copilot --claude
|
|
25
|
+
|
|
26
|
+
# Output to stdout instead of writing files
|
|
27
|
+
sysprompthub sync user/pack/latest --stdout
|
|
28
|
+
|
|
29
|
+
# Use custom API URL
|
|
30
|
+
sysprompthub sync user/pack/latest --api-url https://api.custom.com
|
|
31
|
+
|
|
32
|
+
# Use custom working directory
|
|
33
|
+
sysprompthub sync user/pack/latest --cwd /path/to/project
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Init Command
|
|
37
|
+
|
|
38
|
+
Create a `.sysprompthub.json` configuration file:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Interactive setup
|
|
42
|
+
sysprompthub init
|
|
43
|
+
|
|
44
|
+
# With options
|
|
45
|
+
sysprompthub init --pack user/pack/latest --copilot --claude
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Configuration File
|
|
49
|
+
|
|
50
|
+
Create a `.sysprompthub.json` file in your project root:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"packName": "user/pack/latest",
|
|
55
|
+
"assistants": ["copilot", "claude"],
|
|
56
|
+
"apiUrl": "https://api-dev.sysprompthub.com"
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
When a config file exists, you can run `sysprompthub sync` without arguments.
|
|
61
|
+
|
|
62
|
+
## SDK Usage
|
|
63
|
+
|
|
64
|
+
For programmatic usage in your Node.js applications, use the [@sysprompthub/sdk](../nodejs_sdk) package:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install @sysprompthub/sdk
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
See the [SDK documentation](../nodejs_sdk/README.md) for API details.
|
|
71
|
+
|
|
72
|
+
## Development
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Install dependencies
|
|
76
|
+
npm install
|
|
77
|
+
|
|
78
|
+
# Build
|
|
79
|
+
npm run build
|
|
80
|
+
|
|
81
|
+
# Type check
|
|
82
|
+
npm run typecheck
|
|
83
|
+
|
|
84
|
+
# Run CLI in development
|
|
85
|
+
npm run dev -- sync user/pack/latest
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## License
|
|
89
|
+
|
|
90
|
+
ISC
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,iBAAiB,IAAI,OAAO,CAsD3C"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { writeFile } from 'fs/promises';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { CONFIG_FILE_NAME, VscodeConfigManager } from '@sysprompthub/sdk';
|
|
5
|
+
function getAssistants(copilot, claude) {
|
|
6
|
+
const assistants = [];
|
|
7
|
+
if (copilot)
|
|
8
|
+
assistants.push('copilot');
|
|
9
|
+
if (claude)
|
|
10
|
+
assistants.push('claude');
|
|
11
|
+
return assistants.length > 0 ? assistants : ['copilot'];
|
|
12
|
+
}
|
|
13
|
+
export function createInitCommand() {
|
|
14
|
+
const command = new Command('init');
|
|
15
|
+
command
|
|
16
|
+
.description('Initialize a .sysprompthub.json config file')
|
|
17
|
+
.option('--pack <name>', 'Prompt pack name')
|
|
18
|
+
.option('--copilot', 'Enable GitHub Copilot', false)
|
|
19
|
+
.option('--claude', 'Enable Claude', false)
|
|
20
|
+
.option('--environment <env>', 'Environment (local or development)', 'development')
|
|
21
|
+
.option('--vscode', 'Create .vscode/settings.json instead of .sysprompthub.json', false)
|
|
22
|
+
.option('--cwd <dir>', 'Working directory', process.cwd())
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
try {
|
|
25
|
+
if (options.vscode) {
|
|
26
|
+
const vscodeManager = new VscodeConfigManager(options.cwd);
|
|
27
|
+
const settings = await vscodeManager.init({
|
|
28
|
+
pack: options.pack,
|
|
29
|
+
copilot: options.copilot,
|
|
30
|
+
claude: options.claude,
|
|
31
|
+
environment: options.environment
|
|
32
|
+
});
|
|
33
|
+
console.log(`✓ Created .vscode/settings.json`);
|
|
34
|
+
console.log(JSON.stringify(settings, null, 2));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const config = {
|
|
38
|
+
packName: options.pack,
|
|
39
|
+
assistants: getAssistants(options.copilot, options.claude),
|
|
40
|
+
environment: options.environment
|
|
41
|
+
};
|
|
42
|
+
const configPath = join(options.cwd, CONFIG_FILE_NAME);
|
|
43
|
+
await writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
44
|
+
console.log(`✓ Created ${CONFIG_FILE_NAME}`);
|
|
45
|
+
console.log(JSON.stringify(config, null, 2));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof Error) {
|
|
50
|
+
console.error(`Error: ${error.message}`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
console.error('An unknown error occurred');
|
|
54
|
+
}
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return command;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,iBAAiB,IAAI,OAAO,CAsG3C"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { SyncManager, ConfigManager, DEFAULT_ENVIRONMENT, VSCODE_SETTINGS_PATH } from '@sysprompthub/sdk';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
export function createSyncCommand() {
|
|
6
|
+
const command = new Command('sync');
|
|
7
|
+
command
|
|
8
|
+
.description('Sync system prompts from SysPromptHub')
|
|
9
|
+
.argument('[pack]', 'Prompt pack name in format user/pack/version')
|
|
10
|
+
.option('--copilot', 'Enable GitHub Copilot')
|
|
11
|
+
.option('--claude', 'Enable Claude')
|
|
12
|
+
.option('--stdout', 'Output to stdout instead of writing files', false)
|
|
13
|
+
.option('--vscode', 'Use .vscode/settings.json instead of .sysprompthub.json', false)
|
|
14
|
+
.option('--cwd <dir>', 'Working directory', process.cwd())
|
|
15
|
+
.option('-e, --environment <env>', '')
|
|
16
|
+
.action(async (packArg, options) => {
|
|
17
|
+
try {
|
|
18
|
+
// Load config file
|
|
19
|
+
const configManager = new ConfigManager(options.cwd);
|
|
20
|
+
const config = await configManager.load();
|
|
21
|
+
// Determine pack name
|
|
22
|
+
const packName = packArg || config?.packName;
|
|
23
|
+
if (!packName) {
|
|
24
|
+
console.error('Error: Pack name is required. Provide it as an argument or in .sysprompthub.json');
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
if (!ConfigManager.validatePackName(packName)) {
|
|
28
|
+
console.error('Error: Invalid pack name format. Expected: user/pack/version (e.g., example-user/example-pack/latest)');
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
// Determine assistants
|
|
32
|
+
let assistants;
|
|
33
|
+
if (options.copilot !== undefined || options.claude !== undefined) {
|
|
34
|
+
assistants = [];
|
|
35
|
+
if (options.copilot)
|
|
36
|
+
assistants.push('copilot');
|
|
37
|
+
if (options.claude)
|
|
38
|
+
assistants.push('claude');
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
assistants = config?.assistants || ['copilot'];
|
|
42
|
+
}
|
|
43
|
+
// Determine environment
|
|
44
|
+
const environment = options.environment || config?.environment || DEFAULT_ENVIRONMENT;
|
|
45
|
+
// Check if config needs updating or creating
|
|
46
|
+
const configChanged = !config || (config.packName !== packName ||
|
|
47
|
+
JSON.stringify(config.assistants?.sort()) !== JSON.stringify(assistants.sort()));
|
|
48
|
+
// Update or create config if needed
|
|
49
|
+
if (configChanged && !options.stdout) {
|
|
50
|
+
const updates = {
|
|
51
|
+
packName,
|
|
52
|
+
assistants,
|
|
53
|
+
environment
|
|
54
|
+
};
|
|
55
|
+
// Check which config file to use
|
|
56
|
+
const vscodeSettingsPath = join(options.cwd, VSCODE_SETTINGS_PATH);
|
|
57
|
+
if (options.vscode || existsSync(vscodeSettingsPath)) {
|
|
58
|
+
const vscodeManager = configManager.getVscodeManager();
|
|
59
|
+
await vscodeManager.update(updates);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
await configManager.update(updates);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Sync
|
|
66
|
+
const syncManager = new SyncManager(options.cwd);
|
|
67
|
+
const prompt = await syncManager.sync({
|
|
68
|
+
packName,
|
|
69
|
+
assistants,
|
|
70
|
+
environment,
|
|
71
|
+
cwd: options.cwd,
|
|
72
|
+
stdout: options.stdout
|
|
73
|
+
});
|
|
74
|
+
if (options.stdout) {
|
|
75
|
+
console.log(prompt);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.log(`✓ Successfully synced prompt pack: ${packName}`);
|
|
79
|
+
console.log(` Assistants: ${assistants.join(', ')}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (error instanceof Error) {
|
|
84
|
+
console.error(`Error: ${error.message}`);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
console.error('An unknown error occurred');
|
|
88
|
+
}
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return command;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;SACJ,WAAW,CAAC,uCAAuC,CAAC;SACpD,QAAQ,CAAC,QAAQ,EAAE,8CAA8C,CAAC;SAClE,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC5C,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,UAAU,EAAE,2CAA2C,EAAE,KAAK,CAAC;SACtE,MAAM,CAAC,UAAU,EAAE,yDAAyD,EAAE,KAAK,CAAC;SACpF,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACzD,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,OAO3C,EAAE,EAAE;QACH,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAE1C,sBAAsB;YACtB,MAAM,QAAQ,GAAG,OAAO,IAAI,MAAM,EAAE,QAAQ,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;gBAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;gBACvH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,uBAAuB;YACvB,IAAI,UAA2B,CAAC;YAChC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClE,UAAU,GAAG,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,OAAO;oBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,OAAO,CAAC,MAAM;oBAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,EAAE,WAAW,IAAI,mBAAmB,CAAC;YAEtF,6CAA6C;YAC7C,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAC/B,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAChF,CAAC;YAEF,oCAAoC;YACpC,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG;oBACd,QAAQ;oBACR,UAAU;oBACV,WAAW;iBACZ,CAAC;gBAEF,iCAAiC;gBACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;gBAEnE,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACrD,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBACvD,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,OAAO;YACP,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC;gBACpC,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { createSyncCommand } from './commands/sync.js';
|
|
4
|
+
import { createInitCommand } from './commands/init.js';
|
|
5
|
+
const program = new Command();
|
|
6
|
+
program
|
|
7
|
+
.name('sysprompthub')
|
|
8
|
+
.description('CLI for syncing system prompts from SysPromptHub')
|
|
9
|
+
.version('0.1.0');
|
|
10
|
+
program.addCommand(createSyncCommand());
|
|
11
|
+
program.addCommand(createInitCommand());
|
|
12
|
+
program.parse();
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAExC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sysprompthub/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "CLI for syncing system prompts from SysPromptHub",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"sysprompthub": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"dev": "tsx src/index.ts",
|
|
16
|
+
"typecheck": "tsc --noEmit"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"ai",
|
|
20
|
+
"prompts",
|
|
21
|
+
"system-prompts",
|
|
22
|
+
"copilot",
|
|
23
|
+
"claude",
|
|
24
|
+
"cli",
|
|
25
|
+
"sysprompthub"
|
|
26
|
+
],
|
|
27
|
+
"author": "",
|
|
28
|
+
"license": "ISC",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=18.0.0"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@sysprompthub/sdk": "^0.1.0",
|
|
34
|
+
"commander": "^14.0.2"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^25.0.3",
|
|
38
|
+
"tsx": "^4.21.0",
|
|
39
|
+
"typescript": "^5.9.3"
|
|
40
|
+
},
|
|
41
|
+
"packageManager": "pnpm@9.0.0+sha512.b4106707c7225b1748b61595953ccbebff97b54ad05d002aa3635f633b9c53cd666f7ce9b8bc44704f1fa048b9a49b55371ab2d9e9d667d1efe2ef1514bcd513"
|
|
42
|
+
}
|