overskill 1.0.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.
Files changed (151) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +261 -0
  3. package/dist/commands/add.d.ts +3 -0
  4. package/dist/commands/add.d.ts.map +1 -0
  5. package/dist/commands/add.js +121 -0
  6. package/dist/commands/add.js.map +1 -0
  7. package/dist/commands/bundle.d.ts +3 -0
  8. package/dist/commands/bundle.d.ts.map +1 -0
  9. package/dist/commands/bundle.js +58 -0
  10. package/dist/commands/bundle.js.map +1 -0
  11. package/dist/commands/config.d.ts +3 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +109 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/delete.d.ts +3 -0
  16. package/dist/commands/delete.d.ts.map +1 -0
  17. package/dist/commands/delete.js +64 -0
  18. package/dist/commands/delete.js.map +1 -0
  19. package/dist/commands/diff.d.ts +3 -0
  20. package/dist/commands/diff.d.ts.map +1 -0
  21. package/dist/commands/diff.js +93 -0
  22. package/dist/commands/diff.js.map +1 -0
  23. package/dist/commands/edit.d.ts +3 -0
  24. package/dist/commands/edit.d.ts.map +1 -0
  25. package/dist/commands/edit.js +69 -0
  26. package/dist/commands/edit.js.map +1 -0
  27. package/dist/commands/import.d.ts +3 -0
  28. package/dist/commands/import.d.ts.map +1 -0
  29. package/dist/commands/import.js +514 -0
  30. package/dist/commands/import.js.map +1 -0
  31. package/dist/commands/info.d.ts +3 -0
  32. package/dist/commands/info.d.ts.map +1 -0
  33. package/dist/commands/info.js +89 -0
  34. package/dist/commands/info.js.map +1 -0
  35. package/dist/commands/init.d.ts +3 -0
  36. package/dist/commands/init.d.ts.map +1 -0
  37. package/dist/commands/init.js +88 -0
  38. package/dist/commands/init.js.map +1 -0
  39. package/dist/commands/list.d.ts +3 -0
  40. package/dist/commands/list.d.ts.map +1 -0
  41. package/dist/commands/list.js +84 -0
  42. package/dist/commands/list.js.map +1 -0
  43. package/dist/commands/login.d.ts +3 -0
  44. package/dist/commands/login.d.ts.map +1 -0
  45. package/dist/commands/login.js +143 -0
  46. package/dist/commands/login.js.map +1 -0
  47. package/dist/commands/new.d.ts +3 -0
  48. package/dist/commands/new.d.ts.map +1 -0
  49. package/dist/commands/new.js +262 -0
  50. package/dist/commands/new.js.map +1 -0
  51. package/dist/commands/publish.d.ts +3 -0
  52. package/dist/commands/publish.d.ts.map +1 -0
  53. package/dist/commands/publish.js +215 -0
  54. package/dist/commands/publish.js.map +1 -0
  55. package/dist/commands/push.d.ts +3 -0
  56. package/dist/commands/push.d.ts.map +1 -0
  57. package/dist/commands/push.js +151 -0
  58. package/dist/commands/push.js.map +1 -0
  59. package/dist/commands/registry.d.ts +3 -0
  60. package/dist/commands/registry.d.ts.map +1 -0
  61. package/dist/commands/registry.js +169 -0
  62. package/dist/commands/registry.js.map +1 -0
  63. package/dist/commands/remove.d.ts +3 -0
  64. package/dist/commands/remove.d.ts.map +1 -0
  65. package/dist/commands/remove.js +48 -0
  66. package/dist/commands/remove.js.map +1 -0
  67. package/dist/commands/search.d.ts +3 -0
  68. package/dist/commands/search.d.ts.map +1 -0
  69. package/dist/commands/search.js +48 -0
  70. package/dist/commands/search.js.map +1 -0
  71. package/dist/commands/sync.d.ts +3 -0
  72. package/dist/commands/sync.d.ts.map +1 -0
  73. package/dist/commands/sync.js +160 -0
  74. package/dist/commands/sync.js.map +1 -0
  75. package/dist/commands/update.d.ts +3 -0
  76. package/dist/commands/update.d.ts.map +1 -0
  77. package/dist/commands/update.js +130 -0
  78. package/dist/commands/update.js.map +1 -0
  79. package/dist/commands/validate.d.ts +3 -0
  80. package/dist/commands/validate.d.ts.map +1 -0
  81. package/dist/commands/validate.js +94 -0
  82. package/dist/commands/validate.js.map +1 -0
  83. package/dist/index.d.ts +3 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +56 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/lib/api.d.ts +60 -0
  88. package/dist/lib/api.d.ts.map +1 -0
  89. package/dist/lib/api.js +340 -0
  90. package/dist/lib/api.js.map +1 -0
  91. package/dist/lib/auth.d.ts +78 -0
  92. package/dist/lib/auth.d.ts.map +1 -0
  93. package/dist/lib/auth.js +241 -0
  94. package/dist/lib/auth.js.map +1 -0
  95. package/dist/lib/config.d.ts +94 -0
  96. package/dist/lib/config.d.ts.map +1 -0
  97. package/dist/lib/config.js +294 -0
  98. package/dist/lib/config.js.map +1 -0
  99. package/dist/lib/editor.d.ts +6 -0
  100. package/dist/lib/editor.d.ts.map +1 -0
  101. package/dist/lib/editor.js +60 -0
  102. package/dist/lib/editor.js.map +1 -0
  103. package/dist/lib/fs.d.ts +74 -0
  104. package/dist/lib/fs.d.ts.map +1 -0
  105. package/dist/lib/fs.js +235 -0
  106. package/dist/lib/fs.js.map +1 -0
  107. package/dist/lib/index-gen.d.ts +18 -0
  108. package/dist/lib/index-gen.d.ts.map +1 -0
  109. package/dist/lib/index-gen.js +75 -0
  110. package/dist/lib/index-gen.js.map +1 -0
  111. package/dist/lib/local-registry/index.d.ts +15 -0
  112. package/dist/lib/local-registry/index.d.ts.map +1 -0
  113. package/dist/lib/local-registry/index.js +18 -0
  114. package/dist/lib/local-registry/index.js.map +1 -0
  115. package/dist/lib/local-registry/objects.d.ts +51 -0
  116. package/dist/lib/local-registry/objects.d.ts.map +1 -0
  117. package/dist/lib/local-registry/objects.js +148 -0
  118. package/dist/lib/local-registry/objects.js.map +1 -0
  119. package/dist/lib/local-registry/paths.d.ts +53 -0
  120. package/dist/lib/local-registry/paths.d.ts.map +1 -0
  121. package/dist/lib/local-registry/paths.js +85 -0
  122. package/dist/lib/local-registry/paths.js.map +1 -0
  123. package/dist/lib/local-registry/skills.d.ts +83 -0
  124. package/dist/lib/local-registry/skills.d.ts.map +1 -0
  125. package/dist/lib/local-registry/skills.js +261 -0
  126. package/dist/lib/local-registry/skills.js.map +1 -0
  127. package/dist/lib/local-registry/types.d.ts +79 -0
  128. package/dist/lib/local-registry/types.d.ts.map +1 -0
  129. package/dist/lib/local-registry/types.js +5 -0
  130. package/dist/lib/local-registry/types.js.map +1 -0
  131. package/dist/lib/local-registry/versions.d.ts +61 -0
  132. package/dist/lib/local-registry/versions.d.ts.map +1 -0
  133. package/dist/lib/local-registry/versions.js +163 -0
  134. package/dist/lib/local-registry/versions.js.map +1 -0
  135. package/dist/lib/lockfile.d.ts +38 -0
  136. package/dist/lib/lockfile.d.ts.map +1 -0
  137. package/dist/lib/lockfile.js +102 -0
  138. package/dist/lib/lockfile.js.map +1 -0
  139. package/dist/lib/meta-skill.d.ts +6 -0
  140. package/dist/lib/meta-skill.d.ts.map +1 -0
  141. package/dist/lib/meta-skill.js +72 -0
  142. package/dist/lib/meta-skill.js.map +1 -0
  143. package/dist/lib/semver.d.ts +63 -0
  144. package/dist/lib/semver.d.ts.map +1 -0
  145. package/dist/lib/semver.js +107 -0
  146. package/dist/lib/semver.js.map +1 -0
  147. package/dist/types.d.ts +147 -0
  148. package/dist/types.d.ts.map +1 -0
  149. package/dist/types.js +8 -0
  150. package/dist/types.js.map +1 -0
  151. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const publishCommand: Command;
