TypeScript extension that provides SpecSync-related commands and configuration for local workflows: specification views, edits, and Lean proof invocation. It lives alongside the main SpecSync Probot app in the repository root.
- Commands (see
package.jsoncontributes.commands): Show Specification, Edit Specification, Run Lean Proof. - Settings: Spec cache path, Lean executable path, confidence threshold for inline suggestions.
- Activation: JavaScript, TypeScript, and Python files (
activationEventsinpackage.json).
- VS Code (or a compatible editor).
- Lean 4 on your
PATHif you use proof commands, or setspecsync.leanPath.
- Open a terminal at the repository root.
- Install extension dependencies and compile:
cd vscode-extension
npm install
npx tsc -p .Compiled JavaScript is emitted to out/ per tsconfig.json (rootDir: src, outDir: out).
- In VS Code: File → Open Folder and select the
vscode-extensionfolder (or the whole repo). - Press F5 to launch the Extension Development Host with this extension loaded (add
.vscode/launch.jsonif you use the debugger).
If the extension is published, install from the Extensions view by searching for the publisher/name shown in package.json.
| Setting | Default | Description |
|---|---|---|
specsync.specCachePath |
.specsync/spec.json |
Path to the spec cache file (relative to workspace when applicable). |
specsync.leanPath |
lean |
Lean executable name or path. |
specsync.confidenceThreshold |
0.7 |
Minimum confidence for showing suggestions. |
Example User Settings JSON:
{
"specsync.specCachePath": ".specsync/spec.json",
"specsync.leanPath": "lean",
"specsync.confidenceThreshold": 0.7
}- View specs: Command palette →
SpecSync: Show Specification(or use CodeLens if provided by your build). - Edit specs:
SpecSync: Edit Specification. - Proofs:
SpecSync: Run Lean Proof; check the Output panel for logs. Proof artifacts may be written under.specsync/artifactsdepending on implementation.
cd vscode-extension
npm install
npx tsc -p .- Re-run
npx tsc -p .after editingsrc/*.ts. - The root SpecSync package (
..) is separate: it builds the GitHub App to../dist/; the extension does not depend on that build for its ownout/output.
The GitHub App and automation live in the parent directory (../README.md). This extension is optional tooling for developers in the editor; it does not replace the server-side SpecSync service.
MIT License (same as the root project).