sherpa-skill 2.0.5 → 2.0.6

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 CHANGED
@@ -59,7 +59,9 @@ To remove:
59
59
  sherpa uninstall
60
60
  ```
61
61
 
62
- The npm wrapper commands are `install`, `migrate`, and `uninstall`. (The separate `sherpa` CLI installed by the release script below supports `update`, `doctor`, `audit`, `clean`, and `help`.)
62
+ The npm `sherpa` launcher supports `install`, `migrate`, and `uninstall`, and forwards `update`, `doctor`, `audit`, `clean`, `help`, and `--version` to the bundled management CLI. Management commands require Python 3.
63
+
64
+ Install with `--global` to call `sherpa` directly. For a local install, prefix commands with `npx sherpa-skill`, for example `npx sherpa-skill doctor`.
63
65
 
64
66
  Node.js is required to run the npm package. `package.json` does not declare an `engines` field, so no specific Node version is pinned — use a current LTS release.
65
67
 
@@ -118,7 +120,7 @@ Each operation maps to a real workflow in `workflows/` (e.g. `idea-intelligence.
118
120
  |---|---|---:|---|
119
121
  | Claude Code | `.claude/skills/` skill and command files | Yes | VERIFIED |
120
122
  | OpenCode | `.opencode/commands/` and package metadata | Yes | VERIFIED |
121
- | Kilo Code | `.kilo/commands/` | No | NOT VERIFIED |
123
+ | Kilo Code | `kilo.jsonc`, `.kilo/rules/`, `.kilo/commands/`, `.kilo/skills/` | No | NOT VERIFIED |
122
124
  | Codex CLI, Qwen Code, Gemini CLI | No verified native adapter | No | Not supported |
123
125
 
124
126
  Details and evidence: [agent compatibility](AGENT-COMPATIBILITY.md).
@@ -9,6 +9,9 @@ Commands:
9
9
  sherpa update
10
10
  sherpa uninstall
11
11
  sherpa doctor
12
+ sherpa migrate
13
+ sherpa audit
14
+ sherpa clean [--dry-run | --yes]
12
15
  sherpa help
13
16
 
14
17
  The CLI never touches user project data or `.hackathon/` directories.
@@ -48,7 +51,7 @@ CLI_NAME = "sherpa"
48
51
 
49
52
  # Embedded fallback version. Overridden by a VERSION file next to this script
50
53
  # when one is shipped by the installer/release.
51
- DEFAULT_CLI_VERSION = "2.0.5"
54
+ DEFAULT_CLI_VERSION = "2.0.6"
52
55
 
53
56
  # Default release manifest URL. Users publishing their own releases override
54
57
  # this with SHERPA_RELEASE_MANIFEST_URL.
@@ -155,7 +158,7 @@ def fetch_json(url: str, timeout: int = 30) -> dict:
155
158
  supported_major = int(latest.split(".", 1)[0]) >= 2
156
159
  except (AttributeError, ValueError):
157
160
  supported_major = False
158
- if project != PROJECT or not supported_major:
161
+ if not isinstance(project, str) or project.casefold() != PROJECT.casefold() or not supported_major:
159
162
  raise sherpaError(f"release manifest is for {project!r} version {latest!r}, not Sherpa 2.0.0 or newer")
160
163
  return manifest
161
164
 
@@ -511,6 +514,8 @@ Usage:
511
514
  sherpa uninstall Remove installed skills (preserves user data)
512
515
  sherpa doctor Diagnose the installation environment
513
516
  sherpa migrate Copy legacy .hackathon/ state into .sherpa/
517
+ sherpa audit Report files in managed skill installations
518
+ sherpa clean Report or remove generated debris in managed installations
514
519
  sherpa help Show this help
515
520
 
516
521
  Environment variables:
@@ -10,17 +10,20 @@ const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '
10
10
  const args = process.argv.slice(2)
11
11
 
12
12
  function help() {
13
- console.log(`sherpa skill installer
13
+ console.log(`sherpa package launcher
14
14
 
15
15
  Usage:
16
16
  sherpa install [--dry-run]
17
17
  sherpa install --no-cli
18
- sherpa migrate [--project-root PATH] [--yes]
19
18
  sherpa install --uninstall
20
19
  sherpa uninstall
20
+ sherpa migrate [--project-root PATH] [--yes]
21
+ sherpa --version
22
+ sherpa update | doctor | audit | clean | help
21
23
 
22
24
  Install targets: Claude Code and OpenCode. Use --dry-run to print target paths
23
- without downloading or writing files. Uninstall removes managed global installs.`)
25
+ without downloading or writing files. Management commands use the bundled
26
+ Python CLI. Uninstall removes managed global installs.`)
24
27
  }
25
28
 
26
29
  function run(script, scriptArgs, env = process.env) {
@@ -63,17 +66,21 @@ if (args.includes('--help') || args.includes('-h') || args.length === 0) {
63
66
  }
64
67
 
65
68
  const command = args[0]
69
+ const managementCommands = new Set(['update', 'doctor', 'audit', 'clean', 'help'])
70
+ if (command === '--version' || managementCommands.has(command)) {
71
+ const script = path.join(packageRoot, 'distribution', 'cli', 'sherpa')
72
+ runPython(script, args)
73
+ }
66
74
  if (command === 'migrate') {
67
75
  const script = path.join(packageRoot, 'distribution', 'cli', 'sherpa')
68
76
  runPython(script, ['migrate', ...args.slice(1)])
69
77
  }
70
- const dryRun = args.includes('--dry-run')
71
- const uninstall = command === 'uninstall' || args.includes('--uninstall')
72
78
  if (!['install', 'uninstall'].includes(command)) {
73
- console.error(`Unknown command: ${command}`)
74
- help()
75
- process.exit(2)
79
+ const script = path.join(packageRoot, 'distribution', 'cli', 'sherpa')
80
+ runPython(script, args)
76
81
  }
82
+ const dryRun = args.includes('--dry-run')
83
+ const uninstall = command === 'uninstall' || args.includes('--uninstall')
77
84
  if (dryRun && uninstall) {
78
85
  console.error('--dry-run cannot be combined with --uninstall.')
79
86
  process.exit(2)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sherpa-skill",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "Install the sherpa AI agent skill for Claude Code and OpenCode",
5
5
  "license": "MIT",
6
6
  "type": "module",