bluera-knowledge 0.11.4 → 0.11.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.
@@ -1,5 +1,18 @@
1
1
  {
2
2
  "name": "bluera-knowledge",
3
- "version": "0.11.4",
4
- "description": "Clone repos, crawl docs, search locally. Fast, authoritative answers for AI coding agents."
3
+ "version": "0.11.6",
4
+ "description": "Clone repos, crawl docs, search locally. Fast, authoritative answers for AI coding agents.",
5
+ "mcpServers": {
6
+ "bluera-knowledge": {
7
+ "command": "node",
8
+ "args": [
9
+ "${CLAUDE_PLUGIN_ROOT}/dist/mcp/server.js"
10
+ ],
11
+ "env": {
12
+ "PROJECT_ROOT": "${PWD}",
13
+ "DATA_DIR": ".bluera/bluera-knowledge/data",
14
+ "CONFIG_PATH": ".bluera/bluera-knowledge/config.json"
15
+ }
16
+ }
17
+ }
5
18
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.11.6](https://github.com/blueraai/bluera-knowledge/compare/v0.10.0...v0.11.6) (2026-01-10)
6
+
7
+
8
+ ### Features
9
+
10
+ * add file logging to background worker for visibility ([6d7a751](https://github.com/blueraai/bluera-knowledge/commit/6d7a751de59a566c34b03b434c772ecde3770b2c))
11
+ * **analysis:** add custom language extensibility framework with ZIL adapter ([c4dc526](https://github.com/blueraai/bluera-knowledge/commit/c4dc526467c70dbc3fb28e7e5d7620a90cc3bf95))
12
+ * require env vars with no defaults (fail fast) ([b404cd6](https://github.com/blueraai/bluera-knowledge/commit/b404cd60374e0a7c5ace89f1ef0235bfc5c799fa))
13
+ * **sync:** add git-committable store definitions with sync command ([5cfa925](https://github.com/blueraai/bluera-knowledge/commit/5cfa92580397f193fda75ea61197fb4c9d9d4b0a))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **crawl:** handle Claude CLI structured_output wrapper in intelligent crawl ([54ea74b](https://github.com/blueraai/bluera-knowledge/commit/54ea74bca6d4b7263ef11a8290416e0d66b8d37f))
19
+ * **test:** add timeout to flaky search test ([5848b76](https://github.com/blueraai/bluera-knowledge/commit/5848b7648a547510fc2333f283ae835a6ca9efef))
20
+ * use relative path in .mcp.json for project-level MCP config ([6d7a55e](https://github.com/blueraai/bluera-knowledge/commit/6d7a55ef86dd5ac5d568feafa3ab207faa843d46))
21
+
22
+ ## [0.11.5](https://github.com/blueraai/bluera-knowledge/compare/v0.10.0...v0.11.5) (2026-01-10)
23
+
24
+
25
+ ### Features
26
+
27
+ * add file logging to background worker for visibility ([6d7a751](https://github.com/blueraai/bluera-knowledge/commit/6d7a751de59a566c34b03b434c772ecde3770b2c))
28
+ * **analysis:** add custom language extensibility framework with ZIL adapter ([c4dc526](https://github.com/blueraai/bluera-knowledge/commit/c4dc526467c70dbc3fb28e7e5d7620a90cc3bf95))
29
+ * require env vars with no defaults (fail fast) ([b404cd6](https://github.com/blueraai/bluera-knowledge/commit/b404cd60374e0a7c5ace89f1ef0235bfc5c799fa))
30
+ * **sync:** add git-committable store definitions with sync command ([5cfa925](https://github.com/blueraai/bluera-knowledge/commit/5cfa92580397f193fda75ea61197fb4c9d9d4b0a))
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * **crawl:** handle Claude CLI structured_output wrapper in intelligent crawl ([54ea74b](https://github.com/blueraai/bluera-knowledge/commit/54ea74bca6d4b7263ef11a8290416e0d66b8d37f))
36
+ * **test:** add timeout to flaky search test ([5848b76](https://github.com/blueraai/bluera-knowledge/commit/5848b7648a547510fc2333f283ae835a6ca9efef))
37
+
5
38
  ## [0.11.4](https://github.com/blueraai/bluera-knowledge/compare/v0.10.0...v0.11.4) (2026-01-10)
6
39
 
7
40
 
package/README.md CHANGED
@@ -1147,7 +1147,7 @@ playwright install chromium
1147
1147
 
1148
1148
  ## 🔌 MCP Integration
1149
1149
 
1150
- The plugin includes a Model Context Protocol server that exposes search tools. This is configured in `mcp.plugin.json`:
1150
+ The plugin includes a Model Context Protocol server that exposes search tools. This is configured inline in `.claude-plugin/plugin.json`:
1151
1151
 
1152
1152
  > [!IMPORTANT]
1153
1153
  > **Commands vs MCP Tools**: You interact with the plugin using `/bluera-knowledge:` slash commands. Behind the scenes, these commands instruct Claude Code to use MCP tools (`mcp__bluera-knowledge__*`) which handle the actual operations. Commands provide the user interface, while MCP tools are the backend that AI agents use to access your knowledge stores.
@@ -1159,6 +1159,7 @@ The plugin includes a Model Context Protocol server that exposes search tools. T
1159
1159
  "command": "node",
1160
1160
  "args": ["${CLAUDE_PLUGIN_ROOT}/dist/mcp/server.js"],
1161
1161
  "env": {
1162
+ "PROJECT_ROOT": "${PWD}",
1162
1163
  "DATA_DIR": ".bluera/bluera-knowledge/data",
1163
1164
  "CONFIG_PATH": ".bluera/bluera-knowledge/config.json"
1164
1165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bluera-knowledge",
3
- "version": "0.11.4",
3
+ "version": "0.11.6",
4
4
  "description": "CLI tool for managing knowledge stores with semantic search",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,64 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { readFileSync, existsSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ /**
6
+ * Tests to verify plugin.json is correctly configured for MCP server.
7
+ * The MCP server must work when the plugin is installed via marketplace.
8
+ *
9
+ * Key requirements:
10
+ * - Must use ${CLAUDE_PLUGIN_ROOT} for server path (resolves to plugin cache)
11
+ * - Must set PROJECT_ROOT env var (required by server fail-fast check)
12
+ * - Must NOT use relative paths (would resolve to user's project, not plugin)
13
+ */
14
+ describe('Plugin MCP Configuration (.claude-plugin/plugin.json)', () => {
15
+ const configPath = join(process.cwd(), '.claude-plugin/plugin.json');
16
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
17
+
18
+ it('has mcpServers configuration inline', () => {
19
+ expect(config).toHaveProperty('mcpServers');
20
+ expect(config.mcpServers).toHaveProperty('bluera-knowledge');
21
+ });
22
+
23
+ it('uses ${CLAUDE_PLUGIN_ROOT} for server path (required for plugin mode)', () => {
24
+ const serverConfig = config.mcpServers['bluera-knowledge'];
25
+ const argsString = JSON.stringify(serverConfig.args);
26
+
27
+ // CLAUDE_PLUGIN_ROOT is set by Claude Code when plugin is installed
28
+ // This ensures the path resolves to the plugin cache, not user's project
29
+ expect(argsString).toContain('${CLAUDE_PLUGIN_ROOT}');
30
+ expect(argsString).toContain('dist/mcp/server.js');
31
+ });
32
+
33
+ it('does NOT use relative paths (would break in plugin mode)', () => {
34
+ const serverConfig = config.mcpServers['bluera-knowledge'];
35
+ const argsString = JSON.stringify(serverConfig.args);
36
+
37
+ // Relative paths like ./dist would resolve to user's project directory
38
+ // which doesn't have the plugin's dist folder
39
+ expect(argsString).not.toMatch(/"\.\//);
40
+ });
41
+
42
+ it('sets PROJECT_ROOT environment variable (required by fail-fast server)', () => {
43
+ const serverConfig = config.mcpServers['bluera-knowledge'];
44
+
45
+ // PROJECT_ROOT is required since b404cd6 (fail-fast change)
46
+ expect(serverConfig.env).toHaveProperty('PROJECT_ROOT');
47
+ expect(serverConfig.env['PROJECT_ROOT']).toBe('${PWD}');
48
+ });
49
+ });
50
+
51
+ /**
52
+ * Tests to ensure .mcp.json is NOT distributed with the plugin.
53
+ * .mcp.json at project root causes confusion between plugin and project config.
54
+ */
55
+ describe('No conflicting .mcp.json in repo', () => {
56
+ it('does NOT have .mcp.json in repo root (prevents config confusion)', () => {
57
+ const mcpJsonPath = join(process.cwd(), '.mcp.json');
58
+
59
+ // .mcp.json should NOT exist in the repo
60
+ // - For plugin mode: use mcpServers in plugin.json
61
+ // - For development: use ~/.claude.json per README
62
+ expect(existsSync(mcpJsonPath)).toBe(false);
63
+ });
64
+ });
package/.mcp.json DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "bluera-knowledge": {
4
- "command": "node",
5
- "args": ["${CLAUDE_PLUGIN_ROOT}/dist/mcp/server.js"],
6
- "env": {
7
- "DATA_DIR": ".bluera/bluera-knowledge/data",
8
- "CONFIG_PATH": ".bluera/bluera-knowledge/config.json"
9
- }
10
- }
11
- }
12
- }