@hatem427/code-guard-ci 3.6.1 → 3.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"precommit-check.js","sourceRoot":"","sources":["../../scripts/precommit-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"precommit-check.js","sourceRoot":"","sources":["../../scripts/precommit-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hatem427/code-guard-ci",
3
- "version": "3.6.1",
3
+ "version": "3.6.3",
4
4
  "description": "Production-ready TypeScript tooling to enforce PR & coding guidelines for Angular, React, NextJS, NestJS, Fastify, Hono, and Node.js projects.",
5
5
  "private": false,
6
6
  "main": "dist/scripts/cli.js",
@@ -19,7 +19,8 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "build": "tsc && chmod +x dist/scripts/cli.js",
22
- "prepublishOnly": "npm run build"
22
+ "prepublishOnly": "npm run build",
23
+ "install-security-tools": "node dist/scripts/install-security-tools.js"
23
24
  },
24
25
  "keywords": [
25
26
  "code-quality",
package/scripts/cli.ts CHANGED
@@ -75,7 +75,8 @@ function showHelp(): void {
75
75
  ${c.bold('Commands:')}
76
76
  ${c.green('init')} Full automatic setup (zero prompts)
77
77
  ${c.green('check')} Run pre-commit checks manually
78
- ${c.green('check-vuln')} Run security scans (npm audit, RetireJS)
78
+ ${c.green('install-security-tools')} Install Syft + Grype for Layer 3 SBOM scanning (run once)
79
+ ${c.green('check-vuln')} Run security scans (npm audit, RetireJS, Grype)
79
80
  ${c.green('report')} Generate a rich report with fix examples (opens in editor)
80
81
  ${c.green('doc')} Generate feature documentation
81
82
  ${c.green('checklist')} Generate PR checklist
@@ -652,6 +653,13 @@ npx lint-staged
652
653
 
653
654
  # Run Code Guardian rules
654
655
  npm run precommit-check
656
+
657
+ # Run tests for staged source files (skip JSON/config files)
658
+ STAGED=$(git diff --cached --name-only --diff-filter=d | grep -E '\.(ts|js|html|css|scss)$' | grep -v '\.json$')
659
+ if [ -n "$STAGED" ]; then
660
+ echo "🧪 Running test coverage for staged source files..."
661
+ npm run test:coverage
662
+ fi
655
663
  # --- code-guardian-hook-end ---
656
664
  `;
657
665
 
@@ -1707,6 +1715,21 @@ async function uninstallCodeGuard(): Promise<void> {
1707
1715
 
1708
1716
  // ── Vulnerability Check ────────────────────────────────────────────────────
1709
1717
 
1718
+ function runInstallSecurityTools(): void {
1719
+ const scriptPath = path.join(__dirname, 'install-security-tools.js');
1720
+ if (fs.existsSync(scriptPath)) {
1721
+ require(scriptPath);
1722
+ } else {
1723
+ const tsScriptPath = path.join(__dirname, '..', 'scripts', 'install-security-tools.ts');
1724
+ if (fs.existsSync(tsScriptPath)) {
1725
+ execSync(`npx ts-node ${tsScriptPath}`, { stdio: 'inherit' });
1726
+ } else {
1727
+ console.error(c.red('❌ Error: Could not find install-security-tools script.'));
1728
+ process.exit(1);
1729
+ }
1730
+ }
1731
+ }
1732
+
1710
1733
  function runVulnerabilityCheck(): void {
1711
1734
  showBanner();
1712
1735
  console.log(c.bold('🔍 Code Guardian — Vulnerability Scan\n'));
@@ -1752,53 +1775,113 @@ function runVulnerabilityCheck(): void {
1752
1775
 
1753
1776
  (async () => {
1754
1777
  switch (command) {
1778
+ // Sets up the entire Code Guardian toolchain in one shot:
1779
+ // ESLint, Prettier, TypeScript strict config, lint-staged, CommitLint,
1780
+ // EditorConfig, VS Code settings, Husky pre-commit hook, and AI assistant
1781
+ // config files (Cursor, Copilot, Claude, Gemini, Windsurf…).
1782
+ // Also patches .gitignore so generated files are tracked correctly.
1783
+ // Usage: npx code-guard init [--skip-hooks] [--skip-ai]
1755
1784
  case 'init':
1756
1785
  initProject();
1757
1786
  break;
1758
1787
 
1788
+ // Manually runs the same rule checks that fire on every git commit.
1789
+ // Useful for checking your work before staging files.
1790
+ // Scans staged files against all shared + framework-specific rules,
1791
+ // then runs ESLint and Prettier in check mode.
1792
+ // Usage: npx code-guard check
1759
1793
  case 'check':
1760
1794
  runCheck();
1761
1795
  break;
1762
1796
 
1797
+ // Installs Syft + Grype system binaries to enable Layer 3 SBOM scanning.
1798
+ // Auto-detects OS and uses Homebrew (macOS), curl (Linux), or Scoop/Winget (Windows).
1799
+ // Only needs to be run once per machine.
1800
+ // Usage: npx code-guard install-security-tools
1801
+ case 'install-security-tools':
1802
+ runInstallSecurityTools();
1803
+ break;
1804
+
1805
+ // Runs a 3-layer security audit independently of the pre-commit hook:
1806
+ // Layer 1 — npm audit (known CVEs in your dependencies)
1807
+ // Layer 2 — RetireJS (vulnerable JS libraries)
1808
+ // Layer 3 — Syft + Grype SBOM scan (if installed)
1809
+ // Run this periodically or in CI — not on every commit.
1810
+ // Usage: npx code-guard check-vuln
1763
1811
  case 'check-vuln':
1764
1812
  runVulnerabilityCheck();
1765
1813
  break;
1766
1814
 
1815
+ // Generates (or re-opens) the last Code Guardian report in VS Code.
1816
+ // The report is a rich Markdown file at .code-guardian/CODE_GUARDIAN_REPORT.md
1817
+ // with violation details, solution examples, and quick-fix hints.
1818
+ // Usage: npx code-guard report
1767
1819
  case 'report':
1768
1820
  runReport();
1769
1821
  break;
1770
1822
 
1823
+ // Auto-generates a feature documentation file for the current git branch.
1824
+ // Creates docs/features/<branch-name>.md with a structured template.
1825
+ // Encourages documenting every feature branch before merging.
1826
+ // Usage: npx code-guard doc
1771
1827
  case 'doc':
1772
1828
  generateDoc();
1773
1829
  break;
1774
1830
 
1831
+ // Generates a PR checklist Markdown file based on all active rules.
1832
+ // Lists every rule the reviewer should manually verify.
1833
+ // Useful to paste into pull request descriptions.
1834
+ // Usage: npx code-guard checklist
1775
1835
  case 'checklist':
1776
1836
  generateChecklist();
1777
1837
  break;
1778
1838
 
1839
+ // Validates the project's folder structure and file naming conventions
1840
+ // against the rules defined in:
1841
+ // .code-guardian/structure-rules.json
1842
+ // .code-guardian/naming-rules.json
1843
+ // Usage: npx code-guard validate
1779
1844
  case 'validate':
1780
1845
  runValidation();
1781
1846
  break;
1782
1847
 
1848
+ // Removes all files and configurations that Code Guardian created.
1849
+ // Uses the manifest (.code-guardian/manifest.json) to know exactly
1850
+ // what was created vs modified — preserves your original content.
1851
+ // Also restores any backup files (e.g. .eslintrc.backup → .eslintrc).
1852
+ // Usage: npx code-guard uninstall [--yes]
1783
1853
  case 'uninstall':
1784
1854
  case 'cleanup':
1785
1855
  await uninstallCodeGuard();
1786
1856
  break;
1787
1857
 
1858
+ // Generates (or re-generates) an AI assistant config file for a specific tool.
1859
+ // Available assistants: cursor, copilot, claude, gemini, windsurf, junie,
1860
+ // antigravity, aider.
1861
+ // Also patches .gitignore so the generated file is tracked by git.
1862
+ // Usage: npx code-guard add-ai <name>
1863
+ // e.g. npx code-guard add-ai cursor
1788
1864
  case 'add-ai':
1789
1865
  addAI();
1790
1866
  break;
1791
1867
 
1868
+ // Lists all available AI assistant integrations that Code Guardian can generate,
1869
+ // along with their target file paths and current status (exists / missing).
1870
+ // Usage: npx code-guard list-ai
1792
1871
  case 'list-ai':
1793
1872
  listAI();
1794
1873
  break;
1795
1874
 
1875
+ // Prints the currently installed version of @hatem427/code-guard-ci.
1876
+ // Usage: npx code-guard version
1796
1877
  case 'version':
1797
1878
  case '--version':
1798
1879
  case '-v':
1799
1880
  showVersion();
1800
1881
  break;
1801
1882
 
1883
+ // Displays full usage information: all commands, flags, and examples.
1884
+ // Usage: npx code-guard help
1802
1885
  case 'help':
1803
1886
  case '--help':
1804
1887
  case '-h':
@@ -34,12 +34,14 @@ function buildLintStagedConfig(project: DetectionResult): Record<string, string[
34
34
  config['*.{ts,tsx}'] = [
35
35
  eslintCmd,
36
36
  'prettier --write --ignore-path .prettierignore',
37
+ 'npm run test:coverage',
37
38
  ];
38
39
  }
39
40
 
40
41
  config['*.{js,jsx}'] = [
41
42
  eslintCmd,
42
43
  'prettier --write --ignore-path .prettierignore',
44
+ 'npm run test:coverage',
43
45
  ];
44
46
 
45
47
  // Framework-specific patterns
@@ -62,14 +64,18 @@ function buildLintStagedConfig(project: DetectionResult): Record<string, string[
62
64
  case 'angular':
63
65
  config['*.html'] = [
64
66
  'prettier --write --parser angular --ignore-path .prettierignore',
67
+ 'npm run test:coverage',
65
68
  ];
66
69
  break;
67
70
  }
68
71
 
69
72
  // Style files
70
- config['*.{css,scss,less}'] = ['prettier --write --ignore-path .prettierignore'];
73
+ config['*.{css,scss,less}'] = [
74
+ 'prettier --write --ignore-path .prettierignore',
75
+ 'npm run test:coverage',
76
+ ];
71
77
 
72
- // JSON & Markdown
78
+ // JSON & Markdown — formatting only, no tests
73
79
  config['*.{json,md,mdx,yml,yaml}'] = ['prettier --write --ignore-path .prettierignore'];
74
80
 
75
81
  return config;
@@ -0,0 +1,128 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ============================================================================
4
+ * install-security-tools.ts — One-time installer for Syft + Grype
5
+ * ============================================================================
6
+ *
7
+ * Detects the OS and installs the Syft and Grype binaries so that
8
+ * Layer 3 (SBOM vulnerability scanning) is enabled in the pre-commit hook.
9
+ *
10
+ * Usage:
11
+ * npm run install-security-tools
12
+ */
13
+
14
+ import { spawnSync } from 'child_process';
15
+
16
+ const INSTALL_URL_BASE = 'https://raw.githubusercontent.com/anchore';
17
+
18
+ function isInstalled(tool: string): boolean {
19
+ return spawnSync('which', [tool], { encoding: 'utf-8' }).status === 0;
20
+ }
21
+
22
+ function run(cmd: string, args: string[]): boolean {
23
+ console.log(` $ ${cmd} ${args.join(' ')}`);
24
+ const result = spawnSync(cmd, args, { stdio: 'inherit', encoding: 'utf-8' });
25
+ return result.status === 0;
26
+ }
27
+
28
+ function installViaCurl(tool: string): boolean {
29
+ const url = `${INSTALL_URL_BASE}/${tool}/main/install.sh`;
30
+ // Download script to temp file and run with sh — safer than piping to sh directly
31
+ const tmpScript = `/tmp/install-${tool}.sh`;
32
+ const dlResult = spawnSync('curl', ['-sSfL', url, '-o', tmpScript], { stdio: 'inherit', encoding: 'utf-8' });
33
+ if (dlResult.status !== 0) {
34
+ console.error(` ❌ Failed to download ${tool} install script from ${url}`);
35
+ return false;
36
+ }
37
+ spawnSync('chmod', ['+x', tmpScript], { encoding: 'utf-8' });
38
+ return run('sh', [tmpScript, '-b', '/usr/local/bin']);
39
+ }
40
+
41
+ function installViaBrew(tool: string, formulaPath: string): boolean {
42
+ return run('brew', ['install', formulaPath]);
43
+ }
44
+
45
+ function installViaScoop(tool: string): boolean {
46
+ return run('scoop', ['install', tool]);
47
+ }
48
+
49
+ function installViaWinget(tool: string, id: string): boolean {
50
+ return run('winget', ['install', id]);
51
+ }
52
+
53
+ function main(): void {
54
+ const platform = process.platform;
55
+
56
+ console.log('');
57
+ console.log('╔══════════════════════════════════════════════════════════════╗');
58
+ console.log('║ 📦 Installing Syft + Grype (Layer 3 SBOM scanning) ║');
59
+ console.log('╚══════════════════════════════════════════════════════════════╝');
60
+ console.log('');
61
+
62
+ const tools: Array<{
63
+ name: string;
64
+ brewPath: string;
65
+ scoopName: string;
66
+ wingetId: string;
67
+ }> = [
68
+ { name: 'grype', brewPath: 'anchore/grype/grype', scoopName: 'grype', wingetId: 'anchore.grype' },
69
+ { name: 'syft', brewPath: 'anchore/syft/syft', scoopName: 'syft', wingetId: 'anchore.syft' },
70
+ ];
71
+
72
+ let allOk = true;
73
+
74
+ for (const tool of tools) {
75
+ if (isInstalled(tool.name)) {
76
+ console.log(` ✅ ${tool.name} is already installed — skipping.`);
77
+ continue;
78
+ }
79
+
80
+ console.log(` 🔧 Installing ${tool.name}...`);
81
+
82
+ let ok = false;
83
+
84
+ if (platform === 'win32') {
85
+ // Try Scoop first, fall back to Winget
86
+ if (spawnSync('scoop', ['--version'], { encoding: 'utf-8' }).status === 0) {
87
+ ok = installViaScoop(tool.scoopName);
88
+ } else {
89
+ ok = installViaWinget(tool.name, tool.wingetId);
90
+ }
91
+ } else if (platform === 'darwin') {
92
+ // Try Homebrew first, fall back to curl
93
+ if (spawnSync('brew', ['--version'], { encoding: 'utf-8' }).status === 0) {
94
+ ok = installViaBrew(tool.name, tool.brewPath);
95
+ } else {
96
+ ok = installViaCurl(tool.name);
97
+ }
98
+ } else {
99
+ // Linux — curl install
100
+ ok = installViaCurl(tool.name);
101
+ }
102
+
103
+ if (ok && isInstalled(tool.name)) {
104
+ console.log(` ✅ ${tool.name} installed successfully.`);
105
+ } else {
106
+ console.error(` ❌ ${tool.name} installation failed.`);
107
+ allOk = false;
108
+ }
109
+ console.log('');
110
+ }
111
+
112
+ if (allOk) {
113
+ console.log('╔══════════════════════════════════════════════════════════════╗');
114
+ console.log('║ ✅ Syft + Grype ready — Layer 3 scanning is now active! ║');
115
+ console.log('╚══════════════════════════════════════════════════════════════╝');
116
+ console.log('');
117
+ console.log(' Layer 3 will automatically run on your next git commit.');
118
+ console.log('');
119
+ } else {
120
+ console.log('');
121
+ console.log(' ⚠️ One or more tools failed to install.');
122
+ console.log(' Install manually and re-run: npm run install-security-tools');
123
+ console.log('');
124
+ process.exit(1);
125
+ }
126
+ }
127
+
128
+ main();
@@ -31,7 +31,14 @@ console.log(`
31
31
 
32
32
  git commit -m "test"
33
33
 
34
- 📖 Documentation:
34
+ Optional — Enable full SBOM scanning (Layer 3):
35
+
36
+ npx code-guard install-security-tools
37
+
38
+ This installs Syft + Grype for deep CVE scanning of your
39
+ full dependency tree (beyond npm audit and RetireJS).
40
+
41
+ �📖 Documentation:
35
42
  https://github.com/hatem427/code-guard-ci
36
43
 
37
44
  🆘 Need help?
@@ -405,16 +405,7 @@ function runGrype(): SecurityScanResult {
405
405
  result.skipped = true;
406
406
  result.summary = 'grype not installed';
407
407
  logger.warn(' Syft+Grype: ⚠️ grype not installed — Layer 3 skipped.');
408
- logger.dim('');
409
- logger.dim(' To enable full SBOM vulnerability scanning, install Grype once:');
410
- logger.dim('');
411
- logger.dim(' Linux/macOS:');
412
- logger.dim(' curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh \\');
413
- logger.dim(' | sh -s -- -b /usr/local/bin');
414
- logger.dim('');
415
- logger.dim(' macOS (Homebrew):');
416
- logger.dim(' brew install anchore/grype/grype');
417
- logger.dim('');
408
+ _printGrypeInstallInstructions();
418
409
  return result;
419
410
  }
420
411
  try {
@@ -437,6 +428,47 @@ function runGrype(): SecurityScanResult {
437
428
  } catch { result.skipped = true; result.summary = 'Grype scan failed.'; logger.warn(' Syft+Grype: ⚠️ Scan failed.'); return result; }
438
429
  }
439
430
 
431
+ /**
432
+ * Print OS-aware, prominently visible install instructions for Syft + Grype.
433
+ */
434
+ function _printGrypeInstallInstructions(): void {
435
+ const isMac = process.platform === 'darwin';
436
+ const isWin = process.platform === 'win32';
437
+
438
+ console.log('');
439
+ console.log(' ┌─────────────────────────────────────────────────────────────┐');
440
+ console.log(' │ 📦 Enable Layer 3: install Syft + Grype (one-time setup) │');
441
+ console.log(' ├─────────────────────────────────────────────────────────────┤');
442
+
443
+ if (isWin) {
444
+ console.log(' │ Windows (Scoop): │');
445
+ console.log(' │ scoop install syft grype │');
446
+ console.log(' │ │');
447
+ console.log(' │ Windows (Winget): │');
448
+ console.log(' │ winget install anchore.syft anchore.grype │');
449
+ } else if (isMac) {
450
+ console.log(' │ macOS (Homebrew) — recommended: │');
451
+ console.log(' │ brew install anchore/grype/grype anchore/syft/syft │');
452
+ console.log(' │ │');
453
+ console.log(' │ macOS / Linux (curl): │');
454
+ console.log(' │ curl -sSfL https://raw.githubusercontent.com/anchore/ │');
455
+ console.log(' │ grype/main/install.sh | sh -s -- -b /usr/local/bin │');
456
+ console.log(' │ curl -sSfL https://raw.githubusercontent.com/anchore/ │');
457
+ console.log(' │ syft/main/install.sh | sh -s -- -b /usr/local/bin │');
458
+ } else {
459
+ console.log(' │ Linux (curl): │');
460
+ console.log(' │ curl -sSfL https://raw.githubusercontent.com/anchore/ │');
461
+ console.log(' │ grype/main/install.sh | sh -s -- -b /usr/local/bin │');
462
+ console.log(' │ curl -sSfL https://raw.githubusercontent.com/anchore/ │');
463
+ console.log(' │ syft/main/install.sh | sh -s -- -b /usr/local/bin │');
464
+ }
465
+
466
+ console.log(' │ │');
467
+ console.log(' │ Or run: npx code-guard install-security-tools │');
468
+ console.log(' └─────────────────────────────────────────────────────────────┘');
469
+ console.log('');
470
+ }
471
+
440
472
  function _parseGrypeOutput(spawnResult: any, result: SecurityScanResult, mode: string): SecurityScanResult {
441
473
  let matches: any[] = [];
442
474
  try {