3
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6EpC,eAAO,MAAM,cAAc,SA6JvB,CAAC"}
@@ -0,0 +1,215 @@
1
+ import { Command } from 'commander';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import * as os from 'os';
5
+ import { spawn } from 'child_process';
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import * as localRegistry from '../lib/local-registry/index.js';
9
+ import * as auth from '../lib/auth.js';
10
+ import { isValidVersion, bumpVersion, isGreaterThan } from '../lib/semver.js';
11
+ import * as readline from 'readline';
12
+ import { parseEditorCommand } from '../lib/editor.js';
13
+ /**
14
+ * Prompt user for input
15
+ */
16
+ async function prompt(question, defaultValue) {
17
+ const rl = readline.createInterface({
18
+ input: process.stdin,
19
+ output: process.stdout,
20
+ });
21
+ return new Promise((resolve) => {
22
+ const displayDefault = defaultValue ? ` [${defaultValue}]` : '';
23
+ rl.question(`${question}${displayDefault}: `, (answer) => {
24
+ rl.close();
25
+ resolve(answer.trim() || defaultValue || '');
26
+ });
27
+ });
28
+ }
29
+ /**
30
+ * Open content in the user's preferred editor
31
+ */
32
+ async function openInEditor(content) {
33
+ const editor = auth.getEditor();
34
+ const tempFile = path.join(os.tmpdir(), `skill-${Date.now()}.md`);
35
+ // Write initial content to temp file
36
+ fs.writeFileSync(tempFile, content, 'utf-8');
37
+ return new Promise((resolve, reject) => {
38
+ let command;
39
+ let args;
40
+ try {
41
+ const parsed = parseEditorCommand(editor);
42
+ command = parsed.command;
43
+ args = parsed.args;
44
+ }
45
+ catch (error) {
46
+ fs.unlinkSync(tempFile);
47
+ reject(error);
48
+ return;
49
+ }
50
+ const child = spawn(command, [...args, tempFile], { stdio: 'inherit' });
51
+ child.on('error', (err) => {
52
+ fs.unlinkSync(tempFile);
53
+ reject(new Error(`Failed to open editor: ${err.message}`));
54
+ });
55
+ child.on('exit', (code) => {
56
+ if (code !== 0) {
57
+ fs.unlinkSync(tempFile);
58
+ reject(new Error(`Editor exited with code ${code}`));
59
+ return;
60
+ }
61
+ // Read the edited content
62
+ const editedContent = fs.readFileSync(tempFile, 'utf-8');
63
+ fs.unlinkSync(tempFile);
64
+ resolve(editedContent);
65
+ });
66
+ });
67
+ }
68
+ export const publishCommand = new Command('publish')
69
+ .description('Publish a new version of an existing skill to the local registry')
70
+ .argument('<slug>', 'Skill slug')
71
+ .option('-v, --version <version>', 'New version (must be higher than current)')
72
+ .option('--patch', 'Bump patch version (1.0.0 -> 1.0.1)')
73
+ .option('--minor', 'Bump minor version (1.0.0 -> 1.1.0)')
74
+ .option('--major', 'Bump major version (1.0.0 -> 2.0.0)')
75
+ .option('-m, --message <message>', 'Changelog message for this version')
76
+ .option('--content <file>', 'Read new content from file')
77
+ .option('--no-editor', 'Skip editor (use current content)')
78
+ .action(async (slug, options) => {
79
+ try {
80
+ // Check if skill exists
81
+ if (!localRegistry.skillExists(slug)) {
82
+ console.log(chalk.red(`Error: Skill '${slug}' not found in local registry.`));
83
+ console.log(`Use ${chalk.cyan(`skills new ${slug}`)} to create it first.`);
84
+ process.exit(1);
85
+ }
86
+ // Get current skill info
87
+ const skillInfo = localRegistry.getSkillInfo(slug);
88
+ if (!skillInfo) {
89
+ console.log(chalk.red(`Error: Could not read skill '${slug}'.`));
90
+ process.exit(1);
91
+ }
92
+ const currentVersion = localRegistry.getLatestVersion(slug);
93
+ if (!currentVersion) {
94
+ console.log(chalk.red(`Error: Skill '${slug}' has no versions.`));
95
+ process.exit(1);
96
+ }
97
+ console.log(`Current version: ${chalk.cyan(currentVersion)}`);
98
+ // Determine new version
99
+ let newVersion;
100
+ if (options.version) {
101
+ newVersion = options.version;
102
+ }
103
+ else if (options.patch) {
104
+ newVersion = bumpVersion(currentVersion, 'patch') || '';
105
+ }
106
+ else if (options.minor) {
107
+ newVersion = bumpVersion(currentVersion, 'minor') || '';
108
+ }
109
+ else if (options.major) {
110
+ newVersion = bumpVersion(currentVersion, 'major') || '';
111
+ }
112
+ else {
113
+ // Prompt for version
114
+ const suggestedVersion = bumpVersion(currentVersion, 'patch') || '';
115
+ newVersion = await prompt('New version', suggestedVersion);
116
+ }
117
+ // Validate new version
118
+ if (!isValidVersion(newVersion)) {
119
+ console.log(chalk.red(`Error: Invalid version '${newVersion}'. Use semver format (e.g., 1.0.1).`));
120
+ process.exit(1);
121
+ }
122
+ // Check version is higher
123
+ if (!isGreaterThan(newVersion, currentVersion)) {
124
+ console.log(chalk.red(`Error: New version '${newVersion}' must be higher than current '${currentVersion}'.`));
125
+ process.exit(1);
126
+ }
127
+ // Check if version already exists
128
+ if (localRegistry.versionExists(slug, newVersion)) {
129
+ console.log(chalk.red(`Error: Version '${newVersion}' already exists.`));
130
+ process.exit(1);
131
+ }
132
+ // Get content
133
+ let content;
134
+ // Get current content
135
+ const currentSkill = localRegistry.getLatest(slug);
136
+ if (!currentSkill) {
137
+ console.log(chalk.red(`Error: Could not read current content for '${slug}'.`));
138
+ process.exit(1);
139
+ }
140
+ if (options.content) {
141
+ // Read from file
142
+ if (!fs.existsSync(options.content)) {
143
+ console.log(chalk.red(`Error: File not found: ${options.content}`));
144
+ process.exit(1);
145
+ }
146
+ content = fs.readFileSync(options.content, 'utf-8');
147
+ }
148
+ else if (options.editor === false) {
149
+ // Use current content without editing
150
+ content = currentSkill.content;
151
+ }
152
+ else {
153
+ // Open editor with current content
154
+ console.log(chalk.gray('Opening editor with current content...'));
155
+ try {
156
+ content = await openInEditor(currentSkill.content);
157
+ }
158
+ catch (error) {
159
+ console.log(chalk.red('Error:'), error instanceof Error ? error.message : error);
160
+ process.exit(1);
161
+ }
162
+ }
163
+ // Validate content
164
+ if (!content.trim()) {
165
+ console.log(chalk.red('Error: Skill content cannot be empty.'));
166
+ process.exit(1);
167
+ }
168
+ // Get changelog message
169
+ let changelog = options.message;
170
+ if (!changelog && options.editor !== false) {
171
+ changelog = await prompt('Changelog message (optional)');
172
+ }
173
+ const spinner = ora(`Publishing ${slug}@${newVersion}...`).start();
174
+ try {
175
+ // Save to local registry
176
+ const { sha256 } = localRegistry.putVersion({
177
+ slug,
178
+ version: newVersion,
179
+ content,
180
+ meta: {
181
+ name: skillInfo.meta.name,
182
+ description: skillInfo.meta.description,
183
+ tags: skillInfo.meta.tags,
184
+ compat: skillInfo.meta.compat,
185
+ },
186
+ provenance: {
187
+ kind: 'local',
188
+ source: 'created',
189
+ },
190
+ changelog: changelog || undefined,
191
+ });
192
+ spinner.succeed(`Published ${chalk.cyan(slug)}@${newVersion}`);
193
+ console.log('');
194
+ console.log('Version details:');
195
+ console.log(` ${chalk.bold('Version:')} ${newVersion}`);
196
+ console.log(` ${chalk.bold('SHA256:')} ${sha256.substring(0, 16)}...`);
197
+ if (changelog) {
198
+ console.log(` ${chalk.bold('Changelog:')} ${changelog}`);
199
+ }
200
+ console.log('');
201
+ console.log('Next steps:');
202
+ console.log(` ${chalk.cyan(`skills sync`)} Update projects using this skill`);
203
+ console.log(` ${chalk.cyan(`skills info ${slug}`)} View all versions`);
204
+ }
205
+ catch (error) {
206
+ spinner.fail('Failed to publish version');
207
+ throw error;
208
+ }
209
+ }
210
+ catch (error) {
211
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
212
+ process.exit(1);
213
+ }
214
+ });
215
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const pushCommand: Command;
3
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAiKpB,CAAC"}
@@ -0,0 +1,151 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import * as config from '../lib/config.js';
5
+ import * as api from '../lib/api.js';
6
+ import * as fs from '../lib/fs.js';
7
+ import * as lockfile from '../lib/lockfile.js';
8
+ import * as semverLib from '../lib/semver.js';
9
+ export const pushCommand = new Command('push')
10
+ .description('Publish local skill changes to a cloud registry (requires cloud source)')
11
+ .argument('[slug]', 'Skill slug to push (optional, pushes all modified if not provided)')
12
+ .option('-v, --version <version>', 'Version number for the new version')
13
+ .option('-c, --changelog <message>', 'Changelog message')
14
+ .option('--from-stdin', 'Read skill content from stdin')
15
+ .option('--create', 'Create a new skill (requires --name)')
16
+ .option('-n, --name <name>', 'Human-readable name (for --create)')
17
+ .option('-d, --description <desc>', 'Description (for --create)')
18
+ .option('-t, --tags <tags>', 'Tags (comma-separated, for --create)')
19
+ .option('--compat <compat>', 'Compatibility (comma-separated, for --create)')
20
+ .action(async (slug, options) => {
21
+ try {
22
+ // Check if initialized
23
+ if (!config.configExists()) {
24
+ console.log(chalk.red('Error: Not in a skills project.'));
25
+ console.log(`Run ${chalk.cyan('skills init')} first.`);
26
+ process.exit(1);
27
+ }
28
+ // Check for cloud sources
29
+ const cloudSources = config.getCloudSources();
30
+ if (cloudSources.length === 0) {
31
+ console.log(chalk.red('Error: This command requires a cloud source.'));
32
+ console.log('Configure a cloud source in .skills.yaml or use `skills init --cloud`.');
33
+ console.log('');
34
+ console.log('For local-only publishing, use:');
35
+ console.log(` ${chalk.cyan('skills publish <slug>')} Publish to local registry`);
36
+ process.exit(1);
37
+ }
38
+ // Handle stdin input
39
+ let stdinContent = null;
40
+ if (options.fromStdin) {
41
+ if (!slug) {
42
+ console.log(chalk.red('Error: Slug is required when using --from-stdin'));
43
+ process.exit(1);
44
+ }
45
+ const chunks = [];
46
+ for await (const chunk of process.stdin) {
47
+ chunks.push(chunk);
48
+ }
49
+ stdinContent = Buffer.concat(chunks).toString('utf-8');
50
+ }
51
+ // Determine skills to push
52
+ const skillsToPush = [];
53
+ if (slug) {
54
+ skillsToPush.push(slug);
55
+ }
56
+ else {
57
+ // Find all modified skills
58
+ const localSkills = fs.listLocalSkills();
59
+ for (const localSlug of localSkills) {
60
+ if (fs.isSkillModified(localSlug)) {
61
+ skillsToPush.push(localSlug);
62
+ }
63
+ }
64
+ if (skillsToPush.length === 0) {
65
+ console.log(chalk.yellow('No modified skills to push.'));
66
+ console.log(`Edit a skill with ${chalk.cyan('skills edit <slug>')} first.`);
67
+ return;
68
+ }
69
+ }
70
+ // Use first cloud source
71
+ const source = cloudSources[0];
72
+ for (const skillSlug of skillsToPush) {
73
+ const spinner = ora(`Pushing ${skillSlug}...`).start();
74
+ try {
75
+ // Get content
76
+ let content;
77
+ if (stdinContent && skillSlug === slug) {
78
+ content = stdinContent;
79
+ }
80
+ else {
81
+ const localContent = fs.readSkillContent(skillSlug);
82
+ if (!localContent) {
83
+ spinner.fail(`Skill ${skillSlug} not found locally`);
84
+ continue;
85
+ }
86
+ content = localContent;
87
+ }
88
+ if (options.create) {
89
+ // Create new skill
90
+ if (!options.name) {
91
+ spinner.fail('--name is required when creating a new skill');
92
+ continue;
93
+ }
94
+ const result = await api.createSkill(source.registry, {
95
+ slug: skillSlug,
96
+ name: options.name,
97
+ description: options.description,
98
+ tags: options.tags?.split(',').map((t) => t.trim()),
99
+ compat: options.compat?.split(',').map((c) => c.trim()),
100
+ content,
101
+ version: options.version || '1.0.0',
102
+ });
103
+ spinner.succeed(`Created ${chalk.cyan(skillSlug)} v${result.version} in ${source.registry}`);
104
+ }
105
+ else {
106
+ // Push new version
107
+ const locked = lockfile.getLockedSkill(skillSlug);
108
+ const currentVersion = locked?.version || '1.0.0';
109
+ // Determine new version
110
+ let newVersion = options.version;
111
+ if (!newVersion) {
112
+ newVersion = semverLib.autoBump(currentVersion);
113
+ }
114
+ if (!semverLib.isValidVersion(newVersion)) {
115
+ spinner.fail(`Invalid version: ${newVersion}`);
116
+ continue;
117
+ }
118
+ if (!semverLib.isGreaterThan(newVersion, currentVersion)) {
119
+ spinner.fail(`New version (${newVersion}) must be greater than current (${currentVersion})`);
120
+ continue;
121
+ }
122
+ // Push version
123
+ const result = await api.createVersion(source.registry, skillSlug, {
124
+ version: newVersion,
125
+ content,
126
+ changelog: options.changelog,
127
+ });
128
+ // Update lockfile
129
+ const hash = await fs.computeHash(content);
130
+ lockfile.updateLockedSkill({
131
+ slug: skillSlug,
132
+ registry: source.registry,
133
+ version: newVersion,
134
+ sha256: hash,
135
+ });
136
+ // Clear modified marker
137
+ fs.unmarkSkillModified(skillSlug);
138
+ spinner.succeed(`Pushed ${chalk.cyan(skillSlug)} v${result.version} to ${source.registry}`);
139
+ }
140
+ }
141
+ catch (error) {
142
+ spinner.fail(error instanceof Error ? error.message : String(error));
143
+ }
144
+ }
145
+ }
146
+ catch (error) {
147
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
148
+ process.exit(1);
149
+ }
150
+ });
151
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const registryCommand: Command;
3
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,eAAe,SACO,CAAC"}
@@ -0,0 +1,169 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import * as api from '../lib/api.js';
5
+ export const registryCommand = new Command('registry')
6
+ .description('Manage registries');
7
+ // List registries
8
+ registryCommand
9
+ .command('list')
10
+ .description('List all accessible registries')
11
+ .action(async () => {
12
+ try {
13
+ const spinner = ora('Fetching registries...').start();
14
+ const registries = await api.listRegistries();
15
+ spinner.stop();
16
+ if (registries.length === 0) {
17
+ console.log(chalk.yellow('No registries found.'));
18
+ return;
19
+ }
20
+ console.log(chalk.bold('Your Registries:'));
21
+ console.log('');
22
+ for (const registry of registries) {
23
+ const type = registry.type === 'personal' ? chalk.gray('(personal)') : chalk.cyan('(org)');
24
+ const role = chalk.gray(`[${registry.role}]`);
25
+ console.log(` ${chalk.cyan(registry.slug.padEnd(20))} ${type} ${role}`);
26
+ if (registry.description) {
27
+ console.log(chalk.gray(` ${registry.description}`));
28
+ }
29
+ }
30
+ }
31
+ catch (error) {
32
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
33
+ process.exit(1);
34
+ }
35
+ });
36
+ // Create registry
37
+ registryCommand
38
+ .command('create')
39
+ .description('Create a new organization registry')
40
+ .argument('<slug>', 'Registry slug')
41
+ .option('-n, --name <name>', 'Registry name')
42
+ .option('-d, --description <desc>', 'Registry description')
43
+ .action(async (slug, options) => {
44
+ try {
45
+ const spinner = ora('Creating registry...').start();
46
+ const registry = await api.createRegistry(slug, options.name || slug, {
47
+ description: options.description,
48
+ type: 'organization',
49
+ });
50
+ spinner.succeed(`Created registry ${chalk.cyan(registry.slug)}`);
51
+ }
52
+ catch (error) {
53
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
54
+ process.exit(1);
55
+ }
56
+ });
57
+ // List members
58
+ registryCommand
59
+ .command('members')
60
+ .description('List members of a registry')
61
+ .argument('<slug>', 'Registry slug')
62
+ .action(async (slug) => {
63
+ try {
64
+ const spinner = ora('Fetching members...').start();
65
+ const members = await api.listMembers(slug);
66
+ spinner.stop();
67
+ if (members.length === 0) {
68
+ console.log(chalk.yellow('No members found.'));
69
+ return;
70
+ }
71
+ console.log(chalk.bold(`Members of ${slug}:`));
72
+ console.log('');
73
+ for (const member of members) {
74
+ const roleColor = member.role === 'admin' ? chalk.red : member.role === 'contributor' ? chalk.yellow : chalk.gray;
75
+ console.log(` ${member.username.padEnd(20)} ${roleColor(member.role)}`);
76
+ }
77
+ }
78
+ catch (error) {
79
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
80
+ process.exit(1);
81
+ }
82
+ });
83
+ // Invite member
84
+ registryCommand
85
+ .command('invite')
86
+ .description('Invite a user to a registry')
87
+ .argument('<slug>', 'Registry slug')
88
+ .requiredOption('-e, --email <email>', 'Email of user to invite')
89
+ .option('-r, --role <role>', 'Role to assign (member, contributor, admin)', 'member')
90
+ .action(async (slug, options) => {
91
+ try {
92
+ const validRoles = ['member', 'contributor', 'admin'];
93
+ if (!validRoles.includes(options.role)) {
94
+ console.log(chalk.red(`Error: Invalid role '${options.role}'`));
95
+ console.log(`Valid roles: ${validRoles.join(', ')}`);
96
+ process.exit(1);
97
+ }
98
+ const spinner = ora('Sending invitation...').start();
99
+ await api.inviteMember(slug, options.email, options.role);
100
+ spinner.succeed(`Invited ${chalk.cyan(options.email)} as ${options.role} to ${slug}`);
101
+ }
102
+ catch (error) {
103
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
104
+ process.exit(1);
105
+ }
106
+ });
107
+ // List invitations (for current user)
108
+ registryCommand
109
+ .command('invitations')
110
+ .description('List pending invitations for your account')
111
+ .action(async () => {
112
+ try {
113
+ const spinner = ora('Fetching invitations...').start();
114
+ const invitations = await api.listInvitations();
115
+ spinner.stop();
116
+ if (invitations.length === 0) {
117
+ console.log(chalk.gray('No pending invitations.'));
118
+ return;
119
+ }
120
+ console.log(chalk.bold('Pending Invitations:'));
121
+ console.log('');
122
+ for (const inv of invitations) {
123
+ console.log(` ${chalk.cyan(inv.registry_name)} (${inv.registry_slug})`);
124
+ console.log(chalk.gray(` Role: ${inv.role} | Invited by: ${inv.invited_by}`));
125
+ console.log(chalk.gray(` Expires: ${new Date(inv.expires_at).toLocaleDateString()}`));
126
+ console.log(` Accept: ${chalk.cyan(`skills registry accept ${inv.registry_slug} ${inv.id}`)}`);
127
+ console.log('');
128
+ }
129
+ }
130
+ catch (error) {
131
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
132
+ process.exit(1);
133
+ }
134
+ });
135
+ // Accept invitation
136
+ registryCommand
137
+ .command('accept')
138
+ .description('Accept a pending invitation')
139
+ .argument('<registry>', 'Registry slug')
140
+ .argument('<invitation-id>', 'Invitation ID')
141
+ .action(async (registry, invitationId) => {
142
+ try {
143
+ const spinner = ora('Accepting invitation...').start();
144
+ await api.acceptInvitation(registry, invitationId);
145
+ spinner.succeed(`Joined registry ${chalk.cyan(registry)}`);
146
+ }
147
+ catch (error) {
148
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
149
+ process.exit(1);
150
+ }
151
+ });
152
+ // Decline invitation
153
+ registryCommand
154
+ .command('decline')
155
+ .description('Decline a pending invitation')
156
+ .argument('<registry>', 'Registry slug')
157
+ .argument('<invitation-id>', 'Invitation ID')
158
+ .action(async (registry, invitationId) => {
159
+ try {
160
+ const spinner = ora('Declining invitation...').start();
161
+ await api.declineInvitation(registry, invitationId);
162
+ spinner.succeed('Invitation declined');
163
+ }
164
+ catch (error) {
165
+ console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);
166
+ process.exit(1);
167
+ }
168
+ });
169
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const removeCommand: Command;
3
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,aAAa,SAgDtB,CAAC"}