@createsomething/ground-mcp 0.2.0 → 0.2.2

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 CHANGED
@@ -94,17 +94,73 @@ Then add to your tool's MCP config:
94
94
 
95
95
  ## Available Tools
96
96
 
97
+ ### Core Analysis
98
+
99
+ | Tool | What it does |
100
+ |------|--------------|
101
+ | `ground_compare` | Compare two files for similarity (0.0-1.0 score) |
102
+ | `ground_count_uses` | Count symbol uses; distinguishes runtime vs type-only usages |
103
+ | `ground_check_connections` | Check if module is connected (understands Cloudflare Workers) |
104
+ | `ground_find_duplicate_functions` | Find duplicates across AND within files; supports monorepos |
105
+
106
+ ### Verified Claims (Audit Trail)
107
+
108
+ | Tool | What it does |
109
+ |------|--------------|
110
+ | `ground_claim_dead_code` | Claim code is dead — **blocked** until you've counted uses |
111
+ | `ground_claim_orphan` | Claim module is orphaned — **blocked** until you've checked connections |
112
+
113
+ ### Discovery Tools
114
+
97
115
  | Tool | What it does |
98
116
  |------|--------------|
99
- | `ground_compare` | Compare two files for similarity |
100
- | `ground_count_uses` | Count symbol uses (distinguishes definitions vs actual uses) |
101
- | `ground_check_connections` | Check if a module is connected (understands Workers) |
102
- | `ground_find_duplicate_functions` | Find copied functions across files |
103
117
  | `ground_find_orphans` | Find modules nothing imports |
104
118
  | `ground_find_dead_exports` | Find exports never imported elsewhere |
105
119
  | `ground_check_environment` | Detect Workers/Node.js API leakage |
106
- | `ground_analyze` | Batch analysis: duplicates + orphans + dead exports |
107
- | `ground_claim_*` | Make verified claims (requires checking first) |
120
+ | `ground_suggest_fix` | Get suggestions for fixing duplications |
121
+
122
+ ### Graph-Based Analysis (Fast Repo-Wide Scans)
123
+
124
+ | Tool | What it does |
125
+ |------|--------------|
126
+ | `ground_build_graph` | Build symbol graph for repo-wide analysis |
127
+ | `ground_query_dead` | Query graph for dead exports (filters framework conventions) |
128
+
129
+ ### AI-Native Tools
130
+
131
+ | Tool | What it does |
132
+ |------|--------------|
133
+ | `ground_analyze` | Batch analysis: duplicates + dead exports + orphans + environment |
134
+ | `ground_diff` | Incremental analysis vs git baseline (only NEW issues) |
135
+ | `ground_verify_fix` | Verify a fix was applied correctly |
136
+
137
+ ## MCP Apps (Interactive UIs)
138
+
139
+ Ground supports the [MCP Apps extension](https://modelcontextprotocol.io/docs/concepts/apps) for interactive visualization directly in the conversation.
140
+
141
+ ### Duplicate Explorer UI
142
+
143
+ When you call duplicate analysis tools (`ground_find_duplicate_functions`, `ground_compare`, `ground_suggest_fix`), supported MCP clients can render an interactive duplicate explorer:
144
+
145
+ - Visual similarity scores with color-coded badges
146
+ - Expandable cards showing side-by-side file comparison
147
+ - Adjustable similarity threshold slider
148
+ - One-click compare and suggest fix actions
149
+ - Real-time filtering and search
150
+
151
+ **Supported Clients**: Claude.ai, VS Code (Insiders), ChatGPT, Goose
152
+
153
+ The UI is served via `ui://ground/duplicate-explorer` resource and communicates with the server via postMessage.
154
+
155
+ ### Design System Analysis (v2.1)
156
+
157
+ | Tool | What it does |
158
+ |------|--------------|
159
+ | `ground_find_drift` | Find design token violations (hardcoded colors, spacing, etc.) |
160
+ | `ground_adoption_ratio` | Calculate token adoption percentage with health thresholds |
161
+ | `ground_suggest_pattern` | Suggest tokens to replace hardcoded values |
162
+ | `ground_mine_patterns` | Discover implicit patterns that should become tokens |
163
+ | `ground_explain` | AI-native traceability — explain why files are excluded |
108
164
 
109
165
  ## Usage Examples
110
166
 
@@ -122,6 +178,20 @@ Check if the old-utils module is still connected to anything
122
178
  Run ground_analyze on packages/sdk to find dead code
123
179
  ```
124
180
 
181
+ ```
182
+ What's the CSS token adoption ratio in packages/components?
183
+ ```
184
+
185
+ ```
186
+ Find design drift in my CSS files only (use extensions: "css")
187
+ ```
188
+
189
+ ## What's New in 0.2.1
190
+
191
+ - **`ground_explain`** — AI-native context traceability. Explains why files are excluded from violation checks (e.g., video-rendering contexts, third-party CSS)
192
+ - **`ground_find_drift` extensions filter** — Analyze specific file types (e.g., `extensions: "css"` for CSS-only analysis)
193
+ - **Context system** — Configure intentional exclusions in `.ground.yml` with full audit trail
194
+
125
195
  ## Philosophy
126
196
 
127
197
  Ground is based on a simple principle: **no claim without evidence**.
@@ -132,6 +202,16 @@ Ground is based on a simple principle: **no claim without evidence**.
132
202
 
133
203
  This prevents AI hallucination by requiring computation before synthesis.
134
204
 
205
+ ## Configuration
206
+
207
+ Ground loads `.ground.yml` from your project root for:
208
+ - Ignore patterns (functions, files, directories)
209
+ - Known drift exceptions with documented reasons
210
+ - Context declarations for intentional exclusions
211
+ - Similarity thresholds
212
+
213
+ See [Full Documentation](https://github.com/createsomethingtoday/create-something-monorepo/tree/main/packages/ground) for configuration reference.
214
+
135
215
  ## Links
136
216
 
137
217
  - [Full Documentation](https://github.com/createsomethingtoday/create-something-monorepo/tree/main/packages/ground)
package/bin/ground-mcp CHANGED
Binary file
package/install.js CHANGED
@@ -46,8 +46,8 @@ function getBinaryName() {
46
46
 
47
47
  function getDownloadUrl(binaryName) {
48
48
  const ext = process.platform === 'win32' ? 'zip' : 'tar.gz';
49
- // Tag format: ground-v0.1.0
50
- return `https://github.com/${REPO}/releases/download/ground-v${VERSION}/ground-${binaryName}.${ext}`;
49
+ // Tag format: v0.2.0
50
+ return `https://github.com/${REPO}/releases/download/v${VERSION}/ground-${binaryName}.${ext}`;
51
51
  }
52
52
 
53
53
  async function download(url) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@createsomething/ground-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Grounded claims for code. MCP server that prevents AI hallucination in code analysis.",
5
5
  "author": "CREATE SOMETHING <hello@createsomething.io>",
6
6
  "license": "MIT",