repopilot 0.9.0 → 0.10.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 CHANGED
@@ -15,6 +15,10 @@ and framework health checks. It gives developers useful terminal reports, CI gat
15
15
  SARIF for GitHub Code Scanning, and Markdown briefs that can be pasted into Claude
16
16
  Code, ChatGPT, Cursor, or another coding assistant.
17
17
 
18
+ Version `0.10.0` is an adoption and stability release: it focuses on cleaner
19
+ rollout diagnostics, reproducible audit receipts, CI artifacts, and 0.x command
20
+ compatibility while keeping all scans local.
21
+
18
22
  ## Why RepoPilot?
19
23
 
20
24
  Most linters and audit tools stop at the terminal. RepoPilot bridges the gap to your AI assistant:
@@ -36,23 +40,25 @@ repopilot ai context . | pbcopy # macOS: paste into your coding assistant
36
40
 
37
41
  - Repository scanning for projects, folders, and individual files
38
42
  - Gitignore-aware walking with built-in ignores for common build, cache, vendor, and native platform directories
39
- - Architecture findings: oversized files, deep nesting, too many modules per directory
43
+ - Architecture findings: oversized files, deep nesting, deep relative imports, risky barrel files, too many modules per directory
40
44
  - Coupling analysis: excessive fan-out, high-instability hubs, circular dependencies
41
45
  - Code quality findings: cyclomatic complexity density, long functions, TODO/FIXME/HACK markers
42
46
  - Security findings: hardcoded secret candidates, committed private keys, committed `.env` files
43
47
  - Testing findings: missing test folder, source files without test counterparts
44
- - Framework findings for JavaScript, React, React Native, and Expo projects
48
+ - Framework findings for JavaScript, React, React Native, Expo, and Django projects
45
49
  - React Native architecture profile: project kind, New Architecture, Hermes, Codegen, platform mismatch, and package manager signals
46
50
  - Workspace scanning (`--workspace`) for npm, yarn, pnpm, and Cargo workspaces with per-package risk summary — parallel per-package scans
47
51
  - Evidence-backed findings with stable rule IDs, severity, file paths, line numbers, and snippets
48
- - 36 built-in rules with titles, descriptions, recommendations, and docs links
52
+ - 46 built-in rules with titles, descriptions, recommendations, and docs links
49
53
  - `repopilot.toml` configuration generated by `repopilot init`
50
54
  - Configuration presets (`--preset strict|balanced|lenient`) for quick threshold tuning
51
55
  - Baseline workflow for accepting existing findings in legacy repositories
52
56
  - CI-friendly failure thresholds with `--fail-on`
53
57
  - Git diff-aware review mode for prioritizing findings introduced by changed lines
58
+ - Doctor adoption guidance for config, baseline, CI gate, report, and receipt readiness
59
+ - Audit receipt JSON from `repopilot scan --receipt` for reproducible scan evidence
54
60
  - Console, JSON, Markdown, HTML, and SARIF (2.1.0) scan output — SARIF includes per-result category and workspace package properties
55
- - First-party GitHub Action wrapper for `scan`, `review`, `compare`, and `ai` workflows, with optional SARIF upload for scans
61
+ - First-party GitHub Action wrapper for `scan`, `review`, `compare`, and `ai` workflows, with optional SARIF upload and receipt output for scans
56
62
  - Compare mode for diffing two JSON scan reports
57
63
  - **`repopilot ai context`** — formats scan output as LLM-ready markdown, paste into Claude Code or ChatGPT to start remediating
58
64
  - **`repopilot ai plan`** — turns findings into a prioritized remediation plan
@@ -105,17 +111,36 @@ cargo build --release
105
111
 
106
112
  ## Quick Start
107
113
 
114
+ No config needed. Run this in any repository and see findings immediately:
115
+
108
116
  ```bash
109
- repopilot init
110
117
  repopilot scan .
111
- repopilot ai context .
112
- repopilot review . --base origin/main --fail-on new-high
118
+ ```
119
+
120
+ Then get an AI-ready brief to paste into Claude Code, Cursor, or ChatGPT:
121
+
122
+ ```bash
123
+ repopilot ai context . | pbcopy # macOS — copies to clipboard
124
+ repopilot ai context . # print to terminal
125
+ ```
126
+
127
+ That's the two-minute loop. Scan, read the output, paste the context into your assistant, fix.
128
+
129
+ ### Going deeper
130
+
131
+ Once you want CI integration, baseline tracking, or tighter configuration:
132
+
133
+ ```bash
134
+ repopilot init # generate repopilot.toml
135
+ repopilot doctor . # check CI / baseline readiness
136
+ repopilot baseline create . # accept existing findings as known debt
137
+ repopilot review . --base origin/main --fail-on new-high # CI gate on new findings only
113
138
  ```
114
139
 
115
140
  Save a shareable report:
116
141
 
117
142
  ```bash
118
- repopilot scan . --format markdown --output repopilot-report.md
143
+ repopilot scan . --format markdown --output repopilot-report.md --receipt .repopilot/receipt.json
119
144
  ```
