@grunnverk/kodrdriv 1.5.2 → 1.5.3
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/dist/constants.js +1 -1
- package/dist/mcp-server.js +20 -6
- package/dist/mcp-server.js.map +2 -2
- package/package.json +1 -1
- package/WORKSPACE-EXCLUSION-FIX.md +0 -99
package/package.json
CHANGED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# Workspace Exclusion Fix
|
|
2
|
-
|
|
3
|
-
## Problem
|
|
4
|
-
|
|
5
|
-
The `check_development` MCP prompt was incorrectly identifying test directories and documentation directories as packages that needed to be checked. This resulted in false positives for packages like:
|
|
6
|
-
|
|
7
|
-
- `kodrdriv-docs` (in `doc/` or `docs/`)
|
|
8
|
-
- `@test/external-unlink-test` (in `test-*/`)
|
|
9
|
-
- `@test/app` (in `test-*/`)
|
|
10
|
-
- `test-project` (in `test-*/`)
|
|
11
|
-
|
|
12
|
-
These directories should be excluded from workspace scanning as they are not real packages that need development readiness checks.
|
|
13
|
-
|
|
14
|
-
## Root Cause
|
|
15
|
-
|
|
16
|
-
Two functions were calling `scanForPackageJsonFiles` without passing exclusion patterns:
|
|
17
|
-
|
|
18
|
-
1. **`check-development.ts`** - The `executeCheckDevelopment` function
|
|
19
|
-
2. **`shared.ts`** - The `discoverTreePackages` function (used by all tree tools)
|
|
20
|
-
|
|
21
|
-
The `workspace.ts` resource already had the correct exclusion logic, but it wasn't being used consistently across all tools.
|
|
22
|
-
|
|
23
|
-
## Solution
|
|
24
|
-
|
|
25
|
-
Added the same exclusion pattern logic to both files:
|
|
26
|
-
|
|
27
|
-
### Default Exclusion Patterns
|
|
28
|
-
|
|
29
|
-
```typescript
|
|
30
|
-
const DEFAULT_EXCLUDE_SUBPROJECTS = [
|
|
31
|
-
'doc/',
|
|
32
|
-
'docs/',
|
|
33
|
-
'test-*/',
|
|
34
|
-
];
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### Implementation
|
|
38
|
-
|
|
39
|
-
Both files now:
|
|
40
|
-
|
|
41
|
-
1. Load the kodrdriv config to get custom exclusions (if any)
|
|
42
|
-
2. Build a comprehensive list of exclusion patterns:
|
|
43
|
-
- Standard build artifacts: `node_modules/`, `dist/`, `build/`, `.git/`
|
|
44
|
-
- Subproject exclusions from config or defaults
|
|
45
|
-
3. Pass these patterns to `scanForPackageJsonFiles`
|
|
46
|
-
|
|
47
|
-
### Files Modified
|
|
48
|
-
|
|
49
|
-
- **`src/mcp/tools/check-development.ts`**
|
|
50
|
-
- Added `loadConfig` import
|
|
51
|
-
- Added `DEFAULT_EXCLUDE_SUBPROJECTS` constant
|
|
52
|
-
- Modified `executeCheckDevelopment` to load config and build exclusion patterns
|
|
53
|
-
|
|
54
|
-
- **`src/mcp/tools/shared.ts`**
|
|
55
|
-
- Added `loadConfig` import
|
|
56
|
-
- Added `DEFAULT_EXCLUDE_SUBPROJECTS` constant
|
|
57
|
-
- Modified `discoverTreePackages` to load config and build exclusion patterns
|
|
58
|
-
|
|
59
|
-
## Configuration
|
|
60
|
-
|
|
61
|
-
Users can customize exclusions in their `.kodrdrivrc.json`:
|
|
62
|
-
|
|
63
|
-
```json
|
|
64
|
-
{
|
|
65
|
-
"workspace": {
|
|
66
|
-
"excludeSubprojects": [
|
|
67
|
-
"doc/",
|
|
68
|
-
"docs/",
|
|
69
|
-
"test-*/",
|
|
70
|
-
"examples/",
|
|
71
|
-
"custom-test-dir/"
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Impact
|
|
78
|
-
|
|
79
|
-
This fix affects:
|
|
80
|
-
|
|
81
|
-
- **`check_development` prompt** - Now correctly ignores test/doc directories
|
|
82
|
-
- **All tree tools** - `tree_commit`, `tree_publish`, `tree_link`, etc. now use consistent exclusions
|
|
83
|
-
- **Workspace resource** - Already had correct behavior, now consistent with tools
|
|
84
|
-
|
|
85
|
-
## Testing
|
|
86
|
-
|
|
87
|
-
All precommit checks pass:
|
|
88
|
-
- ✅ Linting
|
|
89
|
-
- ✅ TypeScript compilation
|
|
90
|
-
- ✅ Unit tests (1055 tests passed)
|
|
91
|
-
- ✅ MCP compliance tests
|
|
92
|
-
|
|
93
|
-
## Related Files
|
|
94
|
-
|
|
95
|
-
The exclusion pattern logic is now consistent across:
|
|
96
|
-
- `src/mcp/resources/workspace.ts` (original implementation)
|
|
97
|
-
- `src/mcp/resources/tree-graph.ts` (already using exclusions)
|
|
98
|
-
- `src/mcp/tools/check-development.ts` (fixed)
|
|
99
|
-
- `src/mcp/tools/shared.ts` (fixed)
|