simba-skills 0.3.0 → 0.4.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/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "simba-skills",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "AI skills manager - central store with symlink-based distribution across 14+ coding agents",
5
5
  "publishConfig": {
6
- "access": "public",
7
- "provenance": true
6
+ "access": "public"
8
7
  },
9
8
  "type": "module",
10
9
  "license": "MIT",
@@ -282,6 +282,7 @@ export interface InstallOptions {
282
282
  registryPath: string
283
283
  useSSH: boolean
284
284
  skillName?: string // Install specific skill by name, skip selection
285
+ installAll?: boolean // Install all discovered skills without prompts
285
286
  onSelect: (skills: DiscoveredSkill[]) => Promise<string[]>
286
287
  }
287
288
 
@@ -349,7 +350,10 @@ export async function runInstall(options: InstallOptions): Promise<void> {
349
350
 
350
351
  let selected: string[]
351
352
 
352
- if (options.skillName) {
353
+ if (options.installAll) {
354
+ selected = discovered.map(s => s.name)
355
+ console.log(`Installing all ${selected.length} skills...`)
356
+ } else if (options.skillName) {
353
357
  // Direct install of specific skill
354
358
  const skill = discovered.find(s => s.name === options.skillName)
355
359
  if (!skill) {
@@ -405,14 +409,16 @@ export async function runInstall(options: InstallOptions): Promise<void> {
405
409
  renderDiff(comparison.diff, "current", "new")
406
410
  }
407
411
 
408
- const update = await p.confirm({
409
- message: `Update ${name}?`,
410
- initialValue: true,
411
- })
412
+ if (!options.installAll) {
413
+ const update = await p.confirm({
414
+ message: `Update ${name}?`,
415
+ initialValue: true,
416
+ })
412
417
 
413
- if (p.isCancel(update) || !update) {
414
- console.log(` Skipping ${name}`)
415
- continue
418
+ if (p.isCancel(update) || !update) {
419
+ console.log(` Skipping ${name}`)
420
+ continue
421
+ }
416
422
  }
417
423
 
418
424
  // Remove old and add new
@@ -474,6 +480,7 @@ export default defineCommand({
474
480
  source: { type: "positional", description: "GitHub repo (user/repo) or local path", required: true },
475
481
  ssh: { type: "boolean", description: "Use SSH for GitHub repos (for private repos)", default: false },
476
482
  skill: { type: "string", description: "Install specific skill by name (skip selection)", required: false },
483
+ all: { type: "boolean", description: "Install all skills without prompts", default: false },
477
484
  },
478
485
  async run({ args }) {
479
486
  await runInstall({
@@ -482,6 +489,7 @@ export default defineCommand({
482
489
  registryPath: getRegistryPath(),
483
490
  useSSH: args.ssh,
484
491
  skillName: args.skill,
492
+ installAll: args.all,
485
493
  onSelect: async (skills) => {
486
494
  const result = await p.multiselect({
487
495
  message: "Select skills to install:",