camouf 0.7.0 → 0.8.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.
Files changed (38) hide show
  1. package/README.md +36 -6
  2. package/dist/cli/commands/init.d.ts.map +1 -1
  3. package/dist/cli/commands/init.js +254 -0
  4. package/dist/cli/commands/init.js.map +1 -1
  5. package/dist/cli/commands/mcp.d.ts.map +1 -1
  6. package/dist/cli/commands/mcp.js +3 -2
  7. package/dist/cli/commands/mcp.js.map +1 -1
  8. package/dist/cli/version.d.ts +1 -1
  9. package/dist/cli/version.js +1 -1
  10. package/dist/index.d.ts +17 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +13 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/mcp/index.d.ts +2 -1
  15. package/dist/mcp/index.d.ts.map +1 -1
  16. package/dist/mcp/index.js +23 -4
  17. package/dist/mcp/index.js.map +1 -1
  18. package/dist/mcp/prompts/index.d.ts +16 -0
  19. package/dist/mcp/prompts/index.d.ts.map +1 -0
  20. package/dist/mcp/prompts/index.js +236 -0
  21. package/dist/mcp/prompts/index.js.map +1 -0
  22. package/dist/mcp/resources/config.d.ts +50 -0
  23. package/dist/mcp/resources/config.d.ts.map +1 -0
  24. package/dist/mcp/resources/config.js +78 -0
  25. package/dist/mcp/resources/config.js.map +1 -0
  26. package/dist/mcp/resources/rules.d.ts +4 -5
  27. package/dist/mcp/resources/rules.d.ts.map +1 -1
  28. package/dist/mcp/resources/rules.js +118 -208
  29. package/dist/mcp/resources/rules.js.map +1 -1
  30. package/dist/mcp/tools/analyze.d.ts +1 -1
  31. package/dist/mcp/tools/analyze.d.ts.map +1 -1
  32. package/dist/mcp/tools/analyze.js +181 -42
  33. package/dist/mcp/tools/analyze.js.map +1 -1
  34. package/dist/testing/index.d.ts +50 -0
  35. package/dist/testing/index.d.ts.map +1 -0
  36. package/dist/testing/index.js +304 -0
  37. package/dist/testing/index.js.map +1 -0
  38. package/package.json +24 -1
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
 
