ESD Platform integration for VS Code — governance, project cockpit, and quality enforcement.
Features
- Project Cockpit: Interactive webview for project management
- Quality Gates: Run QUICK/STANDARD/RELEASE quality checks
- Harness Integration: Connect to ESD Harness for governance
- Authentication: VS Code native authentication provider
- Tree View: View ESD projects in Explorer
Requirements
- VS Code 1.80.0 or later
- ESD Harness (optional, for live integration)
Installation
npm install
npm run compile
Development
# Compile
npm run compile
# Watch mode
npm run compile:watch
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Lint
npm run lint
# Format
npx prettier --write .
# Package (creates .vsix)
npm run package
Testing
npm test # Run tests once
npm run test:watch # Watch mode
Commands
| Command |
Description |
ESD: Show Project Cockpit |
Open project cockpit webview |
ESD: Run Quick Quality Check |
Run QUICK quality gate |
ESD: Run Standard Quality Check |
Run STANDARD quality gate |
ESD: Refresh Projects |
Refresh project list |
ESD: Open Settings |
Open extension settings |
Configuration
| Setting |
Default |
Description |
esd.harnessUrl |
https://harness.adsolucoes.com.br |
Harness API URL |
esd.qualityProfile |
quick |
Default quality profile |
esd.autoRunQuality |
true |
Auto-run on save |
Architecture
src/
├── extension.ts # Entry point
├── commands/ # VS Code commands
├── services/ # Auth, harness client
├── types/ # TypeScript types
├── utils/ # Logger, config
└── views/ # Webview panels
Quality Profiles
| Profile |
Duration |
Checks |
| QUICK |
< 5s |
lint:quick, format:check, typecheck:basic, secrets:scan |
| STANDARD |
< 60s |
lint:full, format:check, typecheck:full, test:unit, security:deps, coverage:threshold, evidence:schema, evidence:integrity |
| RELEASE |
< 5min |
everything of STANDARD, plus security:audit, accessibility:a11y, performance:bundle, evidence:signature, evidence:attestation |
The profiles are executed by the ESD Local Quality Runtime,
the same engine the CLI and the CI use. A profile that declares a check that
does not run is a failed gate: the extension never reports a green gate it
did not actually execute.
The gate inside the editor
The commands ESD: Quality (Quick | Standard | Release) run the same engine:
the extension starts the runtime as a process, reads the evidence it writes and
shows what that evidence says. The verdict comes from the evidence — never from
the exit code of the program, and never from what the extension would like it to
be. A run that produces no evidence is an error, not a pass.
The runtime is looked for in this order:
- the copy that ships with the extension (it is a dependency of it),
node_modules/.bin/esd-quality of the open workspace,
npx esd-local-quality-runtime.
The ESD Quality output panel says which of them was used.
Running the gate on this repository
# The gate of this repository, with the published runtime
npm install -g esd-local-quality-runtime
esd-quality standard
Or, in a single run without installing it:
npx --package esd-local-quality-runtime esd-quality standard
Or, against a local checkout of the runtime:
cd ../esd-local-quality-runtime && npm install && npm run build
cd ../esd-vscode-extension
node ../esd-local-quality-runtime/dist/cli/index.js standard
The thresholds of this repository live in .esd/config.json. The evidence of
every run is written to .esd/, and the checks of the profile read the trail
of the previous runs: a document that was altered fails the gate.
The accessibility:a11y check reports SKIP: the extension has no web
interface of its own to audit, and the check applies to the web control
plane.
Status
| Increment |
Description |
Status |
| I0 |
Scaffold, commands, tree view |
✅ Complete |
| I1 |
Auth provider, webview |
✅ Complete |
| I2 |
Quality adapter, command integration |
✅ Complete |
| I3 |
Evidence capture, markdown reports |
✅ Complete |
| I4 |
Live Harness integration |
✅ Complete |
| I5 |
CI/CD Integration |
✅ Complete |
| I6 |
Dashboard & Analytics |
✅ Complete |
| I7 |
Notifications & Alerts |
✅ Complete |
| I8 |
Keyboard Shortcuts & Quick Actions |
✅ Complete |
| I9 |
Settings & Configuration UI |
✅ Complete |
| I10 |
Status Bar & Activity Indicators |
✅ Complete |
| I11 |
Error Handling & Retry Logic |
✅ Complete |
| I12 |
Internationalization & Localization |
✅ Complete |
| I13 |
Documentation & Help System |
✅ Complete |
| I14 |
Performance Optimization & Caching |
✅ Complete |
| I15 |
Security Hardening & Best Practices |
✅ Complete |
| I16 |
Accessibility & A11y |
✅ Complete |
| I17 |
Testing Infrastructure & CI |
✅ Complete |
License
MIT