@theglitchking/semantic-pages 0.6.2 → 0.6.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.
@@ -6,13 +6,13 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Official marketplace for semantic-pages - Semantic search + knowledge graph MCP server with auto-wiring for .claude/.vault and hit-em-with-the-docs companion",
9
- "version": "0.6.2"
9
+ "version": "0.6.3"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "semantic-pages",
14
14
  "description": "Semantic search + knowledge graph MCP server for markdown vaults. Auto-wires a read/write vault at .claude/.vault, and a read-only docs index at .documentation when hit-em-with-the-docs is also installed.",
15
- "version": "0.6.2",
15
+ "version": "0.6.3",
16
16
  "author": {
17
17
  "name": "TheGlitchKing"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "semantic-pages",
3
3
  "description": "Semantic search + knowledge graph MCP server for markdown vaults. Auto-wires a read/write vault at .claude/.vault, and a read-only docs index at .documentation when hit-em-with-the-docs is also installed.",
4
- "version": "0.6.2",
4
+ "version": "0.6.3",
5
5
  "author": {
6
6
  "name": "TheGlitchKing",
7
7
  "email": "theglitchking@users.noreply.github.com"
package/README.md CHANGED
@@ -193,6 +193,7 @@ These commands run in your terminal and manage your notes index.
193
193
  | `semantic-pages --notes <path>` | Start MCP server (default mode) |
194
194
  | `semantic-pages --notes <path> --stats` | Show vault statistics and exit |
195
195
  | `semantic-pages --notes <path> --reindex` | Force full reindex and exit |
196
+ | `semantic-pages --notes <path> --wait-for-ready` | Block startup until indexing finishes (default: index in background) |
196
197
  | `semantic-pages --notes <path> --no-watch` | Start server without file watcher |
197
198
  | `semantic-pages tools` | List all 21 MCP tools with descriptions |
198
199
  | `semantic-pages tools <name>` | Show arguments and examples for a specific tool |
@@ -287,6 +288,22 @@ semantic-pages --notes ./vault --reindex
287
288
 
288
289
  ---
289
290
 
291
+ **`--wait-for-ready` - Block startup until the index is fully built** *(0.6.2+)*
292
+
293
+ **How to use it**:
294
+ ```bash
295
+ semantic-pages --notes ./vault --wait-for-ready
296
+ ```
297
+
298
+ **When to use it**:
299
+ - Scripted setups where you need to know the server is actually ready before sending tool calls
300
+ - CI / test harnesses that should not race against background indexing
301
+ - Anywhere you'd otherwise have to poll `get_stats` until `indexState === "ready"`
302
+
303
+ **What to expect**: The default behavior is to start the server immediately and build the index in the background — search/list tools return `"Indexing in progress..."` until ready. With `--wait-for-ready`, startup blocks until the model is loaded and the index is fully built; the first tool call you make is guaranteed to hit live data. Trade-off: longer startup, no polling needed.
304
+
305
+ ---
306
+
290
307
  #### MCP Tools
291
308
 
292
309
  When the server is running (via `.mcp.json` or CLI), Claude has access to these 21 tools:
@@ -454,6 +471,28 @@ The deployment guide links to the microservices overview, which links to the use
454
471
 
455
472
  ---
456
473
 
474
+ ## Bundled Skills
475
+
476
+ Semantic Pages ships with a Claude Code skill that auto-routes documentation lookups and research tasks through the MCP servers this plugin installs.
477
+
478
+ ### `semantic-first` *(0.6.1+)*
479
+
480
+ A repo-agnostic skill that teaches Claude to reach for `semantic-pages` and `semantic-vault` **before** falling back to `Grep` / `Glob` / inline web research. It defines two flows that compose:
481
+
482
+ - **Flow A — docs lookup.** Triggers on prose questions about the current repo ("how does this repo handle X?", "what's our deploy process?", "where's the guide for Y?"). Routes to `mcp__semantic-pages__search_hybrid`, reads the top hits via `read_note`, and answers with filename citations. Activates when the companion plugin [`hit-em-with-the-docs`](https://github.com/TheGlitchKing/hit-em-with-the-docs) is also installed (that's the plugin that owns the docs index).
483
+ - **Flow B — research notes.** Triggers on evaluative or comparative questions ("what's the best X for Y?", "is there a better alternative to Z?", any "research/investigate/look into"). Searches `.claude/.vault` for prior research, does fresh web research if needed, and writes findings to `.claude/.vault/<slug>.md` with structured frontmatter (16 fields adapted from the hewtd 22-field schema). The vault note is the canonical artifact; the chat answer summarizes it with a filename pointer.
484
+
485
+ Each flow probes its MCP server independently and degrades gracefully when one isn't available.
486
+
487
+ **Where it lives in the package**: `skills/semantic-first/` (shipped in the npm tarball as of 0.6.1).
488
+ - `SKILL.md` — main skill body
489
+ - `references/vault-frontmatter.md` — the 16-field vault note schema with per-field rationale
490
+ - `evals/evals.json` — the 4 test prompts the skill was iterated against during development
491
+
492
+ When you install `semantic-pages` via the Claude Code plugin marketplace or via npm, Claude Code picks up this skill automatically — no extra wiring required.
493
+
494
+ ---
495
+
457
496
  ## Common Workflows
458
497
 
459
498
  ### Quick Vault Check (10 seconds)
@@ -4604,6 +4604,10 @@ async function createServer(notesPath, options = {}) {
4604
4604
  async function startServer(notesPath, options = {}) {
4605
4605
  const server = await createServer(notesPath, options);
4606
4606
  const transport = new StdioServerTransport();
4607
+ process.stdin.once("end", () => process.exit(0));
4608
+ process.stdin.once("close", () => process.exit(0));
4609
+ process.once("SIGTERM", () => process.exit(0));
4610
+ process.once("SIGHUP", () => process.exit(0));
4607
4611
  await server.connect(transport);
4608
4612
  }
4609
4613
  export {