2
2
  [![npm version](https://img.shields.io/npm/v/camouf.svg)](https://www.npmjs.com/package/camouf)
3
+ [![npm downloads](https://img.shields.io/npm/dt/camouf.svg)](https://www.npmjs.com/package/camouf)
3
4
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
4
5
  [![CI](https://github.com/TheEmilz/camouf/actions/workflows/ci.yml/badge.svg)](https://github.com/TheEmilz/camouf/actions/workflows/ci.yml)
5
6
 
@@ -105,7 +106,7 @@ npx camouf fix --id sig-001 # Fix a specific mismatch
105
106
 
106
107
  ## Features
107
108
 
108
- - **13+ Built-in Rules**: AI-specific and architecture validation rules
109
+ - **18 Built-in Rules**: AI-specific and architecture validation rules
109
110
  - **Function/Field Matching**: Fuzzy matching to detect AI naming drift
110
111
  - **Circular Dependency Detection**: Find and break dependency cycles
111
112
  - **Real-time Watch Mode**: Continuous architecture monitoring
@@ -156,7 +157,7 @@ Running `npx camouf` or `npx camouf help` displays the full interactive help:
156
157
  ██║ ███████║██╔████╔██║██║ ██║██║ ██║█████╗
157
158
  ██║ ██╔══██║██║╚██╔╝██║██║ ██║██║ ██║██╔══╝
158
159
  ╚██████╗██║ ██║██║ ╚═╝ ██║╚██████╔╝╚██████╔╝██║
159
- ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ v0.6.0
160
+ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ v0.8.0
160
161
 
161
162
  Architecture guardrails for AI-generated code
162
163
 
@@ -174,6 +175,7 @@ Running `npx camouf` or `npx camouf help` displays the full interactive help:
174
175
  init [options] Initialize configuration in the current project
175
176
  --template <t> Use preset (monorepo, fullstack)
176
177
  --agent <type> Generate CLAUDE.md / AGENTS.md
178
+ --plugin Scaffold a new Camouf plugin project
177
179
 
178
180
  Validation & Analysis:
179
181
  validate [options] One-time architecture validation
@@ -331,9 +333,25 @@ Add to your Claude Desktop config (`%APPDATA%\Claude\claude_desktop_config.json`
331
333
  | Tool | Description |
332
334
  |------|-------------|
333
335
  | `camouf_validate` | Validate code against architecture rules |
334
- | `camouf_analyze` | Analyze project structure and conventions |
336
+ | `camouf_analyze` | Analyze project structure and dependencies (uses real dependency graph) |
335
337
  | `camouf_suggest_fix` | Get fix suggestions for violations |
336
338
 
339
+ ### MCP Resources
340
+
341
+ | Resource | Description |
342
+ |----------|-------------|
343
+ | `camouf://rules` | All available rules with enabled/disabled status (dynamic from config + plugins) |
344
+ | `camouf://config` | Active project configuration, layers, and rule settings |
345
+
346
+ ### MCP Prompts
347
+
348
+ | Prompt | Description |
349
+ |--------|-------------|
350
+ | `before-writing-code` | Workflow: analyze project architecture before generating code |
351
+ | `after-generating-code` | Validate and fix loop with max 3 iterations |
352
+ | `understanding-violations` | How to interpret severity levels and common AI violations |
353
+ | `project-conventions` | Discover active rules, layers, naming conventions |
354
+
337
355
  ### Example: AI Self-Validation
338
356
 
339
357
  When Claude generates code, it can call `camouf_validate` to check for:
@@ -769,23 +787,35 @@ camouf analyze --visualize -f dot -o ./reports
769
787
 
770
788
  ## Extending Camouf
771
789
 
790
+ ### Plugin Scaffolding
791
+
792
+ The fastest way to create a new plugin:
793
+
794
+ ```bash
795
+ npx camouf init --plugin
796
+ ```
797
+
798
+ This generates a complete plugin project with package.json, tsconfig, entry point, and a rule template. See [Creating Plugins](docs/creating-plugins.md).
799
+
772
800
  ### Custom Rules
773
801
 
774
802
  For project-specific rules, implement the `IRule` interface:
775
803
 
776
804
  ```typescript
777
- import { IRule, RuleContext, RuleResult } from 'camouf';
805
+ import type { IRule, RuleContext, RuleResult } from 'camouf/rules';
806
+ import type { Violation } from 'camouf';
778
807
 
779
808
  export class MyCustomRule implements IRule {
780
809
  readonly id = 'my-custom-rule';
781
810
  readonly name = 'My Custom Rule';
782
811
  readonly description = 'Description of what the rule checks';
783
- readonly severity = 'warning';
812
+ readonly severity = 'warning' as const;
784
813
  readonly tags = ['custom'];
785
814
 
786
815
  async check(context: RuleContext): Promise<RuleResult> {
816
+ const violations: Violation[] = [];
787
817
  // Your rule logic here
788
- return { violations: [] };
818
+ return { violations };
789
819
  }
790
820
  }
791
821
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAiJpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAwJpB,CAAC"}
@@ -21,7 +21,13 @@ export const initCommand = new Command('init')
21
21
  .option('-f, --force', 'Overwrite existing configuration')
22
22
  .option('--template <template>', 'Use a predefined template (monorepo, microservices, fullstack)')
23
23
  .option('--agent <type>', 'Generate agent integration files (claude, codex, all)')
24
+ .option('--plugin', 'Scaffold a new Camouf plugin project')
24
25
  .action(async (options) => {
26
+ // Plugin scaffolding is a separate path
27
+ if (options.plugin) {
28
+ await scaffoldPlugin(options);
29
+ return;
30
+ }
25
31
  const spinner = ora('Detecting project structure...').start();
26
32
  try {
27
33
  const configManager = new ConfigurationManager();
@@ -259,4 +265,252 @@ async function createVSCodeIntegration(projectRoot) {
259
265
  };
260
266
  fs.writeFileSync(settingsPath, JSON.stringify(camoufSettings, null, 2));
261
267
  }
268
+ /**
269
+ * Scaffold a new Camouf plugin project
270
+ */
271
+ async function scaffoldPlugin(options) {
272
+ let pluginName;
273
+ let pluginDescription;
274
+ let ruleId;
275
+ if (options.yes) {
276
+ pluginName = 'my-plugin';
277
+ pluginDescription = 'A custom Camouf plugin';
278
+ ruleId = 'my-custom-rule';
279
+ }
280
+ else {
281
+ const answers = await inquirer.prompt([
282
+ {
283
+ type: 'input',
284
+ name: 'name',
285
+ message: 'Plugin name (without camouf-plugin- prefix):',
286
+ default: 'my-plugin',
287
+ validate: (input) => {
288
+ if (/^[a-z0-9-]+$/.test(input))
289
+ return true;
290
+ return 'Use lowercase letters, numbers, and hyphens only';
291
+ },
292
+ },
293
+ {
294
+ type: 'input',
295
+ name: 'description',
296
+ message: 'Plugin description:',
297
+ default: 'A custom Camouf plugin',
298
+ },
299
+ {
300
+ type: 'input',
301
+ name: 'ruleId',
302
+ message: 'First rule ID (e.g., no-global-state):',
303
+ default: 'my-custom-rule',
304
+ validate: (input) => {
305
+ if (/^[a-z0-9-]+$/.test(input))
306
+ return true;
307
+ return 'Use lowercase letters, numbers, and hyphens only';
308
+ },
309
+ },
310
+ ]);
311
+ pluginName = answers.name;
312
+ pluginDescription = answers.description;
313
+ ruleId = answers.ruleId;
314
+ }
315
+ const dirName = `camouf-plugin-${pluginName}`;
316
+ const dirPath = path.join(process.cwd(), dirName);
317
+ if (fs.existsSync(dirPath) && !options.force) {
318
+ Logger.error(`Directory ${dirName} already exists. Use --force to overwrite.`);
319
+ process.exit(1);
320
+ }
321
+ const spinner = ora(`Scaffolding ${dirName}...`).start();
322
+ try {
323
+ // Create directory structure
324
+ fs.mkdirSync(path.join(dirPath, 'src', 'rules'), { recursive: true });
325
+ // Convert rule-id to PascalCase class name
326
+ const className = ruleId
327
+ .split('-')
328
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
329
+ .join('') + 'Rule';
330
+ // package.json
331
+ const packageJson = {
332
+ name: `camouf-plugin-${pluginName}`,
333
+ version: '0.1.0',
334
+ description: pluginDescription,
335
+ type: 'module',
336
+ main: 'dist/index.js',
337
+ types: 'dist/index.d.ts',
338
+ scripts: {
339
+ build: 'tsc',
340
+ dev: 'tsc -w',
341
+ prepublishOnly: 'npm run build',
342
+ },
343
+ keywords: ['camouf', 'camouf-plugin', 'architecture', 'static-analysis'],
344
+ license: 'MIT',
345
+ peerDependencies: {
346
+ camouf: '>=0.8.0',
347
+ },
348
+ devDependencies: {
349
+ camouf: '^0.8.0',
350
+ typescript: '^5.3.0',
351
+ },
352
+ files: ['dist', 'README.md'],
353
+ };
354
+ // tsconfig.json
355
+ const tsconfig = {
356
+ compilerOptions: {
357
+ target: 'ES2022',
358
+ module: 'NodeNext',
359
+ moduleResolution: 'NodeNext',
360
+ outDir: './dist',
361
+ rootDir: './src',
362
+ strict: true,
363
+ declaration: true,
364
+ declarationMap: true,
365
+ sourceMap: true,
366
+ esModuleInterop: true,
367
+ skipLibCheck: true,
368
+ },
369
+ include: ['src/**/*'],
370
+ exclude: ['node_modules', 'dist'],
371
+ };
372
+ // src/index.ts — plugin entry
373
+ const indexTs = `/**
374
+ * Camouf Plugin: ${pluginName}
375
+ *
376
+ * ${pluginDescription}
377
+ */
378
+
379
+ import type { CamoufPlugin } from 'camouf';
380
+ import { ${className} } from './rules/${ruleId}.js';
381
+
382
+ const plugin: CamoufPlugin = {
383
+ metadata: {
384
+ name: 'camouf-plugin-${pluginName}',
385
+ version: '0.1.0',
386
+ description: '${pluginDescription}',
387
+ author: '',
388
+ camoufVersion: '>=0.8.0',
389
+ },
390
+ rules: [new ${className}()],
391
+ };
392
+
393
+ export default plugin;
394
+ `;
395
+ // src/rules/{ruleId}.ts — example rule
396
+ const ruleTs = `/**
397
+ * Rule: ${ruleId}
398
+ *
399
+ * TODO: Describe what this rule checks for.
400
+ */
401
+
402
+ import type { IRule, RuleContext, RuleResult } from 'camouf/rules';
403
+ import type { Violation } from 'camouf';
404
+
405
+ export class ${className} implements IRule {
406
+ readonly id = '${ruleId}';
407
+ readonly name = '${className.replace(/Rule$/, '').replace(/([A-Z])/g, ' $1').trim()}';
408
+ readonly description = 'TODO: Describe what this rule checks for';
409
+ readonly severity = 'warning' as const;
410
+ readonly tags = ['custom'];
411
+ readonly category = 'custom' as const;
412
+
413
+ async check(context: RuleContext): Promise<RuleResult> {
414
+ const violations: Violation[] = [];
415
+
416
+ for (const nodeId of context.graph.nodes()) {
417
+ const node = context.getNodeData(nodeId);
418
+ if (!node) continue;
419
+
420
+ const filePath = node.data?.relativePath || nodeId;
421
+ const content = context.fileContents?.get(filePath);
422
+ if (!content) continue;
423
+
424
+ // TODO: Implement your rule logic here
425
+ // Example: detect a pattern in the file content
426
+ //
427
+ // if (content.includes('some-pattern')) {
428
+ // violations.push({
429
+ // id: \`\${this.id}-\${Date.now()}\`,
430
+ // ruleId: this.id,
431
+ // ruleName: this.name,
432
+ // severity: this.severity,
433
+ // message: 'Description of the violation',
434
+ // file: filePath,
435
+ // suggestion: 'How to fix it',
436
+ // });
437
+ // }
438
+ }
439
+
440
+ return { violations };
441
+ }
442
+ }
443
+ `;
444
+ // README.md
445
+ const readme = `# camouf-plugin-${pluginName}
446
+
447
+ ${pluginDescription}
448
+
449
+ ## Installation
450
+
451
+ \`\`\`bash
452
+ npm install camouf-plugin-${pluginName}
453
+ \`\`\`
454
+
455
+ ## Configuration
456
+
457
+ Add to your \`camouf.config.json\`:
458
+
459
+ \`\`\`json
460
+ {
461
+ "plugins": [
462
+ {
463
+ "name": "camouf-plugin-${pluginName}",
464
+ "enabled": true
465
+ }
466
+ ]
467
+ }
468
+ \`\`\`
469
+
470
+ ## Rules
471
+
472
+ | Rule | Severity | Description |
473
+ |------|----------|-------------|
474
+ | \`${ruleId}\` | warning | TODO: Describe the rule |
475
+
476
+ ## Development
477
+
478
+ \`\`\`bash
479
+ npm run build # Compile TypeScript
480
+ npm run dev # Watch mode
481
+ \`\`\`
482
+
483
+ ## License
484
+
485
+ MIT
486
+ `;
487
+ // Write all files
488
+ fs.writeFileSync(path.join(dirPath, 'package.json'), JSON.stringify(packageJson, null, 2));
489
+ fs.writeFileSync(path.join(dirPath, 'tsconfig.json'), JSON.stringify(tsconfig, null, 2));
490
+ fs.writeFileSync(path.join(dirPath, 'src', 'index.ts'), indexTs);
491
+ fs.writeFileSync(path.join(dirPath, 'src', 'rules', `${ruleId}.ts`), ruleTs);
492
+ fs.writeFileSync(path.join(dirPath, 'README.md'), readme);
493
+ spinner.succeed(`Plugin scaffolded: ${dirName}/`);
494
+ Logger.success('\n✨ Plugin created successfully!');
495
+ Logger.info('\nStructure:');
496
+ Logger.info(` ${dirName}/`);
497
+ Logger.info(` ├── package.json`);
498
+ Logger.info(` ├── tsconfig.json`);
499
+ Logger.info(` ├── README.md`);
500
+ Logger.info(` └── src/`);
501
+ Logger.info(` ├── index.ts`);
502
+ Logger.info(` └── rules/`);
503
+ Logger.info(` └── ${ruleId}.ts`);
504
+ Logger.info('\nNext steps:');
505
+ Logger.info(` 1. cd ${dirName}`);
506
+ Logger.info(` 2. npm install`);
507
+ Logger.info(` 3. Edit src/rules/${ruleId}.ts with your rule logic`);
508
+ Logger.info(` 4. npm run build`);
509
+ Logger.info(` 5. Add the plugin to your project's camouf.config.json\n`);
510
+ }
511
+ catch (error) {
512
+ spinner.fail(`Scaffolding failed: ${error.message}`);
513
+ process.exit(1);
514
+ }
515
+ }
262
516
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,UAAU,SAsBnB,CAAC;AAEL,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,UAAU,SAuBnB,CAAC;AAEL,eAAe,UAAU,CAAC"}
@@ -16,8 +16,9 @@ export const mcpCommand = new Command('mcp')
16
16
  const { startMcpServer } = await import('../../mcp/index.js');
17
17
  if (options.verbose) {
18
18
  Logger.info('Starting Camouf MCP Server...');
19
- Logger.info('Tools available: camouf_validate, camouf_analyze, camouf_suggest_fix');
20
- Logger.info('Resources available: camouf://rules');
19
+ Logger.info('Tools: camouf_validate, camouf_analyze, camouf_suggest_fix');
20
+ Logger.info('Resources: camouf://rules, camouf://config');
21
+ Logger.info('Prompts: before-writing-code, after-generating-code, understanding-violations, project-conventions');
21
22
  }
22
23
  await startMcpServer();
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,SAAS,EAAE,+BAA+B,EAAE,IAAI,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;KAC7C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uDAAuD;QACvD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,SAAS,EAAE,+BAA+B,EAAE,IAAI,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;KAC7C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uDAAuD;QACvD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe,UAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version and metadata for Camouf CLI
3
3
  */
4
- export declare const version = "0.7.0";
4
+ export declare const version = "0.8.0";
5
5
  export declare const name = "camouf";
6
6
  export declare const description = "Architecture guardrails for AI-generated code";
7
7
  export declare const metadata: {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version and metadata for Camouf CLI
3
3
  */
4
- export const version = '0.7.0';
4
+ export const version = '0.8.0';
5
5
  export const name = 'camouf';
6
6
  export const description = 'Architecture guardrails for AI-generated code';
7
7
  export const metadata = {
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Camouf - Public API
3
+ *
4
+ * Main entry point for programmatic usage and plugin development.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import type { CamoufPlugin, IRule, RuleContext } from 'camouf';
9
+ * ```
10
+ */
11
+ export type { CamoufPlugin, PluginMetadata, PluginConfig, LoadedPlugin, PluginRegistry, PluginLoadContext, PluginLogger, QuickFix, QuickFixContext, QuickFixResult, PluginParser, PluginParseResult, PluginAnalyzer, AnalyzerContext, AnalyzerResult, PluginOutputFormatter, } from './types/plugin.types.js';
12
+ export type { CamoufConfig, SupportedLanguage, LayerConfig, DirectoryConfig, RulesConfig, BuiltinRulesConfig, RuleLevel, RuleLevelConfig, CustomRuleConfig, PatternsConfig, OutputConfig, AdvancedConfig, } from './types/config.types.js';
13
+ export type { Violation, ViolationSeverity, ProjectFile, Dependency, DependencyType, ImportedSymbol, ExportedSymbol, GraphNode, GraphEdge, ParsedFile, ViolationFix, FileChange, } from './types/core.types.js';
14
+ export type { IRule, RuleContext, RuleResult, RuleViolation, RuleConfig, RuleCategory, } from './core/rules/rule.interface.js';
15
+ export { createRuleTestContext } from './testing/index.js';
16
+ export type { TestContextOptions } from './testing/index.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Camouf - Public API
3
+ *
4
+ * Main entry point for programmatic usage and plugin development.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import type { CamoufPlugin, IRule, RuleContext } from 'camouf';
9
+ * ```
10
+ */
11
+ // Testing utilities
12
+ export { createRuleTestContext } from './testing/index.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgEH,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -22,6 +22,7 @@ import { validateTool } from './tools/validate.js';
22
22
  import { analyzeTool } from './tools/analyze.js';
23
23
  import { suggestFixTool } from './tools/fix.js';
24
24
  import { rulesResource } from './resources/rules.js';
25
+ import { configResource } from './resources/config.js';
25
26
  /**
26
27
  * Create and configure the MCP server
27
28
  */
@@ -30,5 +31,5 @@ export declare function createMcpServer(): Server;
30
31
  * Start the MCP server with stdio transport
31
32
  */
32
33
  export declare function startMcpServer(): Promise<void>;
33
- export { validateTool, analyzeTool, suggestFixTool, rulesResource };
34
+ export { validateTool, analyzeTool, suggestFixTool, rulesResource, configResource };
34
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAWnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAoFxC;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBpD;AAGD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAanE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAwGxC;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBpD;AAGD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
package/dist/mcp/index.js CHANGED
@@ -19,15 +19,17 @@
19
19
  */
20
20
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
21
21
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
22
- import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
22
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
23
23
  import { validateTool } from './tools/validate.js';
24
24
  import { analyzeTool } from './tools/analyze.js';
25
25
  import { suggestFixTool } from './tools/fix.js';
26
26
  import { rulesResource } from './resources/rules.js';
27
+ import { configResource } from './resources/config.js';
28
+ import { promptDefinitions, getPrompt } from './prompts/index.js';
27
29
  /**
28
30
  * MCP Server version
29
31
  */
30
- const VERSION = '1.0.0';
32
+ const VERSION = '0.8.0';
31
33
  /**
32
34
  * Create and configure the MCP server
33
35
  */
@@ -39,6 +41,7 @@ export function createMcpServer() {
39
41
  capabilities: {
40
42
  tools: {},
41
43
  resources: {},
44
+ prompts: {},
42
45
  },
43
46
  });
44
47
  // Register tool handlers
@@ -83,7 +86,10 @@ export function createMcpServer() {
83
86
  // Register resource handlers
84
87
  server.setRequestHandler(ListResourcesRequestSchema, async () => {
85
88
  return {
86
- resources: [rulesResource.definition],
89
+ resources: [
90
+ rulesResource.definition,
91
+ configResource.definition,
92
+ ],
87
93
  };
88
94
  });
89
95
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
@@ -91,10 +97,23 @@ export function createMcpServer() {
91
97
  switch (uri) {
92
98
  case 'camouf://rules':
93
99
  return await rulesResource.handler();
100
+ case 'camouf://config':
101
+ return await configResource.handler();
94
102
  default:
95
103
  throw new McpError(ErrorCode.InvalidRequest, `Unknown resource: ${uri}`);
96
104
  }
97
105
  });
106
+ // Register prompt handlers
107
+ server.setRequestHandler(ListPromptsRequestSchema, async () => {
108
+ return {
109
+ prompts: promptDefinitions,
110
+ };
111
+ });
112
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
113
+ const { name, arguments: args } = request.params;
114
+ const result = getPrompt(name, args);
115
+ return result;
116
+ });
98
117
  return server;
99
118
  }
100
119
  /**
@@ -115,5 +134,5 @@ export async function startMcpServer() {
115
134
  });
116
135
  }
117
136
  // Export for CLI integration
118
- export { validateTool, analyzeTool, suggestFixTool, rulesResource };
137
+ export { validateTool, analyzeTool, suggestFixTool, rulesResource, configResource };
119
138
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * MCP Prompts for Camouf
3
+ *
4
+ * Predefined prompts that teach AI agents HOW to use Camouf tools
5
+ * in the correct sequence. These are workflow instructions, not just tool docs.
6
+ */
7
+ import { Prompt, GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
8
+ /**
9
+ * All available prompts
10
+ */
11
+ export declare const promptDefinitions: Prompt[];
12
+ /**
13
+ * Get prompt content by name
14
+ */
15
+ export declare function getPrompt(name: string, args?: Record<string, string>): GetPromptResult;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAsCrC,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAoBtF"}