VSCode IconGhazi Saoudi

File

Edit

View

Go

Run

Terminal

Help

Ghazi Saoudi - Visual Studio Code

All projects/configpilot.md

Engineering case study

ConfigPilot

Understand configuration before it becomes a deployment problem.

A published CLI and JavaScript API for discovering environment-variable references, previewing safe placeholders, and explaining configuration inconsistencies without displaying assignment values.

JavaScriptTypeScript declarationsNode.jsBabel ASTVue SFC parserJSON SchemaGitHub Actionsnpm

CLI workflow

npm install --save-dev configpilot
npx configpilot scan
npx configpilot init --template --dry-run
npx configpilot check --json

01

The problem

An unfamiliar codebase can scatter environment references across source files while its templates drift out of sync. ConfigPilot gives developers a discover–configure–verify workflow, with source locations, actionable findings, and explicit boundaries around what static analysis can prove.

Project context

Open source / Developer tooling / npm

Implementation scope

  • AST-based discovery for JavaScript, TypeScript, JSX, TSX, and supported inline Vue script blocks; dynamic lookups remain explicitly unresolved.
  • Read-only syntax/key checks and consent-based initialization with dry-run previews, exclusive file creation, and no copied source or configuration values.
  • Version 1.3.0 adds explicit JSON rules, required-local blank checks, independent workspaces, template-addition previews, CI failure policies, GitHub annotations, and exported JSON Schemas.
  • ESM JavaScript APIs with bundled TypeScript declarations, published on npm with an MIT license.
02

Project showcase

configpilot.preview.png
ConfigPilot — Provided ConfigPilot cover illustration. The terminal artwork represents the scan, init, and check workflow; it is not a live execution report.

Provided ConfigPilot cover illustration. The terminal artwork represents the scan, init, and check workflow; it is not a live execution report.

03

System architecture

  1. 01Discover
  2. 02Preview
  3. 03Configure
  4. 04Verify
  5. 05Report
01

Source understanding

Babel AST / Vue SFC parser

Static reference discovery with lexical binding awareness and an isolated, resource-bounded parser worker for project scans. Project modules are not executed.

02

Analysis core

JavaScript / Pure APIs / Type declarations

Explicit string inputs produce structured parsing and comparison reports. Assignment values are not included in public diagnostics.

03

Project policy

Explicit JSON / Workspaces / JSON Schema

Opt-in required, optional, and externally supplied key rules, severity thresholds, scoped workspaces, and versioned machine-readable contracts.

04

Developer & CI interface

Node.js CLI / npm / GitHub Actions

Terminal, JSON, and explicit GitHub annotation output, with documented exits. Initialization is a separate, authorized write operation.

04

Engineering decisions

01

Analyze code without running the project.

Source discovery parses supported syntax instead of importing application modules, evaluating expressions, or executing project configuration. Unsupported and dynamic references are reported instead of guessed.

02

Make file creation an explicit decision.

Init supports dry runs and requires consent or an explicit flag to create one nonexistent file. Exclusive creation protects existing files; source fallbacks and private configuration values are never copied into generated output.

03

Do not confuse a clean check with a healthy deployment.

Default checks compare supported syntax and declared keys. Explicit required-local rules can check blankness, but credentials, external provisioning, network access, and application readiness remain outside the tool’s scope.

04

Keep human-readable and automated reports aligned.

Stable issue codes, locations, JSON Schemas, policy reports, and GitHub annotations let developers and CI consume the same findings. The documented test strategy covers contracts, packaging, type declarations, and multiple OS/Node combinations.

05

Engineering takeaways

  • Static analysis that separates observable evidence from runtime assumptions.
  • Privacy-aware diagnostics and explicit filesystem authorization boundaries.
  • Shipping an npm CLI and typed library with versioned report contracts and documented limits.

Next steps

The repository’s stability plan tracks remaining validation and owner approval gates. The supplied ecosystem screenshots document a point in time; they are not live adoption, security, or performance claims.