archprint 0.8.2 → 0.8.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # archprint
2
2
 
3
+ ## 0.8.3
4
+
5
+ ### Patch Changes
6
+
7
+ - The MCP server is ready for MCP directories. Each tool now has a human-readable title and is marked read-only and non-destructive, so clients can show it as safe to run (the remote `--http` tools are also marked as reaching the internet). The package declares its MCP Registry name, and every release publishes to the official MCP Registry automatically. `archprint scan` now labels each rule group the same way `init` and `recommend` do: dependency hygiene and dependency declaration read "review before enforcing", and circular dependencies read "report only". The README lists example prompts to ask your agent.
8
+
3
9
  ## 0.8.2
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -288,6 +288,13 @@ scan (for example `AP-002` or `env-access`). Point Claude Desktop, Claude Code,
288
288
  }
289
289
  ```
290
290
 
291
+ **Things to ask your agent.** You do not name the tools; the agent picks them:
292
+
293
+ - "What architecture rules does this repo already follow?"
294
+ - "Which file breaks the env-access rule, and how should I fix it?"
295
+ - "I am adding a new API route. What rules should it follow in this codebase?"
296
+ - "Which rules should we enforce now, and which are worth adopting?"
297
+
291
298
  **Your code stays on your machine.** This default is a local server: it reads your local checkout, so it is the
292
299
  one to use for private code, and your source never leaves your machine, whichever git host you use.
293
300
 
@@ -1,6 +1,8 @@
1
1
  import { type FamilyKey } from '../detector/family-maturity.js';
2
2
  import type { InstalledEnforcers } from '../scanner/enforcers.js';
3
3
  import type { ScanResult } from './scan.js';
4
+ export type AutoTier = 'enforce' | 'report-only' | 'review';
5
+ export declare function autoTier(key: FamilyKey): AutoTier;
4
6
  export declare function resolveEnforcer(key: FamilyKey, enforcers: InstalledEnforcers): string;
5
7
  export declare function detectStack(appDir: string): Set<string>;
6
8
  export interface Recommendation {
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/cli/recommend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AA2B5C,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAarF;AAoID,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAqBvD;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAaD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,SAAS,EAAE,kBAAkB,GAC5B,eAAe,CA+BjB"}
1
+ {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/cli/recommend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AA2B5C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE5D,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,QAAQ,CAGjD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAarF;AAoID,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAqBvD;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAaD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,SAAS,EAAE,kBAAkB,GAC5B,eAAe,CAgCjB"}
@@ -25,6 +25,11 @@ const FAMILY_TOOL = {
25
25
  orphans: 'none',
26
26
  reachability: 'none',
27
27
  };
28
+ export function autoTier(key) {
29
+ if (!isStableFamily(key))
30
+ return 'review';
31
+ return FAMILY_TOOL[key] === 'none' ? 'report-only' : 'enforce';
32
+ }
28
33
  export function resolveEnforcer(key, enforcers) {
29
34
  const depcruise = enforcers.dependencyCruiser;
30
35
  const eslint = enforcers.eslint || !enforcers.dependencyCruiser;
@@ -214,8 +219,9 @@ export function buildRecommendations(scan, stack, enforcers) {
214
219
  rate: adoptionRate(family.title, stack),
215
220
  enforcer: resolveEnforcer(family.key, enforcers),
216
221
  };
217
- if (status === 'AUTO' && isStableFamily(family.key))
218
- (FAMILY_TOOL[family.key] === 'none' ? reportOnly : enforceNow).push(entry);
222
+ const tier = autoTier(family.key);
223
+ if (status === 'AUTO' && tier !== 'review')
224
+ (tier === 'report-only' ? reportOnly : enforceNow).push(entry);
219
225
  else if (status === 'AUTO' || status === 'SUGGEST')
220
226
  review.push(entry);
221
227
  else if (entry.rate === null || entry.rate >= ADOPT_THRESHOLD)
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../../src/cli/recommend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../../src/cli/recommend.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ScannedPattern, ScanResult } from './scan.js';
2
- import type { Recommendations } from './recommend.js';
2
+ import { type Recommendations } from './recommend.js';
3
3
  import { type ArchprintConfig } from './archprint-config.js';
4
4
  export declare function renderReport(scan: ScanResult, version: string, elapsedMs?: number, deep?: boolean): string;
5
5
  export declare function renderExplain(pattern: ScannedPattern, appDir: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA0G1E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,UAAQ,GACX,MAAM,CAyWR;AAUD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmC7E;AAkBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAyB/D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASpF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAuCnF;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,CA+CR"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkH1E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,UAAQ,GACX,MAAM,CAyWR;AAUD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmC7E;AAkBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAyB/D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASpF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAuCnF;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,CA+CR"}
@@ -1,4 +1,5 @@
1
1
  import { reachesLayer } from '../detector/reachability.js';
2
+ import { autoTier } from './recommend.js';
2
3
  import { CONFIG_FILE } from './archprint-config.js';
3
4
  import { locateImport } from './codeframe.js';
4
5
  import { guidanceFor } from './rule-guidance.js';
@@ -80,6 +81,12 @@ function roleLayerLines(boundary) {
80
81
  }
81
82
  return lines;
82
83
  }
84
+ const AUTO_LABELS = {
85
+ enforce: '(enforceable)',
86
+ 'report-only': '(report only, no rule written yet)',
87
+ review: '(review before enforcing)',
88
+ };
89
+ const autoLabel = (key) => AUTO_LABELS[autoTier(key)];
83
90
  export function renderReport(scan, version, elapsedMs, deep = false) {
84
91
  const auto = scan.patterns.filter((pattern) => pattern.result.gate.status === 'AUTO');
85
92
  const suggest = scan.patterns.filter((pattern) => pattern.result.gate.status === 'SUGGEST');
@@ -107,7 +114,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
107
114
  const autoLayers = scan.layerBoundaries.filter((boundary) => boundary.gate.status === 'AUTO');
108
115
  const suggestLayers = scan.layerBoundaries.filter((boundary) => boundary.gate.status === 'SUGGEST');
109
116
  if (autoLayers.length > 0) {
110
- lines.push(green(bold('LAYER BOUNDARIES (review before enforcing)')));
117
+ lines.push(green(bold(`LAYER BOUNDARIES ${autoLabel('layer')}`)));
111
118
  for (const boundary of autoLayers) {
112
119
  lines.push(...layerLines(boundary));
113
120
  if (reachesLayer(scan.reachability, boundary.from, boundary.to)) {
@@ -128,7 +135,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
128
135
  const autoRoles = scan.roleLayering.boundaries.filter((b) => b.gate.status === 'AUTO');
129
136
  const suggestRoles = scan.roleLayering.boundaries.filter((b) => b.gate.status === 'SUGGEST');
130
137
  if (autoRoles.length > 0) {
131
- lines.push(green(bold('ROLE LAYERING (review before enforcing)')));
138
+ lines.push(green(bold(`ROLE LAYERING ${autoLabel('role-layering')}`)));
132
139
  for (const boundary of autoRoles)
133
140
  lines.push(...roleLayerLines(boundary));
134
141
  lines.push('');
@@ -153,7 +160,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
153
160
  lines.push('');
154
161
  }
155
162
  else if (scan.cycles.gate.status === 'AUTO') {
156
- lines.push(green('No circular dependencies (the no-cycles rule is enforceable).'), '');
163
+ lines.push(green(`No circular dependencies ${autoLabel('cycles')}.`), '');
157
164
  }
158
165
  if (scan.orphans.orphans.length > 0) {
159
166
  lines.push(yellow(bold(`ORPHAN MODULES (${scan.orphans.orphans.length}, review before deleting)`)));
@@ -169,7 +176,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
169
176
  const autoApi = scan.publicApi.groups.filter((g) => g.gate.status === 'AUTO');
170
177
  const suggestApi = scan.publicApi.groups.filter((g) => g.gate.status === 'SUGGEST');
171
178
  if (autoApi.length > 0) {
172
- lines.push(green(bold('PUBLIC API BOUNDARIES (enforceable)')));
179
+ lines.push(green(bold(`PUBLIC API BOUNDARIES ${autoLabel('public-api')}`)));
173
180
  for (const g of autoApi)
174
181
  lines.push(...apiLines(g));
175
182
  lines.push('');
@@ -185,7 +192,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
185
192
  const autoSlices = scan.featureSlices.groups.filter((g) => g.gate.status === 'AUTO');
186
193
  const suggestSlices = scan.featureSlices.groups.filter((g) => g.gate.status === 'SUGGEST');
187
194
  if (autoSlices.length > 0) {
188
- lines.push(green(bold('FEATURE SLICE ISOLATION (review before enforcing)')));
195
+ lines.push(green(bold(`FEATURE SLICE ISOLATION ${autoLabel('feature-slice')}`)));
189
196
  for (const g of autoSlices)
190
197
  lines.push(...sliceLines(g));
191
198
  lines.push('');
@@ -202,7 +209,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
202
209
  const autoApps = scan.appIsolation.groups.filter((g) => g.gate.status === 'AUTO');
203
210
  const suggestApps = scan.appIsolation.groups.filter((g) => g.gate.status === 'SUGGEST');
204
211
  if (autoApps.length > 0) {
205
- lines.push(green(bold('APP ISOLATION (review before enforcing)')));
212
+ lines.push(green(bold(`APP ISOLATION ${autoLabel('app-isolation')}`)));
206
213
  for (const g of autoApps)
207
214
  lines.push(...appLines(g));
208
215
  lines.push('');
@@ -220,7 +227,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
220
227
  if (testIso.testFileCount > 0 &&
221
228
  (testIso.gate.status === 'AUTO' || testIso.gate.status === 'SUGGEST')) {
222
229
  const label = testIso.gate.status === 'AUTO' ? green : yellow;
223
- const suffix = testIso.gate.status === 'AUTO' ? '(enforceable)' : '(suggested)';
230
+ const suffix = testIso.gate.status === 'AUTO' ? autoLabel('test-isolation') : '(suggested)';
224
231
  const floor = `${(testIso.gate.conditions.confidence.value * 100).toFixed(0)}%`;
225
232
  lines.push(label(bold(`TEST ISOLATION ${suffix}`)));
226
233
  lines.push(` ${FAMILY_STATEMENTS['test-isolation']} confidence ${floor}`);
@@ -234,7 +241,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
234
241
  if (deps.externalImporterCount > 0 &&
235
242
  (deps.gate.status === 'AUTO' || deps.gate.status === 'SUGGEST')) {
236
243
  const label = deps.gate.status === 'AUTO' ? green : yellow;
237
- const suffix = deps.gate.status === 'AUTO' ? '(enforceable)' : '(suggested)';
244
+ const suffix = deps.gate.status === 'AUTO' ? autoLabel('dependency-hygiene') : '(suggested)';
238
245
  const floor = `${(deps.gate.conditions.confidence.value * 100).toFixed(0)}%`;
239
246
  lines.push(label(bold(`DEPENDENCY HYGIENE ${suffix}`)));
240
247
  lines.push(` ${FAMILY_STATEMENTS['dependency-hygiene']} confidence ${floor}`);
@@ -247,7 +254,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
247
254
  const entry = scan.entryPurity;
248
255
  if (entry.entryCount > 0 && (entry.gate.status === 'AUTO' || entry.gate.status === 'SUGGEST')) {
249
256
  const label = entry.gate.status === 'AUTO' ? green : yellow;
250
- const suffix = entry.gate.status === 'AUTO' ? '(review before enforcing)' : '(suggested)';
257
+ const suffix = entry.gate.status === 'AUTO' ? autoLabel('entry-purity') : '(suggested)';
251
258
  const floor = `${(entry.gate.conditions.confidence.value * 100).toFixed(0)}%`;
252
259
  lines.push(label(bold(`ENTRY PURITY ${suffix}`)));
253
260
  lines.push(` ${FAMILY_STATEMENTS['entry-purity']} confidence ${floor}`);
@@ -261,7 +268,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
261
268
  if (phantom.externalImporterCount > 0 &&
262
269
  (phantom.gate.status === 'AUTO' || phantom.gate.status === 'SUGGEST')) {
263
270
  const label = phantom.gate.status === 'AUTO' ? green : yellow;
264
- const suffix = phantom.gate.status === 'AUTO' ? '(enforceable)' : '(suggested)';
271
+ const suffix = phantom.gate.status === 'AUTO' ? autoLabel('phantom-deps') : '(suggested)';
265
272
  const floor = `${(phantom.gate.conditions.confidence.value * 100).toFixed(0)}%`;
266
273
  lines.push(label(bold(`DEPENDENCY DECLARATION ${suffix}`)));
267
274
  lines.push(` ${FAMILY_STATEMENTS['phantom-deps']} confidence ${floor}`);
@@ -275,7 +282,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
275
282
  if (deepRel.relativeImporterCount > 0 &&
276
283
  (deepRel.gate.status === 'AUTO' || deepRel.gate.status === 'SUGGEST')) {
277
284
  const label = deepRel.gate.status === 'AUTO' ? green : yellow;
278
- const suffix = deepRel.gate.status === 'AUTO' ? '(enforceable)' : '(suggested)';
285
+ const suffix = deepRel.gate.status === 'AUTO' ? autoLabel('import-style') : '(suggested)';
279
286
  const floor = `${(deepRel.gate.conditions.confidence.value * 100).toFixed(0)}%`;
280
287
  lines.push(label(bold(`IMPORT STYLE ${suffix}`)));
281
288
  lines.push(` ${FAMILY_STATEMENTS['import-style']} confidence ${floor}`);
@@ -288,7 +295,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
288
295
  const con = scan.consoleIsolation;
289
296
  if (con.libraryFileCount > 0 && (con.gate.status === 'AUTO' || con.gate.status === 'SUGGEST')) {
290
297
  const label = con.gate.status === 'AUTO' ? green : yellow;
291
- const suffix = con.gate.status === 'AUTO' ? '(enforceable)' : '(suggested)';
298
+ const suffix = con.gate.status === 'AUTO' ? autoLabel('console-isolation') : '(suggested)';
292
299
  const floor = `${(con.gate.conditions.confidence.value * 100).toFixed(0)}%`;
293
300
  lines.push(label(bold(`CONSOLE ISOLATION ${suffix}`)));
294
301
  lines.push(` ${FAMILY_STATEMENTS['console-isolation']} confidence ${floor}`);
@@ -300,7 +307,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
300
307
  const env = scan.envAccess;
301
308
  if (env.subjectFileCount > 0 && (env.gate.status === 'AUTO' || env.gate.status === 'SUGGEST')) {
302
309
  const label = env.gate.status === 'AUTO' ? green : yellow;
303
- const suffix = env.gate.status === 'AUTO' ? '(review before enforcing)' : '(suggested)';
310
+ const suffix = env.gate.status === 'AUTO' ? autoLabel('env-access') : '(suggested)';
304
311
  const floor = `${(env.gate.conditions.confidence.value * 100).toFixed(0)}%`;
305
312
  lines.push(label(bold(`ENV ACCESS ${suffix}`)));
306
313
  lines.push(` ${FAMILY_STATEMENTS['env-access']} confidence ${floor}`);
@@ -312,7 +319,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
312
319
  const wpkg = scan.workspacePackageApi;
313
320
  if (wpkg.consumerCount > 0 && (wpkg.gate.status === 'AUTO' || wpkg.gate.status === 'SUGGEST')) {
314
321
  const label = wpkg.gate.status === 'AUTO' ? green : yellow;
315
- const suffix = wpkg.gate.status === 'AUTO' ? '(review before enforcing)' : '(suggested)';
322
+ const suffix = wpkg.gate.status === 'AUTO' ? autoLabel('workspace-package-api') : '(suggested)';
316
323
  const floor = `${(wpkg.gate.conditions.confidence.value * 100).toFixed(0)}%`;
317
324
  lines.push(label(bold(`WORKSPACE PACKAGE API ${suffix}`)));
318
325
  lines.push(` ${FAMILY_STATEMENTS['workspace-package-api']} confidence ${floor}`);
@@ -326,7 +333,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
326
333
  if (stories.storyCount > 0 &&
327
334
  (stories.gate.status === 'AUTO' || stories.gate.status === 'SUGGEST')) {
328
335
  const label = stories.gate.status === 'AUTO' ? green : yellow;
329
- const suffix = stories.gate.status === 'AUTO' ? '(review before enforcing)' : '(suggested)';
336
+ const suffix = stories.gate.status === 'AUTO' ? autoLabel('stories-isolation') : '(suggested)';
330
337
  const floor = `${(stories.gate.conditions.confidence.value * 100).toFixed(0)}%`;
331
338
  lines.push(label(bold(`STORIES ISOLATION ${suffix}`)));
332
339
  lines.push(` ${FAMILY_STATEMENTS['stories-isolation']} confidence ${floor}`);
@@ -340,7 +347,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
340
347
  if (uiData.componentCount > 0 &&
341
348
  (uiData.gate.status === 'AUTO' || uiData.gate.status === 'SUGGEST')) {
342
349
  const label = uiData.gate.status === 'AUTO' ? green : yellow;
343
- const suffix = uiData.gate.status === 'AUTO' ? '(review before enforcing)' : '(suggested)';
350
+ const suffix = uiData.gate.status === 'AUTO' ? autoLabel('ui-data') : '(suggested)';
344
351
  const floor = `${(uiData.gate.conditions.confidence.value * 100).toFixed(0)}%`;
345
352
  lines.push(label(bold(`UI / DATA SEPARATION ${suffix}`)));
346
353
  lines.push(` ${FAMILY_STATEMENTS['ui-data']} confidence ${floor}`);
@@ -353,7 +360,7 @@ export function renderReport(scan, version, elapsedMs, deep = false) {
353
360
  const sc = scan.serverClient;
354
361
  if (sc.clientCount > 0 && (sc.gate.status === 'AUTO' || sc.gate.status === 'SUGGEST')) {
355
362
  const label = sc.gate.status === 'AUTO' ? green : yellow;
356
- const suffix = sc.gate.status === 'AUTO' ? '(review before enforcing)' : '(suggested)';
363
+ const suffix = sc.gate.status === 'AUTO' ? autoLabel('server-client') : '(suggested)';
357
364
  const floor = `${(sc.gate.conditions.confidence.value * 100).toFixed(0)}%`;
358
365
  lines.push(label(bold(`SERVER / CLIENT BOUNDARY ${suffix}`)));
359
366
  lines.push(` ${FAMILY_STATEMENTS['server-client']} confidence ${floor}`);
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ import { type ToolResponse } from '../tool-response.js';
3
3
  import { type RemoteTools } from './tools.js';
4
4
  export declare const REMOTE_TOOLS: readonly [{
5
5
  readonly name: "archprint_scan";
6
+ readonly title: "Scan architecture rules";
7
+ readonly annotations: {
8
+ readonly readOnlyHint: true;
9
+ readonly destructiveHint: false;
10
+ readonly idempotentHint: true;
11
+ readonly openWorldHint: true;
12
+ };
6
13
  readonly description: "Clone a public repository by URL (read-only, ephemeral) and list the architecture rules it already follows, with the evidence: which families are AUTO (clears the confidence gate) or SUGGEST (worth review), how many files conform vs. break each, and the confidence.";
7
14
  readonly inputSchema: {
8
15
  readonly type: "object";
@@ -24,6 +31,13 @@ export declare const REMOTE_TOOLS: readonly [{
24
31
  };
25
32
  }, {
26
33
  readonly name: "archprint_recommend";
34
+ readonly title: "Recommend architecture rules";
35
+ readonly annotations: {
36
+ readonly readOnlyHint: true;
37
+ readonly destructiveHint: false;
38
+ readonly idempotentHint: true;
39
+ readonly openWorldHint: true;
40
+ };
27
41
  readonly description: "Clone a public repository by URL (read-only, ephemeral) and recommend an architecture rule set from its evidence and stack: what to enforce now, what the code already follows that archprint reports but does not write a rule for yet (reportOnly), what to review before enforcing, and what comparable repos commonly adopt that this one does not yet.";
28
42
  readonly inputSchema: {
29
43
  readonly type: "object";
@@ -41,6 +55,13 @@ export declare const REMOTE_TOOLS: readonly [{
41
55
  };
42
56
  }, {
43
57
  readonly name: "archprint_explain";
58
+ readonly title: "Explain an architecture rule";
59
+ readonly annotations: {
60
+ readonly readOnlyHint: true;
61
+ readonly destructiveHint: false;
62
+ readonly idempotentHint: true;
63
+ readonly openWorldHint: true;
64
+ };
44
65
  readonly description: "Clone a public repository by URL (read-only, ephemeral) and explain the confidence-gate evidence behind one inferred rule id (e.g. AP-002): its gate status, conformance stats, and the files that violate it.";
45
66
  readonly inputSchema: {
46
67
  readonly type: "object";
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/remote/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAa/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCf,CAAC;AAEX,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,YAAY,CAAC,CAMvB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,WAA+B,GACrC,MAAM,CAYR"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/remote/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAoB/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCf,CAAC;AAEX,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,YAAY,CAAC,CAMvB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,WAA+B,GACrC,MAAM,CAYR"}
@@ -12,9 +12,17 @@ const repoProperty = {
12
12
  description: 'branch or tag to scan (optional; defaults to the repo default branch)',
13
13
  },
14
14
  };
15
+ const READ_ONLY_REMOTE = {
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: true,
20
+ };
15
21
  export const REMOTE_TOOLS = [
16
22
  {
17
23
  name: 'archprint_scan',
24
+ title: 'Scan architecture rules',
25
+ annotations: READ_ONLY_REMOTE,
18
26
  description: 'Clone a public repository by URL (read-only, ephemeral) and list the architecture rules it already follows, with the evidence: which families are AUTO (clears the confidence gate) or SUGGEST (worth review), how many files conform vs. break each, and the confidence.',
19
27
  inputSchema: {
20
28
  type: 'object',
@@ -30,11 +38,15 @@ export const REMOTE_TOOLS = [
30
38
  },
31
39
  {
32
40
  name: 'archprint_recommend',
41
+ title: 'Recommend architecture rules',
42
+ annotations: READ_ONLY_REMOTE,
33
43
  description: 'Clone a public repository by URL (read-only, ephemeral) and recommend an architecture rule set from its evidence and stack: what to enforce now, what the code already follows that archprint reports but does not write a rule for yet (reportOnly), what to review before enforcing, and what comparable repos commonly adopt that this one does not yet.',
34
44
  inputSchema: { type: 'object', properties: { ...repoProperty }, required: ['repo'] },
35
45
  },
36
46
  {
37
47
  name: 'archprint_explain',
48
+ title: 'Explain an architecture rule',
49
+ annotations: READ_ONLY_REMOTE,
38
50
  description: 'Clone a public repository by URL (read-only, ephemeral) and explain the confidence-gate evidence behind one inferred rule id (e.g. AP-002): its gate status, conformance stats, and the files that violate it.',
39
51
  inputSchema: {
40
52
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/remote/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/remote/server.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
2
  import { type ToolResponse } from './tool-response.js';
3
3
  export declare const TOOLS: readonly [{
4
4
  readonly name: "archprint_scan";
5
+ readonly title: "Scan architecture rules";
6
+ readonly annotations: {
7
+ readonly readOnlyHint: true;
8
+ readonly destructiveHint: false;
9
+ readonly idempotentHint: true;
10
+ readonly openWorldHint: false;
11
+ };
5
12
  readonly description: "List the architecture rules this TypeScript repo already follows, with the evidence: each rule stated in plain words, whether it is AUTO (clears the confidence gate) or SUGGEST (short of it, worth review), how many files conform vs. break it, the files that break it, and the confidence. Read-only. `path` defaults to \".\" and a monorepo root scans every app.";
6
13
  readonly inputSchema: {
7
14
  readonly type: "object";
@@ -18,6 +25,13 @@ export declare const TOOLS: readonly [{
18
25
  };
19
26
  }, {
20
27
  readonly name: "archprint_recommend";
28
+ readonly title: "Recommend architecture rules";
29
+ readonly annotations: {
30
+ readonly readOnlyHint: true;
31
+ readonly destructiveHint: false;
32
+ readonly idempotentHint: true;
33
+ readonly openWorldHint: false;
34
+ };
21
35
  readonly description: "Recommend an architecture rule set for this repo from its evidence and detected stack: what to enforce now, what the code already follows that archprint reports but does not write a rule for yet (reportOnly), what to review before enforcing, and what comparable repos commonly adopt that this repo does not yet. Read-only.";
22
36
  readonly inputSchema: {
23
37
  readonly type: "object";
@@ -30,6 +44,13 @@ export declare const TOOLS: readonly [{
30
44
  };
31
45
  }, {
32
46
  readonly name: "archprint_explain";
47
+ readonly title: "Explain an architecture rule";
48
+ readonly annotations: {
49
+ readonly readOnlyHint: true;
50
+ readonly destructiveHint: false;
51
+ readonly idempotentHint: true;
52
+ readonly openWorldHint: false;
53
+ };
33
54
  readonly description: "Explain the confidence-gate evidence behind one rule from archprint_scan, by its label (e.g. AP-002, env-access, or \"lib !-> app\"): its statement, gate status, conformance stats, and every file that breaks it. Read-only.";
34
55
  readonly inputSchema: {
35
56
  readonly type: "object";
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CR,CAAC;AAEX,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAe5E;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAMlF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQpD;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDR,CAAC;AAEX,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAe5E;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAMlF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQpD;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
@@ -3,9 +3,17 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
3
3
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
4
  import { explainTool, recommendTool, scanTool } from './tools.js';
5
5
  import { errorResponse, okResponse } from './tool-response.js';
6
+ const READ_ONLY = {
7
+ readOnlyHint: true,
8
+ destructiveHint: false,
9
+ idempotentHint: true,
10
+ openWorldHint: false,
11
+ };
6
12
  export const TOOLS = [
7
13
  {
8
14
  name: 'archprint_scan',
15
+ title: 'Scan architecture rules',
16
+ annotations: READ_ONLY,
9
17
  description: 'List the architecture rules this TypeScript repo already follows, with the evidence: each rule stated in plain words, whether it is AUTO (clears the confidence gate) or SUGGEST (short of it, worth review), how many files conform vs. break it, the files that break it, and the confidence. Read-only. `path` defaults to "." and a monorepo root scans every app.',
10
18
  inputSchema: {
11
19
  type: 'object',
@@ -20,6 +28,8 @@ export const TOOLS = [
20
28
  },
21
29
  {
22
30
  name: 'archprint_recommend',
31
+ title: 'Recommend architecture rules',
32
+ annotations: READ_ONLY,
23
33
  description: 'Recommend an architecture rule set for this repo from its evidence and detected stack: what to enforce now, what the code already follows that archprint reports but does not write a rule for yet (reportOnly), what to review before enforcing, and what comparable repos commonly adopt that this repo does not yet. Read-only.',
24
34
  inputSchema: {
25
35
  type: 'object',
@@ -30,6 +40,8 @@ export const TOOLS = [
30
40
  },
31
41
  {
32
42
  name: 'archprint_explain',
43
+ title: 'Explain an architecture rule',
44
+ annotations: READ_ONLY,
33
45
  description: 'Explain the confidence-gate evidence behind one rule from archprint_scan, by its label (e.g. AP-002, env-access, or "lib !-> app"): its statement, gate status, conformance stats, and every file that breaks it. Read-only.',
34
46
  inputSchema: {
35
47
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "archprint",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
+ "mcpName": "io.github.Tommkruix/archprint",
4
5
  "description": "Mine the architecture rules your TypeScript repo already enforces, with the evidence attached.",
5
6
  "keywords": [
6
7
  "eslint",
@@ -52,6 +53,7 @@
52
53
  "CHANGELOG.md"
53
54
  ],
54
55
  "scripts": {
56
+ "version-packages": "changeset version && node scripts/sync-server-json.mjs",
55
57
  "build": "tsc -p tsconfig.build.json",
56
58
  "typecheck": "tsc --noEmit",
57
59
  "test": "vitest run",