120
145
 
121
146
  Reduce scan noise while iterating:
@@ -357,6 +382,7 @@ repopilot scan . --format sarif > repopilot.sarif
357
382
  ```
358
383
 
359
384
  Use JSON when custom scripts need to parse RepoPilot results. Console, Markdown, and HTML reports include the RepoPilot version, risk summary, top rules, and grouped findings for human review. Use SARIF for CI and code scanning integrations, including GitHub Code Scanning.
385
+ Use `--receipt <path>` with `scan` when CI or release processes need compact evidence of the exact RepoPilot version, git state, scan scope, finding counts, language counts, and health score.
360
386
 
361
387
  See [docs/integrations/github-code-scanning.md](docs/integrations/github-code-scanning.md) for a copy-paste GitHub Actions workflow, required permissions, and local validation commands.
362
388
 
@@ -377,7 +403,7 @@ Use `--fail-on new-high` to fail CI only when new high or critical findings are
377
403
  When `--fail-on new-*` is used without `--baseline`, RepoPilot treats all current findings as new. For baseline-based adoption, commit an accepted baseline and scan against it in CI.
378
404
 
379
405
  To upload RepoPilot findings to GitHub Code Scanning, generate SARIF and use `github/codeql-action/upload-sarif`. The workflow must include `security-events: write`.
380
- The first-party action can also run `command: ai-context`, `command: ai-plan`, or `command: ai-prompt`; those commands emit Markdown and do not produce SARIF. Prefer typed action inputs such as `path`, `config`, `baseline`, `fail-on`, `focus`, `budget`, and `output`; `args` remains available for advanced flags.
406
+ The first-party action can also run `command: ai-context`, `command: ai-plan`, or `command: ai-prompt`; those commands emit Markdown and do not produce SARIF. Prefer typed action inputs such as `path`, `config`, `baseline`, `fail-on`, `focus`, `budget`, `output`, and `receipt`; `args` remains available for advanced flags.
381
407
 
382
408
  ```yaml
383
409
  name: RepoPilot
@@ -403,7 +429,7 @@ jobs:
403
429
  run: cargo install repopilot
404
430
 
405
431
  - name: Run RepoPilot
406
- run: repopilot scan . --baseline .repopilot/baseline.json --fail-on new-high
432
+ run: repopilot scan . --baseline .repopilot/baseline.json --fail-on new-high --receipt repopilot-receipt.json
407
433
 
408
434
  - name: Run RepoPilot (SARIF)
409
435
  run: repopilot scan . --format sarif --output repopilot.sarif
@@ -413,6 +439,13 @@ jobs:
413
439
  if: always()
414
440
  with:
415
441
  sarif_file: repopilot.sarif
442
+
443
+ - name: Upload audit receipt
444
+ uses: actions/upload-artifact@v4
445
+ if: always()
446
+ with:
447
+ name: repopilot-receipt
448
+ path: repopilot-receipt.json
416
449
  ```
417
450
 
418
451
  ## Roadmap
@@ -438,7 +471,7 @@ These are planned ideas, not current features:
438
471
  | [docs/react-native.md](docs/react-native.md) | React Native and Expo detection, findings, and limitations |
439
472
  | [docs/integrations/github-code-scanning.md](docs/integrations/github-code-scanning.md) | GitHub Code Scanning SARIF workflow |
440
473
  | [docs/release.md](docs/release.md) | Manual release process |
441
- | [docs/release-checklist-0.9.md](docs/release-checklist-0.9.md) | 0.9.0 release readiness checklist |
474
+ | [docs/release-checklist-0.10.md](docs/release-checklist-0.10.md) | 0.10.0 release readiness checklist |
442
475
  | [docs/distribution.md](docs/distribution.md) | Distribution channels |
443
476
  | [docs/github-ruleset.md](docs/github-ruleset.md) | GitHub branch ruleset configuration |
444
477
  | [CHANGELOG.md](CHANGELOG.md) | Version history |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repopilot",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Local-first CLI for repository audit, architecture risk detection, baseline tracking, and CI-friendly code review.",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "repository": {
@@ -206,9 +206,11 @@ assert_non_empty "$TMP_DIR/repopilot.toml"
206
206
  run_repopilot doctor . --format markdown --output "$TMP_DIR/doctor.md"
207
207
  assert_non_empty "$TMP_DIR/doctor.md"
208
208
 
209
- run_repopilot scan . --format json --output "$TMP_DIR/scan.json"
209
+ run_repopilot scan . --format json --output "$TMP_DIR/scan.json" --receipt "$TMP_DIR/receipt.json"
210
210
  assert_non_empty "$TMP_DIR/scan.json"
211
211
  validate_json_if_possible "$TMP_DIR/scan.json"
212
+ assert_non_empty "$TMP_DIR/receipt.json"
213
+ validate_json_if_possible "$TMP_DIR/receipt.json"
212
214
 
213
215
  run_repopilot scan . --format markdown --output "$TMP_DIR/scan.md"
214
216
  assert_non_empty "$TMP_DIR/scan.md"