You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- `npm run audit` now includes the ReSharper inspectcode pass and
takes several minutes; use the per-tool scripts (`audit:fallow`,
`audit:dupes`, `audit:resharper`) for fast iteration.
Copy file name to clipboardExpand all lines: README.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -179,6 +179,24 @@ The project includes VS Code launch configurations for debugging both frontend a
179
179
-`npm run lint:staged` - Lint only git-staged files
180
180
-`npm run precommit` - Run full pre-commit checks manually (lint, test, build verify)
181
181
182
+
### Auditing (regression detection)
183
+
184
+
Heavier whole-project scanners that surface dead code, duplication, and C# inspection findings that the per-file linter doesn't catch. Outputs land in gitignored report directories (`.fallow/`, `jscpd-report/`, `inspect-report/`).
185
+
186
+
**Whole-project scans** — run locally for human review:
187
+
188
+
-`npm run audit` - Run all whole-project audits (fallow + jscpd + ReSharper); takes several minutes due to the ReSharper scan
189
+
-`npm run audit:fallow` - Vue/TS dead code, unused exports, complexity, duplication (`VueApp/`)
190
+
-`npm run audit:dupes` - jscpd duplicate-code report across `VueApp/src/` and `web/Areas/`
191
+
-`npm run audit:resharper` - ReSharper `inspectcode` whole-solution scan (writes SARIF + HTML to `inspect-report/`); takes several minutes
192
+
193
+
**Diff-scoped gates** — fail only on *new* findings at touched lines, so pre-existing issues never block:
194
+
195
+
-`npm run audit:resharper:pr` - C# inspection gate vs `origin/main`. Same gate the `Code Quality` GitHub Actions workflow runs on PRs.
196
+
-`npm run audit:resharper-staged` - C# inspection gate vs the git index (`git diff --cached`). Useful as a manual pre-commit check. For fast iteration after one full scan, append `-- --skip-scan` to reuse the existing SARIF: `npm run audit:resharper-staged -- --skip-scan`.
197
+
198
+
**CI integration** — `.github/workflows/code-quality.yml` runs four gates on every PR to `main`: `fallow-regression` (Vue), `jscpd-regression-csharp`, `jscpd-regression-vue`, and `resharper-pr-gate` (C# inspections). All four are diff-scoped so existing technical debt doesn't block merges.
199
+
182
200
### Build Cache
183
201
184
202
The linter, test, and build verification scripts use caching to avoid redundant rebuilds. If you encounter stale cache issues (e.g., linter showing warnings for already-fixed code), clear the cache:
0 commit comments