ChangeRadar
Know what changed. Find what broke. Get back to building.
ChangeRadar is a Visual Studio Code extension for investigating project problems after code changes. It summarizes recent Git history, detects supported project configuration, runs available Node.js checks, and reports confirmed command failures separately from inconclusive results and possible causes.
Features
- Git context: Shows up to 10 recent commits and changed files. It uses the last 10 commits when available, falling back to the working-tree changes when that history is unavailable.
- Project detection: Recognizes Node.js (
package.json), Python (pyproject.toml or requirements.txt), and Rust (Cargo.toml) projects.
- Node.js checks: Runs
npm test --no-audit --no-fund when package.json defines a test script, and npm run build when it defines a build script.
- Explicit findings: Separates passed, failed, inconclusive, and skipped checks. Failed commands include their exit code and useful output; timeouts and truncated output are inconclusive, not confirmed failures.
- Careful attribution: Possible causes are explicitly labelled as hypotheses, not proven facts.
Requirements
- Visual Studio Code
1.140.0 or later.
- Git to display commit and changed-file context. Analysis can still run if the workspace is not a Git repository.
- Node.js and npm to run configured Node.js checks.
Python and Rust projects are currently recognized for reporting, but automatic Python and Rust checks are not implemented. Those projects will show a skipped-check explanation; ChangeRadar does not install tools or dependencies.
Getting Started
Install the private beta VSIX
- Obtain the
change-radar-devtools-0.0.2.vsix file from the release maintainer.
- In VS Code, open the Extensions view (
Ctrl+Shift+X, or Cmd+Shift+X on macOS).
- Select the ... menu in the Extensions view and choose Install from VSIX....
- Select the downloaded
change-radar-devtools-0.0.2.vsix and reload VS Code if prompted.
Alternatively, install it from a terminal with code --install-extension "path\to\change-radar-devtools-0.0.2.vsix". On macOS or Linux, use the path separator appropriate to that system.
Analyze a project
- Open the project folder you want to inspect in VS Code.
- For a Node.js project, review the
test and build scripts in its package.json. ChangeRadar runs those scripts as configured; npm scripts can perform arbitrary project-defined actions.
- Open the Command Palette with
Ctrl+Shift+P (macOS: Cmd+Shift+P).
- Run ChangeRadar: Analyze Project.
- Read the ChangeRadar output channel. It opens when analysis begins.
Understanding the Report
- PASSED: The command exited successfully with code
0. This confirms only that the command passed; it does not prove the project has no defects.
- FAILED: The command exited with a nonzero code. The report includes the command, exit code, and available diagnostic output.
- INCONCLUSIVE: The command timed out, its output was truncated, or no exit code was available. The result is not treated as a confirmed failure.
- SKIPPED: No applicable script/check was run. The report gives the reason.
- Confirmed errors: Diagnostics from commands with a confirmed nonzero exit code. Routine npm lifecycle notices are excluded.
- Suspected causes: Hypotheses to investigate, not proven explanations.
Git changed-file context is not proof that a particular change caused a failure. Review the listed diffs and command output before drawing conclusions.
Troubleshooting
- No Git repository / no changed files: Open the intended repository root in VS Code and verify Git is installed and the folder is a repository. Checks can still run without Git context.
- A Node.js check is skipped: Add the corresponding
test or build script to package.json if appropriate. ChangeRadar does not invent or install project commands.
npm cannot start: Install Node.js (which includes npm), restart VS Code so it sees the updated PATH, and run the relevant npm command in the integrated terminal.
- A check failed: Run the reported command in the integrated terminal to inspect its full output, then review the project script and changed-file diffs.
- A result is inconclusive: Check for a command that takes longer than two minutes or produces more than 100,000 characters on stdout or stderr. Resolve the underlying issue and run the analysis again.
- Python or Rust project: These project types are detected, but automatic checks are not yet supported.
- No workspace folder open: Open a project folder, then run ChangeRadar: Analyze Project again.
Development
Install dependencies:
npm install
Build the extension:
npm run compile
Run type checking:
npm run check-types
Run linting:
npm run lint
Status
ChangeRadar is a preview/beta extension shared privately with testers. It runs only the configured Node.js test and build scripts described above; results depend on those scripts, available tools, and Git history. Python and Rust checks are not yet available.
License
ChangeRadar is proprietary software. See LICENSE for the applicable terms.