@redaksjon/brennpunkt 0.0.3 → 0.1.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/README.md +23 -0
- package/dist/main.js +1 -1
- package/dist/mcp/server.js +688 -3
- package/dist/mcp/server.js.map +1 -1
- package/guide/ai-integration.md +42 -0
- package/package.json +10 -4
package/guide/ai-integration.md
CHANGED
|
@@ -121,6 +121,48 @@ All tools read EXISTING coverage data (lcov.info) — they do NOT run tests.
|
|
|
121
121
|
| `brennpunkt_get_file_coverage` | Detailed coverage for a specific file |
|
|
122
122
|
| `brennpunkt_estimate_impact` | "If I test these files, will I hit 90%?" |
|
|
123
123
|
|
|
124
|
+
### Available MCP Resources (NEW in v0.1.0)
|
|
125
|
+
|
|
126
|
+
Resources provide direct access to coverage data without tool calls, enabling AI assistants to read and analyze data more efficiently.
|
|
127
|
+
|
|
128
|
+
| Resource URI | Purpose |
|
|
129
|
+
|--------------|---------|
|
|
130
|
+
| `brennpunkt://coverage/{projectPath}` | Full coverage data as JSON for complex analysis |
|
|
131
|
+
| `brennpunkt://file/{projectPath}/{filePath}` | Detailed single-file coverage |
|
|
132
|
+
| `brennpunkt://priorities?project={path}&top={n}` | Pre-ranked priority list with filtering |
|
|
133
|
+
| `brennpunkt://config/{projectPath}` | Project configuration (yaml or defaults) |
|
|
134
|
+
| `brennpunkt://quick-wins?project={path}` | Small files with high impact potential |
|
|
135
|
+
|
|
136
|
+
**Why Resources?** Resources allow AI to:
|
|
137
|
+
- Read coverage data once and reason about it multiple times
|
|
138
|
+
- Perform complex analysis like "Compare branch coverage across all auth files"
|
|
139
|
+
- Access cacheable datasets that change infrequently
|
|
140
|
+
- Fetch multiple resources in parallel
|
|
141
|
+
|
|
142
|
+
### Available MCP Prompts (NEW in v0.1.0)
|
|
143
|
+
|
|
144
|
+
Prompts are workflow templates that guide coverage improvement, transforming brennpunkt from a data provider to a coverage improvement partner.
|
|
145
|
+
|
|
146
|
+
| Prompt | Purpose | Key Arguments |
|
|
147
|
+
|--------|---------|---------------|
|
|
148
|
+
| `improve_coverage` | Complete workflow to reach target percentage | projectPath, targetPercentage, focusMetric |
|
|
149
|
+
| `analyze_gaps` | Understand patterns in coverage gaps | projectPath, targetPercentage |
|
|
150
|
+
| `quick_wins_workflow` | Find fast paths to improvement | projectPath, timeConstraint |
|
|
151
|
+
| `coverage_review` | Detailed review with test suggestions | projectPath, filePattern |
|
|
152
|
+
|
|
153
|
+
**Example Prompt Usage:**
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Human: I need to get to 90% coverage
|
|
157
|
+
|
|
158
|
+
AI: [invokes improve_coverage prompt with projectPath and targetPercentage=90]
|
|
159
|
+
AI: I'll help you reach 90% coverage. Let me check your current state...
|
|
160
|
+
AI: [calls brennpunkt_coverage_summary]
|
|
161
|
+
AI: You're at 82%, need 8% improvement...
|
|
162
|
+
AI: [calls brennpunkt_get_priorities]
|
|
163
|
+
AI: Here are the top 3 files to test: ...
|
|
164
|
+
```
|
|
165
|
+
|
|
124
166
|
### Setting Up MCP
|
|
125
167
|
|
|
126
168
|
#### 1. Install Brennpunkt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redaksjon/brennpunkt",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Coverage priority analyzer - identify where to focus testing efforts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -31,8 +31,13 @@
|
|
|
31
31
|
"lint": "eslint . --ext .ts",
|
|
32
32
|
"lint:fix": "eslint . --ext .ts --fix",
|
|
33
33
|
"clean": "rm -rf dist",
|
|
34
|
-
"precommit": "npm run lint && npm run test",
|
|
35
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
34
|
+
"precommit": "npm run lint && npm run test && npm run mcp:test",
|
|
35
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
36
|
+
"mcp:build": "npm run build && echo 'MCP server built'",
|
|
37
|
+
"mcp:inspect": "npm run build && npx @modelcontextprotocol/inspector dist/mcp/server.js",
|
|
38
|
+
"mcp:inspect:dev": "nodemon --watch src --ext ts --exec 'npm run mcp:inspect'",
|
|
39
|
+
"mcp:test": "node scripts/test-mcp-compliance.js",
|
|
40
|
+
"mcp:start": "node dist/mcp/server.js"
|
|
36
41
|
},
|
|
37
42
|
"keywords": [
|
|
38
43
|
"coverage",
|
|
@@ -59,9 +64,10 @@
|
|
|
59
64
|
"devDependencies": {
|
|
60
65
|
"@eslint/eslintrc": "^3.3.1",
|
|
61
66
|
"@eslint/js": "^9.39.1",
|
|
67
|
+
"@modelcontextprotocol/inspector": "^0.18.0",
|
|
62
68
|
"@rollup/plugin-replace": "^6.0.3",
|
|
63
69
|
"@swc/core": "^1.15.1",
|
|
64
|
-
"@types/node": "^
|
|
70
|
+
"@types/node": "^25.0.9",
|
|
65
71
|
"@typescript-eslint/eslint-plugin": "^8.46.4",
|
|
66
72
|
"@typescript-eslint/parser": "^8.46.4",
|
|
67
73
|
"@vitest/coverage-v8": "^4.0.8",
|