camouf 0.2.6 → 0.3.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 +88 -2
- package/dist/cli/commands/init.d.ts +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +38 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +29 -11
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +3 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +5 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/core/agents/agent-integrations.d.ts +23 -0
- package/dist/core/agents/agent-integrations.d.ts.map +1 -0
- package/dist/core/agents/agent-integrations.js +363 -0
- package/dist/core/agents/agent-integrations.js.map +1 -0
- package/dist/core/reporter/violation-reporter.js +2 -2
- package/dist/core/reporter/violation-reporter.js.map +1 -1
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -90,8 +90,9 @@ Initialize Camouf configuration in your project.
|
|
|
90
90
|
camouf init [options]
|
|
91
91
|
|
|
92
92
|
Options:
|
|
93
|
-
-f, --force
|
|
94
|
-
-t, --template
|
|
93
|
+
-f, --force Overwrite existing configuration
|
|
94
|
+
-t, --template Use a predefined template (clean-architecture, microservices, monolith)
|
|
95
|
+
--agent <type> Generate agent integration files (claude, codex, all)
|
|
95
96
|
```
|
|
96
97
|
|
|
97
98
|
### `camouf analyze`
|
|
@@ -120,6 +121,7 @@ Options:
|
|
|
120
121
|
-c, --config <path> Path to configuration file
|
|
121
122
|
--debounce <ms> Debounce time in milliseconds (default: 300)
|
|
122
123
|
--format <format> Output format: text (default), vscode
|
|
124
|
+
--ci CI/agent mode: no spinners, no colors
|
|
123
125
|
```
|
|
124
126
|
|
|
125
127
|
### `camouf validate`
|
|
@@ -134,6 +136,7 @@ Options:
|
|
|
134
136
|
--format <format> Output format: text (default), json, sarif, vscode
|
|
135
137
|
--strict Fail on warnings
|
|
136
138
|
--bail Exit on first error
|
|
139
|
+
--ci CI/agent mode: no spinners, no colors
|
|
137
140
|
```
|
|
138
141
|
|
|
139
142
|
### `camouf report`
|
|
@@ -335,8 +338,91 @@ If you didn't run `camouf init` or need to add tasks manually, create `.vscode/t
|
|
|
335
338
|
}
|
|
336
339
|
```
|
|
337
340
|
|
|
341
|
+
## AI Agent Integration
|
|
342
|
+
|
|
343
|
+
Camouf integrates natively with AI coding agents. Use `camouf init --agent` to generate the appropriate configuration files.
|
|
344
|
+
|
|
345
|
+
### Claude Code
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
camouf init --agent claude
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
This creates:
|
|
352
|
+
- **`CLAUDE.md`** — Project instructions teaching Claude how to use Camouf
|
|
353
|
+
- **`.claude/commands/camouf-validate.md`** — `/camouf-validate` slash command for architecture-aware validation
|
|
354
|
+
- **`.claude/commands/camouf-fix.md`** — `/camouf-fix` slash command to automatically fix violations
|
|
355
|
+
- **`.claude/rules/camouf.md`** — Architecture rules loaded into every Claude session
|
|
356
|
+
|
|
357
|
+
Claude Code will automatically read these files and enforce architecture rules when writing code.
|
|
358
|
+
|
|
359
|
+
### OpenAI Codex
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
camouf init --agent codex
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
This creates:
|
|
366
|
+
- **`AGENTS.md`** — Agent instructions with Camouf commands, output format, and workflow
|
|
367
|
+
|
|
368
|
+
Codex reads `AGENTS.md` and knows how to validate architecture before committing.
|
|
369
|
+
|
|
370
|
+
### All Agents
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
camouf init --agent all
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
Generates integration files for all supported agents (Claude Code + Codex).
|
|
377
|
+
|
|
378
|
+
### Machine-Readable Output
|
|
379
|
+
|
|
380
|
+
For agent consumption, use JSON output with CI mode:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
npx camouf validate --format json --ci
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Output:
|
|
387
|
+
|
|
388
|
+
```json
|
|
389
|
+
{
|
|
390
|
+
"summary": { "total": 2, "errors": 1, "warnings": 1, "info": 0 },
|
|
391
|
+
"violations": [
|
|
392
|
+
{
|
|
393
|
+
"ruleId": "hardcoded-secrets",
|
|
394
|
+
"severity": "error",
|
|
395
|
+
"message": "Potential hardcoded API key found",
|
|
396
|
+
"file": "src/config.ts",
|
|
397
|
+
"line": 15,
|
|
398
|
+
"suggestion": "Move to environment variable"
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
}
|
|
402
|
+
```
|
|
403
|
+
|
|
338
404
|
## CI/CD Integration
|
|
339
405
|
|
|
406
|
+
### Non-Interactive Mode
|
|
407
|
+
|
|
408
|
+
Use `--ci` flag or `CAMOUF_CI=1` environment variable for agent/CI environments:
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
# Suppress spinners, colors, interactive prompts
|
|
412
|
+
npx camouf validate --ci
|
|
413
|
+
|
|
414
|
+
# JSON output automatically enables CI mode
|
|
415
|
+
npx camouf validate --format json
|
|
416
|
+
|
|
417
|
+
# Environment variable alternative
|
|
418
|
+
CAMOUF_CI=1 npx camouf validate
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### Exit Codes
|
|
422
|
+
|
|
423
|
+
- `0` — No violations found
|
|
424
|
+
- `1` — Violations found (or error)
|
|
425
|
+
|
|
340
426
|
### GitHub Actions
|
|
341
427
|
|
|
342
428
|
```yaml
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Initializes a new Camouf configuration in the current project.
|
|
5
5
|
* Creates camouf.config.json with default settings.
|
|
6
6
|
* Creates .vscode/tasks.json for real-time Problems integration.
|
|
7
|
+
* Optionally generates agent integration files (CLAUDE.md, AGENTS.md).
|
|
7
8
|
*/
|
|
8
9
|
import { Command } from 'commander';
|
|
9
10
|
export declare const initCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA
|
|
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,SA8IpB,CAAC"}
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
* Initializes a new Camouf configuration in the current project.
|
|
5
5
|
* Creates camouf.config.json with default settings.
|
|
6
6
|
* Creates .vscode/tasks.json for real-time Problems integration.
|
|
7
|
+
* Optionally generates agent integration files (CLAUDE.md, AGENTS.md).
|
|
7
8
|
*/
|
|
8
9
|
import { Command } from 'commander';
|
|
9
10
|
import { ConfigurationManager } from '../../core/config/configuration-manager.js';
|
|
10
11
|
import { Logger } from '../../core/logger.js';
|
|
11
12
|
import { ProjectDetector } from '../../core/scanner/project-detector.js';
|
|
13
|
+
import { generateAgentIntegration } from '../../core/agents/agent-integrations.js';
|
|
12
14
|
import inquirer from 'inquirer';
|
|
13
15
|
import ora from 'ora';
|
|
14
16
|
import * as fs from 'fs';
|
|
@@ -18,6 +20,7 @@ export const initCommand = new Command('init')
|
|
|
18
20
|
.option('-y, --yes', 'Skip interactive prompts and use defaults')
|
|
19
21
|
.option('-f, --force', 'Overwrite existing configuration')
|
|
20
22
|
.option('--template <template>', 'Use a predefined template (monorepo, microservices, fullstack)')
|
|
23
|
+
.option('--agent <type>', 'Generate agent integration files (claude, codex, all)')
|
|
21
24
|
.action(async (options) => {
|
|
22
25
|
const spinner = ora('Detecting project structure...').start();
|
|
23
26
|
try {
|
|
@@ -97,6 +100,31 @@ export const initCommand = new Command('init')
|
|
|
97
100
|
spinner.start('Setting up VS Code integration...');
|
|
98
101
|
await createVSCodeIntegration(process.cwd());
|
|
99
102
|
spinner.succeed('VS Code integration configured');
|
|
103
|
+
// Generate agent integration files if requested
|
|
104
|
+
if (options.agent) {
|
|
105
|
+
const agentType = options.agent;
|
|
106
|
+
const validTypes = ['claude', 'codex', 'all'];
|
|
107
|
+
if (!validTypes.includes(agentType)) {
|
|
108
|
+
Logger.error(`Invalid agent type: ${agentType}. Use: claude, codex, or all`);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
spinner.start(`Setting up ${agentType} agent integration...`);
|
|
112
|
+
const agentResult = await generateAgentIntegration(process.cwd(), agentType, { force: options.force });
|
|
113
|
+
spinner.succeed(`Agent integration configured`);
|
|
114
|
+
if (agentResult.filesCreated.length > 0) {
|
|
115
|
+
Logger.info('\n Agent files created:');
|
|
116
|
+
for (const file of agentResult.filesCreated) {
|
|
117
|
+
Logger.info(` ✓ ${file}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (agentResult.filesSkipped.length > 0) {
|
|
121
|
+
Logger.info(' Agent files skipped (already exist):');
|
|
122
|
+
for (const file of agentResult.filesSkipped) {
|
|
123
|
+
Logger.info(` - ${file}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
100
128
|
Logger.success('\n✨ Camouf initialized successfully!');
|
|
101
129
|
Logger.info('\nNext steps:');
|
|
102
130
|
Logger.info(' 1. Review and customize camouf.config.json');
|
|
@@ -104,7 +132,16 @@ export const initCommand = new Command('init')
|
|
|
104
132
|
Logger.info(' 3. For real-time Problems in VS Code:');
|
|
105
133
|
Logger.info(' - Press Ctrl+Shift+B and select "camouf: Watch"');
|
|
106
134
|
Logger.info(' - Or run Terminal > Run Task > camouf: Watch');
|
|
107
|
-
Logger.info(' 4. Violations will appear in the Problems panel (Ctrl+Shift+M)
|
|
135
|
+
Logger.info(' 4. Violations will appear in the Problems panel (Ctrl+Shift+M)');
|
|
136
|
+
if (!options.agent) {
|
|
137
|
+
Logger.info('\n 💡 Tip: Use --agent to set up AI agent integration:');
|
|
138
|
+
Logger.info(' camouf init --agent claude # Claude Code (CLAUDE.md + commands)');
|
|
139
|
+
Logger.info(' camouf init --agent codex # OpenAI Codex (AGENTS.md)');
|
|
140
|
+
Logger.info(' camouf init --agent all # All agent integrations\n');
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
Logger.info('');
|
|
144
|
+
}
|
|
108
145
|
}
|
|
109
146
|
catch (error) {
|
|
110
147
|
spinner.fail(`Initialization failed: ${error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA
|
|
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":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,eAAe,SA4FxB,CAAC"}
|
|
@@ -16,21 +16,27 @@ export const validateCommand = new Command('validate')
|
|
|
16
16
|
.option('-c, --config <path>', 'Path to configuration file')
|
|
17
17
|
.option('--rules <rules>', 'Comma-separated list of rules to run')
|
|
18
18
|
.option('--fix', 'Attempt to auto-fix violations where possible')
|
|
19
|
-
.option('--format <format>', 'Output format (text, json, sarif)', 'text')
|
|
19
|
+
.option('--format <format>', 'Output format (text, json, sarif, vscode)', 'text')
|
|
20
20
|
.option('--output <path>', 'Write report to file')
|
|
21
21
|
.option('--fail-on <severity>', 'Fail on severity level (error, warning, info)', 'error')
|
|
22
|
+
.option('--ci', 'CI/agent mode: no spinners, no colors, machine-parseable output')
|
|
22
23
|
.action(async (options) => {
|
|
23
|
-
const
|
|
24
|
+
const isCIMode = options.ci || options.format === 'json' || options.format === 'sarif' || options.format === 'vscode' || !!process.env.CI || !!process.env.CAMOUF_CI;
|
|
25
|
+
const spinner = isCIMode ? null : ora('Loading configuration...').start();
|
|
24
26
|
try {
|
|
25
27
|
// Load configuration
|
|
26
28
|
const configManager = new ConfigurationManager();
|
|
27
29
|
const config = await configManager.loadConfig(options.config);
|
|
28
30
|
if (!config) {
|
|
29
|
-
spinner
|
|
31
|
+
if (spinner)
|
|
32
|
+
spinner.fail('No configuration found. Run "camouf init" first.');
|
|
33
|
+
else
|
|
34
|
+
console.error('ERROR: No configuration found. Run "camouf init" first.');
|
|
30
35
|
process.exit(1);
|
|
31
36
|
}
|
|
32
37
|
// Initialize components
|
|
33
|
-
spinner
|
|
38
|
+
if (spinner)
|
|
39
|
+
spinner.text = 'Scanning project...';
|
|
34
40
|
const scanner = new ProjectScanner(config);
|
|
35
41
|
const ruleEngine = new RuleEngine(config);
|
|
36
42
|
const reporter = new ViolationReporter(config);
|
|
@@ -41,18 +47,23 @@ export const validateCommand = new Command('validate')
|
|
|
41
47
|
}
|
|
42
48
|
// Scan project
|
|
43
49
|
const graph = await scanner.scan();
|
|
44
|
-
|
|
50
|
+
if (spinner)
|
|
51
|
+
spinner.succeed(`Scanned ${graph.nodeCount()} files`);
|
|
45
52
|
// Validate
|
|
46
|
-
spinner
|
|
53
|
+
if (spinner)
|
|
54
|
+
spinner.start('Running validation...');
|
|
47
55
|
const fileContents = scanner.getFileContents();
|
|
48
56
|
const violations = await ruleEngine.validate(graph, fileContents);
|
|
49
57
|
// Auto-fix if requested
|
|
50
58
|
if (options.fix) {
|
|
51
|
-
spinner
|
|
59
|
+
if (spinner)
|
|
60
|
+
spinner.text = 'Applying auto-fixes...';
|
|
52
61
|
const fixed = await ruleEngine.autoFix(violations);
|
|
53
|
-
spinner
|
|
62
|
+
if (spinner)
|
|
63
|
+
spinner.succeed(`Applied ${fixed} auto-fixes`);
|
|
54
64
|
}
|
|
55
|
-
spinner
|
|
65
|
+
if (spinner)
|
|
66
|
+
spinner.stop();
|
|
56
67
|
// Report results
|
|
57
68
|
const report = reporter.generateReport(violations, {
|
|
58
69
|
format: options.format,
|
|
@@ -78,10 +89,17 @@ export const validateCommand = new Command('validate')
|
|
|
78
89
|
if (shouldFail) {
|
|
79
90
|
process.exit(1);
|
|
80
91
|
}
|
|
81
|
-
|
|
92
|
+
if (!isCIMode) {
|
|
93
|
+
Logger.success('\n✅ Validation passed!\n');
|
|
94
|
+
}
|
|
82
95
|
}
|
|
83
96
|
catch (error) {
|
|
84
|
-
spinner
|
|
97
|
+
if (spinner) {
|
|
98
|
+
spinner.fail(`Validation failed: ${error.message}`);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.error(`ERROR: Validation failed: ${error.message}`);
|
|
102
|
+
}
|
|
85
103
|
process.exit(1);
|
|
86
104
|
}
|
|
87
105
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACjE,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,YAAY,SAyIrB,CAAC"}
|
|
@@ -20,9 +20,11 @@ export const watchCommand = new Command('watch')
|
|
|
20
20
|
.option('--rules <rules>', 'Comma-separated list of rules to run')
|
|
21
21
|
.option('--ignore <patterns>', 'Additional patterns to ignore')
|
|
22
22
|
.option('--format <format>', 'Output format (text, vscode)', 'text')
|
|
23
|
+
.option('--ci', 'CI/agent mode: no spinners, no colors, machine-parseable output')
|
|
23
24
|
.action(async (options) => {
|
|
24
25
|
const isVSCodeFormat = options.format === 'vscode';
|
|
25
|
-
const
|
|
26
|
+
const isCIMode = options.ci || isVSCodeFormat || !!process.env.CI || !!process.env.CAMOUF_CI;
|
|
27
|
+
const spinner = isCIMode ? null : ora('Loading configuration...').start();
|
|
26
28
|
try {
|
|
27
29
|
// Load configuration
|
|
28
30
|
const configManager = new ConfigurationManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,KAAK,CAAC;KACjF,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACjE,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;IACnD,MAAM,
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Version and metadata for Camouf CLI
|
|
3
3
|
*/
|
|
4
|
-
export declare const version = "0.
|
|
4
|
+
export declare const version = "0.3.0";
|
|
5
5
|
export declare const name = "camouf";
|
|
6
6
|
export declare const description = "Real-time architecture monitoring CLI tool with multi-language support";
|
|
7
7
|
export declare const metadata: {
|
package/dist/cli/version.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Version and metadata for Camouf CLI
|
|
3
3
|
*/
|
|
4
|
-
export const version = '0.
|
|
4
|
+
export const version = '0.3.0';
|
|
5
5
|
export const name = 'camouf';
|
|
6
6
|
export const description = 'Real-time architecture monitoring CLI tool with multi-language support';
|
|
7
7
|
export const metadata = {
|
|
8
8
|
name,
|
|
9
9
|
version,
|
|
10
10
|
description,
|
|
11
|
-
homepage: 'https://github.com/
|
|
12
|
-
repository: 'https://github.com/
|
|
13
|
-
author: '
|
|
14
|
-
license: '
|
|
11
|
+
homepage: 'https://github.com/TheEmilz/camouf',
|
|
12
|
+
repository: 'https://github.com/TheEmilz/camouf',
|
|
13
|
+
author: 'Epixiom',
|
|
14
|
+
license: 'Apache-2.0',
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=version.js.map
|
package/dist/cli/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,wEAAwE,CAAC;AAEpG,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,OAAO;IACP,WAAW;IACX,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,wEAAwE,CAAC;AAEpG,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,OAAO;IACP,WAAW;IACX,QAAQ,EAAE,oCAAoC;IAC9C,UAAU,EAAE,oCAAoC;IAChD,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,YAAY;CACtB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Integrations
|
|
3
|
+
*
|
|
4
|
+
* Generates configuration files for CLI agent tools:
|
|
5
|
+
* - Claude Code: CLAUDE.md + .claude/commands/*.md
|
|
6
|
+
* - OpenAI Codex: AGENTS.md
|
|
7
|
+
*
|
|
8
|
+
* These files allow AI coding agents to understand and use Camouf
|
|
9
|
+
* natively within their workflow.
|
|
10
|
+
*/
|
|
11
|
+
export type AgentType = 'claude' | 'codex' | 'all';
|
|
12
|
+
interface AgentIntegrationResult {
|
|
13
|
+
filesCreated: string[];
|
|
14
|
+
filesSkipped: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generate agent integration files for the specified agent type
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateAgentIntegration(projectRoot: string, agentType: AgentType, options?: {
|
|
20
|
+
force?: boolean;
|
|
21
|
+
}): Promise<AgentIntegrationResult>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=agent-integrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-integrations.d.ts","sourceRoot":"","sources":["../../../src/core/agents/agent-integrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAEnD,UAAU,sBAAsB;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAYjC"}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Integrations
|
|
3
|
+
*
|
|
4
|
+
* Generates configuration files for CLI agent tools:
|
|
5
|
+
* - Claude Code: CLAUDE.md + .claude/commands/*.md
|
|
6
|
+
* - OpenAI Codex: AGENTS.md
|
|
7
|
+
*
|
|
8
|
+
* These files allow AI coding agents to understand and use Camouf
|
|
9
|
+
* natively within their workflow.
|
|
10
|
+
*/
|
|
11
|
+
import * as fs from 'fs';
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
/**
|
|
14
|
+
* Generate agent integration files for the specified agent type
|
|
15
|
+
*/
|
|
16
|
+
export async function generateAgentIntegration(projectRoot, agentType, options = {}) {
|
|
17
|
+
const result = { filesCreated: [], filesSkipped: [] };
|
|
18
|
+
if (agentType === 'claude' || agentType === 'all') {
|
|
19
|
+
await generateClaudeIntegration(projectRoot, result, options);
|
|
20
|
+
}
|
|
21
|
+
if (agentType === 'codex' || agentType === 'all') {
|
|
22
|
+
await generateCodexIntegration(projectRoot, result, options);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generate Claude Code integration files:
|
|
28
|
+
* - CLAUDE.md (project instructions)
|
|
29
|
+
* - .claude/commands/camouf-validate.md (slash command)
|
|
30
|
+
*/
|
|
31
|
+
async function generateClaudeIntegration(projectRoot, result, options) {
|
|
32
|
+
// 1. Generate CLAUDE.md
|
|
33
|
+
const claudeMdPath = path.join(projectRoot, 'CLAUDE.md');
|
|
34
|
+
if (!fs.existsSync(claudeMdPath) || options.force) {
|
|
35
|
+
fs.writeFileSync(claudeMdPath, getClaudeMdContent());
|
|
36
|
+
result.filesCreated.push('CLAUDE.md');
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// Append Camouf section if not present
|
|
40
|
+
const existing = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
41
|
+
if (!existing.includes('## Camouf')) {
|
|
42
|
+
fs.appendFileSync(claudeMdPath, '\n\n' + getCamoufClaudeSection());
|
|
43
|
+
result.filesCreated.push('CLAUDE.md (appended)');
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
result.filesSkipped.push('CLAUDE.md (already has Camouf section)');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// 2. Generate .claude/commands/camouf-validate.md
|
|
50
|
+
const claudeCommandsDir = path.join(projectRoot, '.claude', 'commands');
|
|
51
|
+
if (!fs.existsSync(claudeCommandsDir)) {
|
|
52
|
+
fs.mkdirSync(claudeCommandsDir, { recursive: true });
|
|
53
|
+
}
|
|
54
|
+
const validateCommandPath = path.join(claudeCommandsDir, 'camouf-validate.md');
|
|
55
|
+
if (!fs.existsSync(validateCommandPath) || options.force) {
|
|
56
|
+
fs.writeFileSync(validateCommandPath, getClaudeValidateCommand());
|
|
57
|
+
result.filesCreated.push('.claude/commands/camouf-validate.md');
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
result.filesSkipped.push('.claude/commands/camouf-validate.md');
|
|
61
|
+
}
|
|
62
|
+
// 3. Generate .claude/commands/camouf-fix.md
|
|
63
|
+
const fixCommandPath = path.join(claudeCommandsDir, 'camouf-fix.md');
|
|
64
|
+
if (!fs.existsSync(fixCommandPath) || options.force) {
|
|
65
|
+
fs.writeFileSync(fixCommandPath, getClaudeFixCommand());
|
|
66
|
+
result.filesCreated.push('.claude/commands/camouf-fix.md');
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
result.filesSkipped.push('.claude/commands/camouf-fix.md');
|
|
70
|
+
}
|
|
71
|
+
// 4. Generate .claude/rules/camouf.md
|
|
72
|
+
const claudeRulesDir = path.join(projectRoot, '.claude', 'rules');
|
|
73
|
+
if (!fs.existsSync(claudeRulesDir)) {
|
|
74
|
+
fs.mkdirSync(claudeRulesDir, { recursive: true });
|
|
75
|
+
}
|
|
76
|
+
const camoufRulePath = path.join(claudeRulesDir, 'camouf.md');
|
|
77
|
+
if (!fs.existsSync(camoufRulePath) || options.force) {
|
|
78
|
+
fs.writeFileSync(camoufRulePath, getClaudeRule());
|
|
79
|
+
result.filesCreated.push('.claude/rules/camouf.md');
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
result.filesSkipped.push('.claude/rules/camouf.md');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Generate OpenAI Codex integration files:
|
|
87
|
+
* - AGENTS.md (project instructions)
|
|
88
|
+
*/
|
|
89
|
+
async function generateCodexIntegration(projectRoot, result, options) {
|
|
90
|
+
const agentsMdPath = path.join(projectRoot, 'AGENTS.md');
|
|
91
|
+
if (!fs.existsSync(agentsMdPath) || options.force) {
|
|
92
|
+
fs.writeFileSync(agentsMdPath, getAgentsMdContent());
|
|
93
|
+
result.filesCreated.push('AGENTS.md');
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// Append Camouf section if not present
|
|
97
|
+
const existing = fs.readFileSync(agentsMdPath, 'utf-8');
|
|
98
|
+
if (!existing.includes('## Camouf')) {
|
|
99
|
+
fs.appendFileSync(agentsMdPath, '\n\n' + getCamoufAgentsSection());
|
|
100
|
+
result.filesCreated.push('AGENTS.md (appended)');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
result.filesSkipped.push('AGENTS.md (already has Camouf section)');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// ─── Template Content Functions ──────────────────────────────────────────────
|
|
108
|
+
function getClaudeMdContent() {
|
|
109
|
+
return `# Project Instructions
|
|
110
|
+
|
|
111
|
+
## Camouf — Architecture Monitoring
|
|
112
|
+
|
|
113
|
+
This project uses [Camouf](https://www.npmjs.com/package/camouf) for real-time architecture monitoring.
|
|
114
|
+
Camouf enforces architecture rules (layer dependencies, circular dependencies, security, DDD boundaries, and more).
|
|
115
|
+
|
|
116
|
+
### Quick Commands
|
|
117
|
+
|
|
118
|
+
\`\`\`bash
|
|
119
|
+
# One-shot validation (JSON output for parsing)
|
|
120
|
+
npx camouf validate --format json --ci
|
|
121
|
+
|
|
122
|
+
# One-shot validation (human-readable)
|
|
123
|
+
npx camouf validate --ci
|
|
124
|
+
|
|
125
|
+
# Watch mode (real-time)
|
|
126
|
+
npx camouf watch --ci
|
|
127
|
+
\`\`\`
|
|
128
|
+
|
|
129
|
+
### Architecture Rules
|
|
130
|
+
|
|
131
|
+
Camouf validates 12 builtin rules (configured in \`camouf.config.json\`):
|
|
132
|
+
|
|
133
|
+
| Rule | What it enforces |
|
|
134
|
+
|------|-----------------|
|
|
135
|
+
| \`layer-dependencies\` | Layers can only import from allowed layers |
|
|
136
|
+
| \`circular-dependencies\` | No circular import chains |
|
|
137
|
+
| \`hardcoded-secrets\` | No API keys, tokens, or credentials in code |
|
|
138
|
+
| \`security-context\` | Routes/endpoints must have auth guards |
|
|
139
|
+
| \`performance-antipatterns\` | No N+1 queries, sync I/O, memory leaks |
|
|
140
|
+
| \`type-safety\` | No unsafe \`any\`, type assertions, non-null assertions |
|
|
141
|
+
| \`ddd-boundaries\` | Bounded contexts must not leak across domains |
|
|
142
|
+
| \`api-versioning\` | API endpoints must include version prefix |
|
|
143
|
+
| \`data-flow-integrity\` | Input validation and output sanitization required |
|
|
144
|
+
| \`contract-mismatch\` | Shared types must be consistent across layers |
|
|
145
|
+
| \`distributed-transactions\` | Multi-service calls need saga/compensation |
|
|
146
|
+
| \`resilience-patterns\` | HTTP calls need timeout, retry, circuit breaker |
|
|
147
|
+
|
|
148
|
+
### Workflow for Code Changes
|
|
149
|
+
|
|
150
|
+
1. Before committing, run \`npx camouf validate --format json --ci\`
|
|
151
|
+
2. Fix any violations before pushing
|
|
152
|
+
3. If a violation is a false positive, add it to the \`exclude\` patterns in \`camouf.config.json\`
|
|
153
|
+
|
|
154
|
+
### Output Formats
|
|
155
|
+
|
|
156
|
+
- \`--format text\` — Human-readable (default)
|
|
157
|
+
- \`--format json\` — Machine-parseable JSON with violations array
|
|
158
|
+
- \`--format sarif\` — SARIF standard for security tools
|
|
159
|
+
- \`--format vscode\` — VS Code Problems panel format
|
|
160
|
+
- \`--ci\` — Suppresses spinners/colors for non-interactive use
|
|
161
|
+
|
|
162
|
+
### Exit Codes
|
|
163
|
+
|
|
164
|
+
- \`0\` — No violations found
|
|
165
|
+
- \`1\` — Violations found (or error)
|
|
166
|
+
`;
|
|
167
|
+
}
|
|
168
|
+
function getCamoufClaudeSection() {
|
|
169
|
+
return `## Camouf — Architecture Monitoring
|
|
170
|
+
|
|
171
|
+
This project uses [Camouf](https://www.npmjs.com/package/camouf) for architecture monitoring.
|
|
172
|
+
|
|
173
|
+
### Quick Commands
|
|
174
|
+
|
|
175
|
+
\`\`\`bash
|
|
176
|
+
npx camouf validate --format json --ci # JSON output for parsing
|
|
177
|
+
npx camouf validate --ci # Human-readable output
|
|
178
|
+
\`\`\`
|
|
179
|
+
|
|
180
|
+
### Workflow
|
|
181
|
+
|
|
182
|
+
- Run \`npx camouf validate --format json --ci\` before committing to check for architecture violations
|
|
183
|
+
- Fix violations before pushing
|
|
184
|
+
- Configuration is in \`camouf.config.json\`
|
|
185
|
+
- Exit code 0 = clean, 1 = violations found
|
|
186
|
+
`;
|
|
187
|
+
}
|
|
188
|
+
function getClaudeValidateCommand() {
|
|
189
|
+
return `---
|
|
190
|
+
description: Run Camouf architecture validation and fix any violations found
|
|
191
|
+
allowed-tools: Read, Grep, Bash, Write
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
Run Camouf to validate the project architecture:
|
|
195
|
+
|
|
196
|
+
1. Execute: \`npx camouf validate --format json --ci\`
|
|
197
|
+
2. Parse the JSON output to identify violations
|
|
198
|
+
3. For each violation:
|
|
199
|
+
- Read the file at the specified line
|
|
200
|
+
- Understand the rule that was violated
|
|
201
|
+
- Apply the suggested fix
|
|
202
|
+
4. Re-run validation to confirm fixes
|
|
203
|
+
5. Report a summary of what was fixed
|
|
204
|
+
|
|
205
|
+
Important:
|
|
206
|
+
- Use \`--format json\` so the output is machine-parseable
|
|
207
|
+
- Use \`--ci\` to suppress spinners and colors
|
|
208
|
+
- Exit code 0 means no violations, 1 means violations exist
|
|
209
|
+
- The JSON output has a \`violations\` array with \`file\`, \`line\`, \`ruleId\`, \`message\`, and \`suggestion\` fields
|
|
210
|
+
`;
|
|
211
|
+
}
|
|
212
|
+
function getClaudeFixCommand() {
|
|
213
|
+
return `---
|
|
214
|
+
description: Run Camouf and automatically fix all architecture violations
|
|
215
|
+
allowed-tools: Read, Grep, Bash, Write
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
Run Camouf to find and fix architecture violations:
|
|
219
|
+
|
|
220
|
+
1. Execute: \`npx camouf validate --format json --ci\`
|
|
221
|
+
2. Parse the JSON output
|
|
222
|
+
3. If the \`violations\` array is empty, report "No violations found" and stop
|
|
223
|
+
4. For each violation in the JSON:
|
|
224
|
+
- Read the violation's \`file\` at the \`line\` number
|
|
225
|
+
- Check the \`ruleId\` to understand what rule was violated
|
|
226
|
+
- Check the \`suggestion\` field for fix guidance
|
|
227
|
+
- Apply the appropriate fix to the source code
|
|
228
|
+
5. After fixing all violations, re-run: \`npx camouf validate --format json --ci\`
|
|
229
|
+
6. If new violations appear, repeat the fix cycle (max 3 iterations)
|
|
230
|
+
7. Report final summary: how many violations were found, how many fixed, how many remain
|
|
231
|
+
|
|
232
|
+
### Rule-Specific Fix Strategies
|
|
233
|
+
|
|
234
|
+
- **hardcoded-secrets**: Move secrets to environment variables or .env files
|
|
235
|
+
- **circular-dependencies**: Refactor to break the cycle (extract shared interface, dependency inversion)
|
|
236
|
+
- **layer-dependencies**: Move the import to the correct layer or create a proper abstraction
|
|
237
|
+
- **security-context**: Add authentication/authorization guards to routes
|
|
238
|
+
- **performance-antipatterns**: Replace N+1 queries with batch operations, sync I/O with async
|
|
239
|
+
- **type-safety**: Replace \`any\` with proper types, add return type annotations
|
|
240
|
+
`;
|
|
241
|
+
}
|
|
242
|
+
function getClaudeRule() {
|
|
243
|
+
return `# Camouf Architecture Rules
|
|
244
|
+
|
|
245
|
+
When writing or modifying code in this project, follow these architecture principles enforced by Camouf:
|
|
246
|
+
|
|
247
|
+
- Do NOT hardcode API keys, tokens, passwords, or secrets — use environment variables
|
|
248
|
+
- Do NOT create circular dependencies between modules
|
|
249
|
+
- Do NOT import from forbidden layers (check \`camouf.config.json\` for allowed layer dependencies)
|
|
250
|
+
- Always add authentication guards to API routes handling sensitive data
|
|
251
|
+
- Use async I/O instead of sync operations (\`readFileSync\`, \`execSync\`, etc.)
|
|
252
|
+
- Avoid N+1 query patterns (fetching in loops)
|
|
253
|
+
- Add proper TypeScript types — avoid \`any\` and unnecessary type assertions
|
|
254
|
+
- API endpoints should include version prefix (\`/api/v1/...\`)
|
|
255
|
+
- Validate all user inputs before processing
|
|
256
|
+
- Add timeout, retry, and error handling to external HTTP calls
|
|
257
|
+
|
|
258
|
+
Run \`npx camouf validate --format json --ci\` to check compliance.
|
|
259
|
+
`;
|
|
260
|
+
}
|
|
261
|
+
function getAgentsMdContent() {
|
|
262
|
+
return `# Project Agent Instructions
|
|
263
|
+
|
|
264
|
+
## Camouf — Architecture Monitoring
|
|
265
|
+
|
|
266
|
+
This project uses [Camouf](https://www.npmjs.com/package/camouf) for real-time architecture monitoring.
|
|
267
|
+
Camouf enforces architecture rules and catches violations before they reach production.
|
|
268
|
+
|
|
269
|
+
### Commands
|
|
270
|
+
|
|
271
|
+
\`\`\`bash
|
|
272
|
+
# One-shot validation (JSON output — preferred for agents)
|
|
273
|
+
npx camouf validate --format json --ci
|
|
274
|
+
|
|
275
|
+
# One-shot validation (human-readable)
|
|
276
|
+
npx camouf validate --ci
|
|
277
|
+
|
|
278
|
+
# Watch mode (real-time monitoring)
|
|
279
|
+
npx camouf watch --ci
|
|
280
|
+
\`\`\`
|
|
281
|
+
|
|
282
|
+
### Output Parsing
|
|
283
|
+
|
|
284
|
+
When using \`--format json\`, output is:
|
|
285
|
+
|
|
286
|
+
\`\`\`json
|
|
287
|
+
{
|
|
288
|
+
"summary": { "total": 2, "errors": 1, "warnings": 1, "info": 0 },
|
|
289
|
+
"violations": [
|
|
290
|
+
{
|
|
291
|
+
"ruleId": "hardcoded-secrets",
|
|
292
|
+
"ruleName": "Hardcoded Secrets Detection",
|
|
293
|
+
"severity": "error",
|
|
294
|
+
"message": "Potential hardcoded API key found",
|
|
295
|
+
"file": "src/config.ts",
|
|
296
|
+
"line": 15,
|
|
297
|
+
"column": 1,
|
|
298
|
+
"suggestion": "Move to environment variable"
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
}
|
|
302
|
+
\`\`\`
|
|
303
|
+
|
|
304
|
+
### Exit Codes
|
|
305
|
+
|
|
306
|
+
- \`0\` — No violations found (architecture is clean)
|
|
307
|
+
- \`1\` — Violations found or error occurred
|
|
308
|
+
|
|
309
|
+
### Architecture Rules
|
|
310
|
+
|
|
311
|
+
The following rules are enforced (configured in \`camouf.config.json\`):
|
|
312
|
+
|
|
313
|
+
- \`layer-dependencies\` — Layers can only import from allowed layers
|
|
314
|
+
- \`circular-dependencies\` — No circular import chains
|
|
315
|
+
- \`hardcoded-secrets\` — No API keys, tokens, or credentials in code
|
|
316
|
+
- \`security-context\` — Routes/endpoints must have auth guards
|
|
317
|
+
- \`performance-antipatterns\` — No N+1 queries, sync I/O, memory leaks
|
|
318
|
+
- \`type-safety\` — No unsafe any, type assertions, non-null assertions
|
|
319
|
+
- \`ddd-boundaries\` — Bounded contexts must not cross domains
|
|
320
|
+
- \`api-versioning\` — API endpoints must include version prefix
|
|
321
|
+
- \`data-flow-integrity\` — Input validation and output sanitization
|
|
322
|
+
- \`contract-mismatch\` — Shared types must be consistent
|
|
323
|
+
- \`distributed-transactions\` — Multi-service calls need saga/compensation
|
|
324
|
+
- \`resilience-patterns\` — HTTP calls need timeout, retry, circuit breaker
|
|
325
|
+
|
|
326
|
+
### Workflow
|
|
327
|
+
|
|
328
|
+
1. Before committing code changes, run \`npx camouf validate --format json --ci\`
|
|
329
|
+
2. Parse the JSON output to check for violations
|
|
330
|
+
3. Fix violations following the \`suggestion\` field guidance
|
|
331
|
+
4. Re-run validation to confirm all violations are resolved
|
|
332
|
+
5. Configuration file: \`camouf.config.json\`
|
|
333
|
+
|
|
334
|
+
### CI/Agent Flags
|
|
335
|
+
|
|
336
|
+
- \`--ci\` — Suppresses spinners, colors, and interactive prompts
|
|
337
|
+
- \`--format json\` — Structured JSON output for machine parsing
|
|
338
|
+
- \`--format sarif\` — SARIF standard output for security tools
|
|
339
|
+
- \`--fail-on <severity>\` — Set minimum severity for non-zero exit (error, warning, info)
|
|
340
|
+
- \`CAMOUF_CI=1\` — Environment variable alternative to \`--ci\` flag
|
|
341
|
+
`;
|
|
342
|
+
}
|
|
343
|
+
function getCamoufAgentsSection() {
|
|
344
|
+
return `## Camouf — Architecture Monitoring
|
|
345
|
+
|
|
346
|
+
This project uses [Camouf](https://www.npmjs.com/package/camouf) for architecture monitoring.
|
|
347
|
+
|
|
348
|
+
### Commands
|
|
349
|
+
|
|
350
|
+
\`\`\`bash
|
|
351
|
+
npx camouf validate --format json --ci # JSON output for parsing
|
|
352
|
+
npx camouf validate --ci # Human-readable output
|
|
353
|
+
\`\`\`
|
|
354
|
+
|
|
355
|
+
### Workflow
|
|
356
|
+
|
|
357
|
+
- Run \`npx camouf validate --format json --ci\` before committing
|
|
358
|
+
- Fix violations following the \`suggestion\` field in the JSON output
|
|
359
|
+
- Exit code 0 = clean, 1 = violations found
|
|
360
|
+
- Config: \`camouf.config.json\`
|
|
361
|
+
`;
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=agent-integrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-integrations.js","sourceRoot":"","sources":["../../../src/core/agents/agent-integrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,8 +215,8 @@ export class ViolationReporter {
|
|
|
215
215
|
tool: {
|
|
216
216
|
driver: {
|
|
217
217
|
name: 'Camouf',
|
|
218
|
-
version: '0.
|
|
219
|
-
informationUri: 'https://github.com/
|
|
218
|
+
version: '0.3.0',
|
|
219
|
+
informationUri: 'https://github.com/TheEmilz/camouf',
|
|
220
220
|
rules: this.getUniqueRules(violations),
|
|
221
221
|
},
|
|
222
222
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"violation-reporter.js","sourceRoot":"","sources":["../../../src/core/reporter/violation-reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"violation-reporter.js","sourceRoot":"","sources":["../../../src/core/reporter/violation-reporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "camouf",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Real-time architecture monitoring CLI tool with multi-language support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -32,7 +32,12 @@
|
|
|
32
32
|
"code-quality",
|
|
33
33
|
"dependency-graph",
|
|
34
34
|
"ddd",
|
|
35
|
-
"clean-architecture"
|
|
35
|
+
"clean-architecture",
|
|
36
|
+
"claude-code",
|
|
37
|
+
"codex",
|
|
38
|
+
"ai-agent",
|
|
39
|
+
"CLAUDE.md",
|
|
40
|
+
"AGENTS.md"
|
|
36
41
|
],
|
|
37
42
|
"author": "",
|
|
38
43
|
"license": "Apache-2.0",
|