@skillbase/spm 0.1.2 → 0.1.4
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/CHANGELOG.md +35 -309
- package/dist/cli/commands/connect.d.ts.map +1 -1
- package/dist/cli/commands/connect.js +24 -16
- package/dist/cli/commands/connect.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +15 -3
- package/dist/mcp/server.js.map +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,341 +1,67 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## [0.1.4] - 2026-03-14
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
### Fixed
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- **Dependency resolver** (`src/core/resolver.ts`):
|
|
12
|
-
- Resolves semver ranges (`^`, `~`, `>=`, exact) to concrete versions via registry
|
|
13
|
-
- Cycle detection via visited set
|
|
14
|
-
- Reports missing skills, unsatisfied ranges, invalid ranges
|
|
15
|
-
- **Server endpoint**: `GET /api/skills/:name/versions` — lists all published versions of a skill
|
|
16
|
-
- **Registry client**: `getVersions(name)` method for fetching available versions
|
|
17
|
-
- **Auto-install dependencies**: `skills install @scope/name` now resolves and installs transitive dependencies from registry
|
|
18
|
-
- **8 tests** for resolver (exact, caret, tilde, missing, cycles, multiple deps)
|
|
19
|
-
|
|
20
|
-
### Changed
|
|
21
|
-
|
|
22
|
-
- `installFromRegistry` refactored into `installSingleFromRegistry` + dependency resolution layer
|
|
23
|
-
- Health endpoint version bumped to `0.10.0`
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## [0.9.0] - 2026-03-12
|
|
28
|
-
|
|
29
|
-
### Phase 4, Iteration 7 — Deployment Config + skills convert
|
|
30
|
-
|
|
31
|
-
Production deployment configuration for Fly.io + Tigris. New `skills convert` command for converting existing prompts into skills.
|
|
32
|
-
|
|
33
|
-
### Added
|
|
34
|
-
|
|
35
|
-
- **Deployment config**:
|
|
36
|
-
- `Dockerfile` — multi-stage build (Node 22, TypeScript build → production image)
|
|
37
|
-
- `fly.toml` — Fly.io config (Amsterdam region, health checks, auto-suspend)
|
|
38
|
-
- `.dockerignore` — excludes tests, docs, dev files from image
|
|
39
|
-
- `src/server/start.ts` — standalone server entrypoint for Docker
|
|
40
|
-
- `npm run server` script
|
|
41
|
-
- **`skills convert <source>`** — convert prompt files (.md, .txt, .prompt) into skill scaffolds:
|
|
42
|
-
- Single file or directory of prompts
|
|
43
|
-
- Interactive mode: prompts for author, scope, license
|
|
44
|
-
- Non-interactive: `--author`, `--scope`, `--license`, `--output` flags
|
|
45
|
-
- Slugifies file names, creates skill.json + SKILL.md per prompt
|
|
46
|
-
- 5 tests covering single file, directory, skip existing, slugify, .prompt extension
|
|
47
|
-
|
|
48
|
-
### Changed
|
|
49
|
-
|
|
50
|
-
- `.gitignore` updated: added `dist`, `.env`, `.env.*`
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## [0.8.0] - 2026-03-11
|
|
55
|
-
|
|
56
|
-
### Phase 4, Iterations 4-6 — Install Flow, Update Command, GitHub OAuth
|
|
57
|
-
|
|
58
|
-
Install flow now downloads `.tar.gz` packages from S3 via presigned URLs with integrity verification. New `skills update` command for re-publishing skills. GitHub OAuth device flow for CLI authentication.
|
|
59
|
-
|
|
60
|
-
### Added
|
|
61
|
-
|
|
62
|
-
- **Install from S3** (Iteration 4):
|
|
63
|
-
- `installFromRegistry` downloads .tar.gz via presigned URL from `getDownloadUrl()`
|
|
64
|
-
- SHA-256 integrity verification before unpack
|
|
65
|
-
- DB content fallback for backwards compatibility
|
|
66
|
-
- 4 new tests in `tests/install-s3.test.ts`
|
|
67
|
-
- **`skills update <source>`** (Iteration 5):
|
|
68
|
-
- Verifies skill exists in registry, packages and re-publishes
|
|
69
|
-
- Shows version diff: "Updated @author/skill@1.1.0 (was 1.0.0)"
|
|
70
|
-
- Supports `--registry` and `--dry-run` flags
|
|
71
|
-
- **GitHub device flow** (Iteration 6):
|
|
72
|
-
- `POST /auth/github/device` — initiates GitHub device flow, returns `user_code` and `verification_uri`
|
|
73
|
-
- `POST /auth/github/device/poll` — polls for completion, returns API token when authorized
|
|
74
|
-
- In-memory session store with TTL and automatic cleanup
|
|
75
|
-
- Creates or links author by `github_id` (new → create, existing name → link, existing github_id → reuse)
|
|
76
|
-
- **DB schema**: `github_id` column on `authors` table (nullable, unique) for GitHub account linking
|
|
77
|
-
- **Registry client methods**: `startDeviceAuth()`, `pollDeviceAuth(sessionId)`
|
|
78
|
-
- **CLI `skills login --github`**:
|
|
79
|
-
- Initiates device flow against registry server
|
|
80
|
-
- Opens browser automatically, shows code for manual entry
|
|
81
|
-
- Polls until authorized, saves token to config
|
|
82
|
-
- **7 new tests** for device auth client methods
|
|
9
|
+
- **`connect`/`disconnect` now preserve JSONC comments and formatting** — switched from `JSON.parse`/`JSON.stringify` to `jsonc-parser` (`modify`/`applyEdits`). Previously, running `spm connect zed` on a `settings.json` with comments or trailing commas would silently drop all existing settings.
|
|
83
10
|
|
|
84
11
|
### Changed
|
|
85
12
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
- Health endpoint version bumped to `0.8.0`
|
|
13
|
+
- **Embedded skill index in MCP instructions** — at server startup, a compact pipe-delimited index (`name|tokens|trigger|tags|file_patterns`) is appended to MCP instructions so the model sees all available skills immediately without calling `skill_list`
|
|
14
|
+
- **Updated MCP instruction wording** — changed from "Use skill_list to discover" to "When a user's task matches a skill's trigger description, load it with skill_load before starting work"
|
|
15
|
+
- `skill_list` remains available for full programmatic access (versions, priorities) but is no longer required for discovery
|
|
90
16
|
|
|
91
17
|
---
|
|
92
18
|
|
|
93
|
-
## [0.
|
|
94
|
-
|
|
95
|
-
### Phase 4, Iteration 3 — Publish & Download via S3
|
|
96
|
-
|
|
97
|
-
Publish flow now packages skills as `.tar.gz` and uploads to S3. Download endpoint returns presigned URLs for fast install. Server initializes storage provider on startup and supports multipart upload.
|
|
98
|
-
|
|
99
|
-
### Added
|
|
100
|
-
|
|
101
|
-
- **Multipart publish** (`POST /api/skills`):
|
|
102
|
-
- Accepts `multipart/form-data` with `metadata` (JSON) + `archive` (.tar.gz file)
|
|
103
|
-
- Server uploads archive to S3 via `StorageProvider`, stores `s3_key` in PostgreSQL
|
|
104
|
-
- On update, cleans up old S3 object if key changed
|
|
105
|
-
- Legacy JSON body path preserved for GitHub source and backwards compatibility
|
|
106
|
-
- **Download endpoint** (`GET /api/skills/:name/download`):
|
|
107
|
-
- Returns presigned S3 URL when package is in S3 (`download_url` field)
|
|
108
|
-
- Falls back to DB content when no S3 package (`content` field)
|
|
109
|
-
- Increments install counter
|
|
110
|
-
- **Registry client methods**:
|
|
111
|
-
- `publishWithArchive(metadata, archive)` — sends multipart FormData with archive buffer
|
|
112
|
-
- `getDownloadUrl(name, version?)` — fetches presigned URL or content fallback
|
|
113
|
-
- `PublishResult` and `DownloadResult` types exported
|
|
114
|
-
- **CLI publish improvements**:
|
|
115
|
-
- `skills publish ./my-skill` now packages skill as `.tar.gz` before upload
|
|
116
|
-
- Displays package size, token estimate after publish
|
|
117
|
-
- Dry-run shows package size, file count, integrity hash
|
|
19
|
+
## [0.1.3] - 2026-03-14
|
|
118
20
|
|
|
119
21
|
### Changed
|
|
120
22
|
|
|
121
|
-
- **
|
|
122
|
-
|
|
123
|
-
- Registers `@fastify/multipart` plugin (50 MB file size limit)
|
|
124
|
-
- Passes `StorageProvider | null` to skill routes
|
|
125
|
-
- Storage is optional — server works in DB-only mode without S3 config
|
|
126
|
-
- Health endpoint version bumped to `0.6.0`
|
|
127
|
-
|
|
128
|
-
### Dependencies added
|
|
129
|
-
|
|
130
|
-
- `@fastify/multipart` — multipart form data parsing for Fastify
|
|
23
|
+
- **MCP instructions include embedded skill index** — compact pipe-delimited format appended to server instructions at startup
|
|
24
|
+
- **Improved MCP instruction clarity** — model is now instructed to match tasks against trigger descriptions before loading
|
|
131
25
|
|
|
132
26
|
---
|
|
133
27
|
|
|
134
|
-
## [0.
|
|
135
|
-
|
|
136
|
-
### Phase 4, Iteration 2 — S3 Storage Provider & Skill Packager
|
|
137
|
-
|
|
138
|
-
Storage infrastructure for skill packages. S3-compatible provider for production, local filesystem provider for development. Skill directories are packed into `.tar.gz` archives with SHA-256 integrity hashes.
|
|
139
|
-
|
|
140
|
-
### Added
|
|
141
|
-
|
|
142
|
-
- **Storage provider system** (`src/core/storage/`):
|
|
143
|
-
- `StorageProvider` interface — `upload`, `download`, `getSignedUrl`, `delete`, `exists`
|
|
144
|
-
- `S3StorageProvider` — production provider via `@aws-sdk/client-s3` (supports AWS S3, Tigris, R2, MinIO)
|
|
145
|
-
- `LocalStorageProvider` — local filesystem provider for development (same interface)
|
|
146
|
-
- `createStorageProvider(config)` factory — instantiates provider by config type
|
|
147
|
-
- `loadStorageConfigFromEnv()` — reads `STORAGE_TYPE`, `S3_BUCKET`, `S3_REGION`, `S3_ENDPOINT`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY` from env
|
|
148
|
-
- **Skill packager** (`src/core/storage/packager.ts`):
|
|
149
|
-
- `packSkill(dir)` — collects skill directory into `.tar.gz` with SHA-256 integrity hash
|
|
150
|
-
- `unpackSkill(data, destDir)` — extracts `.tar.gz` archive into target directory
|
|
151
|
-
- `computeIntegrity(data)` — SHA-256 hash for verification
|
|
152
|
-
- Ignores `node_modules`, `.git`, `.DS_Store`, `Thumbs.db`
|
|
153
|
-
- **S3 key helper**: `buildSkillS3Key(author, name, version)` → `skills/{author}/{name}/{version}.tar.gz`
|
|
154
|
-
- **Tests**: 12 tests covering LocalStorageProvider, packSkill/unpackSkill roundtrip, nested dirs, ignore patterns, integrity verification
|
|
28
|
+
## [0.1.2] - 2026-03-14
|
|
155
29
|
|
|
156
30
|
### Changed
|
|
157
31
|
|
|
158
|
-
- **
|
|
159
|
-
- **
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
- `@aws-sdk/client-s3` — S3 client
|
|
164
|
-
- `@aws-sdk/s3-request-presigner` — presigned URL generation
|
|
165
|
-
- `tar-stream` — tar archive creation/extraction
|
|
32
|
+
- **CLI version from package.json** — `spm --version` now reads version dynamically instead of hardcoded value
|
|
33
|
+
- **Branding**: renamed "SkillBase" → "Skillbase" in CLI description and MCP instructions
|
|
34
|
+
- Removed legacy documentation from `docs/` and `plans/` directories
|
|
35
|
+
- Code formatting cleanup across CLI and MCP server
|
|
166
36
|
|
|
167
37
|
---
|
|
168
38
|
|
|
169
|
-
## [0.
|
|
170
|
-
|
|
171
|
-
### Phase 4, Iteration 1 — Architecture Pivot: Remove Blockchain
|
|
172
|
-
|
|
173
|
-
Removed all blockchain/NFT/token infrastructure. The project now uses a simpler centralized architecture: S3-compatible storage for skill packages, PostgreSQL for metadata, API token auth for publishing.
|
|
174
|
-
|
|
175
|
-
### Removed
|
|
176
|
-
|
|
177
|
-
- **Blockchain code**: `contracts/` (Solidity smart contracts, tests, deploy scripts), `src/core/blockchain/` (wallet, contracts, IPFS, chain-config, ABIs)
|
|
178
|
-
- **Reward system**: `src/server/rewards/` (merkle trees, anti-fraud), `src/server/routes/rewards.ts`, reward API endpoints
|
|
179
|
-
- **Blockchain CLI commands**: `skills wallet`, `skills rewards`, blockchain-based `skills update`
|
|
180
|
-
- **Blockchain publish path**: `--chain` flag, `WALLET_PRIVATE_KEY` auto-detection, NFT minting in `skills publish`
|
|
181
|
-
- **DB tables**: `reward_epochs`, `reward_leaves`; `reporter_address` column from `skill_feedback`
|
|
182
|
-
- **Dependencies**: `viem` (EVM client)
|
|
39
|
+
## [0.1.1] - 2026-03-13
|
|
183
40
|
|
|
184
41
|
### Changed
|
|
185
42
|
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
- `src/core/config.ts` — removed blockchain/ipfs config fields
|
|
190
|
-
- Documentation updated: spec, phase4 plan, architecture, CLI reference, getting started, creating skills
|
|
191
|
-
|
|
192
|
-
### Technical decisions
|
|
193
|
-
|
|
194
|
-
- **Blockchain removed**: excessive complexity without proportional value at current stage
|
|
195
|
-
- **S3 storage planned**: Tigris (Fly.io) as primary, any S3-compatible provider supported
|
|
196
|
-
- **Auth model**: API tokens for CLI (existing), GitHub OAuth planned for Web UI
|
|
197
|
-
- **Dual storage**: entry content in PostgreSQL (for search/quick access) + full .tar.gz packages in S3
|
|
43
|
+
- Fixed package name in `package.json`
|
|
44
|
+
- Fixed README formatting
|
|
45
|
+
- Added GitHub Actions publish workflow (`.github/workflows/publish.yml`)
|
|
198
46
|
|
|
199
47
|
---
|
|
200
48
|
|
|
201
|
-
## [0.
|
|
202
|
-
|
|
203
|
-
### Phase 3 — Remote Registry
|
|
204
|
-
|
|
205
|
-
Skills can be published, discovered, and installed from remote registries. Anyone can run a private registry server. GitHub integration for skill hosting (public + private repos).
|
|
206
|
-
|
|
207
|
-
### Added
|
|
208
|
-
|
|
209
|
-
- **Registry server** (`src/server/`):
|
|
210
|
-
- Fastify HTTP server with auto-migration on startup
|
|
211
|
-
- PostgreSQL via Drizzle ORM — skills, authors, feedback, API tokens
|
|
212
|
-
- REST API: publish, search, content download, feedback, author profiles
|
|
213
|
-
- GraphQL API (`/graphql`): search, skill details, author queries
|
|
214
|
-
- Token-based authentication (register → get API token)
|
|
215
|
-
- Confidence recalculation on feedback
|
|
216
|
-
- `skills server start` — launch a registry server (`DATABASE_URL` required)
|
|
217
|
-
- **GitHub integration** (`src/server/github/`):
|
|
218
|
-
- Fetch skills from GitHub repos (public + private via PAT)
|
|
219
|
-
- Parse multiple URL formats: `https://github.com/owner/repo/tree/branch/path`, `github:owner/repo`, `owner/repo`
|
|
220
|
-
- Download full skill directory for install
|
|
221
|
-
- Publish from GitHub source (server fetches content)
|
|
222
|
-
- **Multi-registry config**:
|
|
223
|
-
- `registries[]` in `config.json` — named registries with URL and optional token
|
|
224
|
-
- `scopes` mapping — bind `@scope` to a specific registry (e.g. `@company → company-registry`)
|
|
225
|
-
- `github.token` for private repo access
|
|
226
|
-
- `resolveRegistry()` / `getRegistryToken()` helpers
|
|
227
|
-
- **Registry client** (`src/core/registry-client.ts`):
|
|
228
|
-
- HTTP client for communicating with remote registries
|
|
229
|
-
- `RegistryClient` class: search, getSkill, getContent, publish, register, sendFeedback
|
|
230
|
-
- `getClientForSkill()` — resolves skill name → correct registry client via scope config
|
|
231
|
-
- **CLI commands**:
|
|
232
|
-
- `skills search <query> [--remote|--all]` — search local and/or remote registries
|
|
233
|
-
- `skills publish <source> [--registry name] [--github]` — publish from local path or GitHub URL
|
|
234
|
-
- `skills login <registry-url> --name <author>` — register + save token
|
|
235
|
-
- `skills registry add <url> [--name] [--token] [--scope]` — add registry to config
|
|
236
|
-
- `skills server start [-p port] [--database-url]` — start registry server
|
|
237
|
-
- **Enhanced `skills install`**:
|
|
238
|
-
- `skills install <local-path>` — existing local install
|
|
239
|
-
- `skills install @scope/name [--version]` — install from remote registry
|
|
240
|
-
- `skills install <github-url> [--github token]` — install directly from GitHub
|
|
241
|
-
- **MCP tools**:
|
|
242
|
-
- `skill_search` now accepts `scope` param: `local`, `remote`, or `all`
|
|
243
|
-
- `skill_install` — new tool, installs skills from remote registry (requires user confirmation)
|
|
244
|
-
- **New types**: `RegistryEntry`, `RemoteSkillEntry`, `PublishRequest`, `RegistrySearchResult`
|
|
245
|
-
- **DB schema**: `authors`, `skills`, `skill_feedback`, `api_tokens` tables with GIN index on tags
|
|
246
|
-
|
|
247
|
-
### Changed
|
|
248
|
-
|
|
249
|
-
- Config system extended: `SkillsConfig` now includes `registries`, `scopes`, `github`
|
|
250
|
-
- MCP server version bumped to 0.4.0
|
|
251
|
-
- Server instructions updated with remote search and install guidance
|
|
252
|
-
- CLI version bumped to 0.4.0
|
|
253
|
-
|
|
254
|
-
### Dependencies added
|
|
255
|
-
|
|
256
|
-
- `fastify` — HTTP server
|
|
257
|
-
- `drizzle-orm` + `postgres` — PostgreSQL ORM
|
|
258
|
-
- `graphql` + `graphql-yoga` — GraphQL server
|
|
259
|
-
- `@octokit/rest` — GitHub API client
|
|
260
|
-
- `semver` — version resolution
|
|
261
|
-
|
|
262
|
-
## [0.3.0] - 2026-03-11
|
|
263
|
-
|
|
264
|
-
### Phase 2 — Feedback + Quality
|
|
265
|
-
|
|
266
|
-
Skills learn from usage. The system collects feedback, calculates confidence, and surfaces metrics via CLI and MCP.
|
|
267
|
-
|
|
268
|
-
### Added
|
|
269
|
-
|
|
270
|
-
- **Feedback system**:
|
|
271
|
-
- `FeedbackEntry`, `FeedbackStore`, `SkillStats` types — structured feedback data model
|
|
272
|
-
- `src/core/feedback.ts` — storage CRUD (`addFeedback`, `getEntriesForSkill`, `getAllStats`, `getStatsForSkill`)
|
|
273
|
-
- `src/core/config.ts` — read/write `config.json` with safe merge over defaults
|
|
274
|
-
- Path helpers: `getFeedbackPath()`, `getConfigPath()`
|
|
275
|
-
- Confidence formula: `success_rate × min(1, log₂(usage_count + 1) / 5)`
|
|
276
|
-
- **MCP tool `skill_feedback`** — records usage result (success/partial/failure/false_trigger) with optional comment
|
|
277
|
-
- **Enhanced `skill_load`** — response now includes metadata block with `confidence`, `works_with`, `permissions`
|
|
278
|
-
- **Enhanced `skill_search`** — results include `confidence` score per skill
|
|
279
|
-
- **Config-based tool toggles** — each MCP tool registered only if enabled in `config.json`; `skill_feedback` also requires `feedback.enabled`
|
|
280
|
-
- **CLI commands**:
|
|
281
|
-
- `skills stats` — feedback dashboard (uses, success rate, rating, confidence with ⚠ for low confidence)
|
|
282
|
-
- `skills rate <name> --score <1-5> [--comment]` — explicit user feedback
|
|
283
|
-
- **`skills init`** now uses canonical `getDefaultConfig()` from `src/core/config.ts`
|
|
284
|
-
|
|
285
|
-
### Changed
|
|
286
|
-
|
|
287
|
-
- `createServer()` is now async (reads config before registering tools)
|
|
288
|
-
- MCP server version bumped to 0.3.0
|
|
289
|
-
- Server instructions updated with feedback workflow and confidence guidance
|
|
290
|
-
|
|
291
|
-
## [0.2.0] - 2026-03-11
|
|
292
|
-
|
|
293
|
-
### Phase 1 — CLI "npm for skills"
|
|
294
|
-
|
|
295
|
-
Full local workflow through CLI. Create, validate, install, and manage skills.
|
|
296
|
-
|
|
297
|
-
### Added
|
|
298
|
-
|
|
299
|
-
- **CLI commands**:
|
|
300
|
-
- `skills init [--project]` — initialize global or per-project skills directory
|
|
301
|
-
- `skills create <name> [-s scope]` — scaffold a new skill with template
|
|
302
|
-
- `skills validate <path>` — validate skill.json and file structure
|
|
303
|
-
- `skills install <path>` — install from local path with auto reindex + lock
|
|
304
|
-
- `skills uninstall <name>` — remove skill with auto reindex + lock
|
|
305
|
-
- `skills list [-v]` — list installed skills (verbose mode available)
|
|
306
|
-
- `skills info <name>` — detailed skill information (permissions, works_with, etc.)
|
|
307
|
-
- `skills reindex [--project]` — rebuild index manually
|
|
308
|
-
- **Lock file** (`skills.lock`): auto-generated on install/uninstall with SHA-256 integrity hashes and token estimates
|
|
309
|
-
- **MCP tools**:
|
|
310
|
-
- `skill_context` — shows loaded skills, token budget used/available
|
|
311
|
-
- `skill_search` — search by keyword, tag, file pattern with scoring
|
|
312
|
-
- **Session tracking**: MCP server tracks which skills are loaded per session
|
|
313
|
-
- **Documentation** (`docs/`):
|
|
314
|
-
- `getting-started.md` — installation, setup, client integration
|
|
315
|
-
- `cli-reference.md` — all CLI commands with options and examples
|
|
316
|
-
- `creating-skills.md` — guide to writing skills (skill.json, SKILL.md, tips)
|
|
317
|
-
- `architecture.md` — system design, components, lazy loading, security
|
|
318
|
-
|
|
319
|
-
## [0.1.0] - 2026-03-11
|
|
320
|
-
|
|
321
|
-
### Phase 0 — "Hello, Skill"
|
|
322
|
-
|
|
323
|
-
First working prototype. Skills can be installed manually, indexed, and served to any MCP-compatible AI client.
|
|
49
|
+
## [0.1.0] - 2026-03-13
|
|
324
50
|
|
|
325
51
|
### Added
|
|
326
52
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
- **
|
|
330
|
-
- **
|
|
331
|
-
- **
|
|
332
|
-
- **
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
- **
|
|
336
|
-
- **
|
|
337
|
-
- **
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
- **
|
|
53
|
+
Initial public release. Full-featured AI skill manager with MCP integration.
|
|
54
|
+
|
|
55
|
+
- **Core engine**: skill indexer, loader, registry with global (`~/.skills/`) and project-level (`.skills/`) support
|
|
56
|
+
- **MCP server** (stdio transport) with 6 tools: `skill_list`, `skill_load`, `skill_context`, `skill_search`, `skill_feedback`, `skill_install`
|
|
57
|
+
- **CLI** (`spm`): `init`, `create`, `validate`, `install`, `uninstall`, `list`, `info`, `reindex`, `search`, `publish`, `update`, `login`, `rate`, `stats`, `convert`, `connect`, `disconnect`, `serve`, `server start`
|
|
58
|
+
- **Feedback & confidence system**: tracks usage results, calculates confidence scores per skill
|
|
59
|
+
- **Remote registry support**: publish, search, install from remote registries with multi-registry config and scope mapping
|
|
60
|
+
- **GitHub integration**: install skills from GitHub repos, OAuth device flow for CLI auth
|
|
61
|
+
- **S3 storage**: skill packages as `.tar.gz` with SHA-256 integrity, S3/Tigris upload, presigned download URLs
|
|
62
|
+
- **Dependency resolution**: semver ranges (`^`, `~`, `>=`, exact), cycle detection, transitive auto-install
|
|
63
|
+
- **Skill packager**: `.tar.gz` archiving with integrity hashes
|
|
64
|
+
- **`spm convert`**: convert existing `.md`/`.txt`/`.prompt` files into skill scaffolds
|
|
65
|
+
- **Deployment**: Dockerfile, `fly.toml` for Fly.io + Tigris
|
|
66
|
+
- **JSON Schema validation** for `skill.json` manifests
|
|
67
|
+
- **TypeScript** throughout, 150 tests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAoEA,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
|
@@ -2,7 +2,11 @@ import fs from "node:fs/promises";
|
|
|
2
2
|
import { realpathSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import os from "node:os";
|
|
5
|
+
import { parse, modify, applyEdits } from "jsonc-parser";
|
|
5
6
|
const MCP_SERVER_KEY = "spm";
|
|
7
|
+
const JSONC_MODIFY_OPTIONS = {
|
|
8
|
+
formattingOptions: { tabSize: 2, insertSpaces: true },
|
|
9
|
+
};
|
|
6
10
|
function getClients() {
|
|
7
11
|
const home = os.homedir();
|
|
8
12
|
const platform = process.platform;
|
|
@@ -35,18 +39,18 @@ function getSkillsBin() {
|
|
|
35
39
|
}
|
|
36
40
|
return "spm";
|
|
37
41
|
}
|
|
38
|
-
async function
|
|
42
|
+
async function readRawConfig(filePath) {
|
|
39
43
|
try {
|
|
40
|
-
|
|
41
|
-
return JSON.parse(raw);
|
|
44
|
+
return await fs.readFile(filePath, "utf-8");
|
|
42
45
|
}
|
|
43
46
|
catch {
|
|
44
|
-
return {};
|
|
47
|
+
return "{}";
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
|
-
async function
|
|
50
|
+
async function writeRawConfig(filePath, content) {
|
|
48
51
|
await fs.mkdir(path.dirname(filePath), { recursive: true });
|
|
49
|
-
|
|
52
|
+
const normalized = content.endsWith("\n") ? content : content + "\n";
|
|
53
|
+
await fs.writeFile(filePath, normalized, "utf-8");
|
|
50
54
|
}
|
|
51
55
|
export async function connectCommand(client) {
|
|
52
56
|
const clients = getClients();
|
|
@@ -55,19 +59,21 @@ export async function connectCommand(client) {
|
|
|
55
59
|
console.error(`Unknown client "${client}". Supported: ${Object.keys(clients).join(", ")}`);
|
|
56
60
|
process.exit(1);
|
|
57
61
|
}
|
|
58
|
-
|
|
59
|
-
const
|
|
62
|
+
let content = await readRawConfig(config.configPath);
|
|
63
|
+
const data = parse(content);
|
|
64
|
+
const section = data[config.serverSection] ?? {};
|
|
60
65
|
if (section[MCP_SERVER_KEY]) {
|
|
61
66
|
console.log(`Already connected to ${config.name}.`);
|
|
62
67
|
console.log(` Config: ${config.configPath}`);
|
|
63
68
|
return;
|
|
64
69
|
}
|
|
65
|
-
|
|
70
|
+
const serverValue = {
|
|
66
71
|
command: process.execPath,
|
|
67
72
|
args: [getSkillsBin(), "serve"],
|
|
68
73
|
};
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
const edits = modify(content, [config.serverSection, MCP_SERVER_KEY], serverValue, JSONC_MODIFY_OPTIONS);
|
|
75
|
+
content = applyEdits(content, edits);
|
|
76
|
+
await writeRawConfig(config.configPath, content);
|
|
71
77
|
console.log(`Connected to ${config.name}.`);
|
|
72
78
|
console.log(` Config: ${config.configPath}`);
|
|
73
79
|
console.log(` Restart ${config.name} to activate.`);
|
|
@@ -79,15 +85,17 @@ export async function disconnectCommand(client) {
|
|
|
79
85
|
console.error(`Unknown client "${client}". Supported: ${Object.keys(clients).join(", ")}`);
|
|
80
86
|
process.exit(1);
|
|
81
87
|
}
|
|
82
|
-
|
|
83
|
-
const
|
|
88
|
+
let content = await readRawConfig(config.configPath);
|
|
89
|
+
const data = parse(content);
|
|
90
|
+
const section = data[config.serverSection] ?? {};
|
|
84
91
|
if (!section[MCP_SERVER_KEY]) {
|
|
85
92
|
console.log(`Not connected to ${config.name}.`);
|
|
86
93
|
return;
|
|
87
94
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
const edits = modify(content, [config.serverSection, MCP_SERVER_KEY], undefined, // undefined = remove the key
|
|
96
|
+
JSONC_MODIFY_OPTIONS);
|
|
97
|
+
content = applyEdits(content, edits);
|
|
98
|
+
await writeRawConfig(config.configPath, content);
|
|
91
99
|
console.log(`Disconnected from ${config.name}.`);
|
|
92
100
|
console.log(` Config: ${config.configPath}`);
|
|
93
101
|
console.log(` Restart ${config.name} to apply.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CA6CvD"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -7,6 +7,18 @@ import { addFeedback, getStatsForSkill } from "../core/feedback.js";
|
|
|
7
7
|
import { createRegistryClients, getClientForSkill, } from "../core/registry-client.js";
|
|
8
8
|
export async function createServer() {
|
|
9
9
|
const config = await readConfig();
|
|
10
|
+
// Build compact skill index for instructions
|
|
11
|
+
// Format: name|tokens|trigger|tags|patterns (one line per skill)
|
|
12
|
+
const index = await getSkillIndex();
|
|
13
|
+
const skillLines = index.skills.map((s) => {
|
|
14
|
+
let line = `${s.name}|${s.tokens_estimate}t|${s.trigger}|${s.tags.join(",")}`;
|
|
15
|
+
if (s.file_patterns)
|
|
16
|
+
line += `|${s.file_patterns.join(",")}`;
|
|
17
|
+
return line;
|
|
18
|
+
});
|
|
19
|
+
const skillIndex = skillLines.length > 0
|
|
20
|
+
? `\n\nInstalled skills (name|tokens|trigger|tags|file_patterns):\n${skillLines.join("\n")}`
|
|
21
|
+
: "";
|
|
10
22
|
const server = new McpServer({
|
|
11
23
|
name: "skillbase",
|
|
12
24
|
version: "0.4.0",
|
|
@@ -15,8 +27,8 @@ export async function createServer() {
|
|
|
15
27
|
tools: {},
|
|
16
28
|
},
|
|
17
29
|
instructions: [
|
|
18
|
-
"Skillbase — AI skill manager.
|
|
19
|
-
"
|
|
30
|
+
"Skillbase — AI skill manager.",
|
|
31
|
+
"When a user's task matches a skill's trigger description, load it with skill_load before starting work.",
|
|
20
32
|
"Use skill_search to find skills by keyword, tag, or file pattern.",
|
|
21
33
|
"Use skill_context to check which skills are already loaded and token budget.",
|
|
22
34
|
"Higher priority skills take precedence when multiple skills match.",
|
|
@@ -24,7 +36,7 @@ export async function createServer() {
|
|
|
24
36
|
"If a skill's confidence is low (<0.5), treat it as guidance rather than strict instructions.",
|
|
25
37
|
"If no local skill matches, use skill_search with scope='remote' to check remote registries.",
|
|
26
38
|
"If a good remote match is found, suggest it to the user and use skill_install upon approval.",
|
|
27
|
-
].join(" "),
|
|
39
|
+
].join(" ") + skillIndex,
|
|
28
40
|
});
|
|
29
41
|
const loadedSkills = [];
|
|
30
42
|
registerTools(server, config, loadedSkills);
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAIpC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;QACD,YAAY,EAAE;YACZ,4EAA4E;YAC5E,8DAA8D;YAC9D,mEAAmE;YACnE,8EAA8E;YAC9E,oEAAoE;YACpE,4EAA4E;YAC5E,8FAA8F;YAC9F,6FAA6F;YAC7F,8FAA8F;SAC/F,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CACF,CAAC;IAEF,MAAM,YAAY,GAChB,EAAE,CAAC;IAEL,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,MAAiB,EACjB,MAAoB,EACpB,YAAsE;IAEtE,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5B,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/B,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9B,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC3D,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/B,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB;IAC1C,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,gLAAgL,EAChL,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,eAAe,EAAE,CAAC,CAAC,eAAe;SACnC,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACrE;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAiB,EACjB,YAAsE;IAEtE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,qNAAqN,EACrN;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,mCAAmC,CAAC;KACjD,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,UAAU,IAAI,sDAAsD;qBAC3E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE3C,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,eAAe;aAC/B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;gBACrC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;aACpC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5C;oBACD;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,MAAM,CAAC,OAAO;qBACrB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,yBAAyB,IAAI,MAAM,OAAO,EAAE;qBACnD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAiB,EACjB,YAAsE;IAEtE,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qIAAqI,EACrI,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe,EACnC,CAAC,CACF,CAAC;QACF,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,MAAM,EAAE,YAAY;wBACpB,WAAW,EAAE,UAAU;wBACvB,gBAAgB,EAAE,cAAc,GAAG,UAAU;wBAC7C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;qBAClC,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAiB,EAAE,MAAoB;IAClE,MAAM,CAAC,IAAI,CACT,cAAc,EACd,yOAAyO,EACzO;QACE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CAAC,4DAA4D,CAAC;QACzE,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;aAChC,QAAQ,EAAE;aACV,OAAO,CAAC,OAAO,CAAC;aAChB,QAAQ,CACP,8DAA8D,CAC/D;KACJ,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,MAAM,OAAO,GAA8C,EAAE,CAAC;QAE9D,eAAe;QACf,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxC,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,EAAE,CAAC;gBACtD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAChD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBACtD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBACxD,IAAI,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM;iBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;iBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAErC,OAAO,CAAC,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;oBACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;oBAClB,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe;oBACxC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;iBACtC,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,IACE,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,cAAc,EAC5B,CAAC;YACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAc,EAAE,CAAC;YAEpC,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChD,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;wBACpC,aAAa,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW;4BAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,UAAU,EAAE,CAAC,CAAC,UAAU;4BACxB,QAAQ,EAAE,YAAY;yBACvB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,sCAAsC;gBACxC,CAAC;YACH,CAAC;YAED,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;QACjC,CAAC;QAED,MAAM,UAAU,GACd,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3C,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU;wBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClC,CAAC,CAAC,6BAA6B,KAAK,IAAI;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAiB;IAC9C,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,oOAAoO,EACpO;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;aACxD,QAAQ,CAAC,4BAA4B,CAAC;QACzC,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mCAAmC,CAAC;KACjD,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,UAAU,IAAI,sCAAsC;qBAC3D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;YACpD,OAAO,EAAE,OAAO,IAAI,SAAS;SAC9B,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAC9D;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAiB,EAAE,MAAoB;IACnE,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8OAA8O,EAC9O;QACE,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CAAC,4DAA4D,CAAC;QACzE,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,+BAA+B,IAAI,4CAA4C;qBACtF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,4BAA4B,IAAI,yBAAyB;yBAChE;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAE3C,oBAAoB;YACpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,mCAAmC;YACnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAC3C,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACnC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAExD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACjC,OAAO,CACR,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAG,QAA8B,CAAC,KAAK,CAAC,EACtD,IAAI,CAAC,OAAO,EACZ,OAAO,CACR,CAAC;YAEF,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;YAE3B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,SAAS,EAAE,IAAI;4BACf,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,eAAe,EAAE,IAAI,CAAC,eAAe;yBACtC,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,sBAAsB,IAAI,MAAM,OAAO,EAAE;qBAChD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skillbase/spm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Package manager for AI skills — discover, install, and publish reusable prompts and tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": "https://github.com/skillbase/spm",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"test": "vitest run",
|
|
38
38
|
"test:watch": "vitest",
|
|
39
39
|
"test:coverage": "vitest run --coverage",
|
|
40
|
+
"version": "bash scripts/release-changelog.sh",
|
|
40
41
|
"prepublishOnly": "npm run build && npm test"
|
|
41
42
|
},
|
|
42
43
|
"engines": {
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
"@skillbase/spm": "^0.1.1",
|
|
51
52
|
"ajv": "^8.18.0",
|
|
52
53
|
"commander": "^14.0.3",
|
|
54
|
+
"jsonc-parser": "^3.3.1",
|
|
53
55
|
"semver": "^7.7.4",
|
|
54
56
|
"tar-stream": "^3.1.8"
|
|
55
57
|
},
|