SpecsMD VS Code Extension - Developer Guide
This guide covers architecture, development setup, and publishing for maintainers.
This guide covers architecture, development setup, and publishing for maintainers.
This guide covers architecture, development setup, and publishing for maintainers.
The extension uses a hybrid rendering approach:
This allows for rich interactivity in the Bolts view while keeping Specs/Overview lightweight.
File Watcher → Parser → StateStore → Selectors → WebviewProvider → Webview
↓
[Computed State]
↓
┌─────────────────────────┼─────────────────────────┐
│ │ │
currentIntent activeBolts activityFeed
pendingBolts completedBolts nextActions
boltStats overallProgress---
# Install dependencies
npm install
# Compile TypeScript and bundle webview
npm run compile
# Watch for changes
npm run watch
# Run tests
npm testsrc/
├── sidebar/ # Extension host code
│ ├── webviewProvider.ts # Main provider
│ └── webviewMessaging.ts # Message types
├── webview/ # Webview UI code
│ ├── components/ # Lit components
│ │ ├── app.ts # Root component
│ │ ├── tabs/ # Tab navigation
│ │ └── bolts/ # Bolts view components
│ ├── html.ts # Server-rendered HTML generators
│ └── styles.ts # CSS styles
├── parser/ # Memory bank parsing
│ ├── artifactParser.ts # Parse intents/units/stories/bolts
│ ├── activityFeed.ts # Derive activity events
│ └── dependencyComputation.ts # Compute bolt dependencies
└── state/ # Centralized state management
├── stateStore.ts # State container
├── selectors.ts # Computed state derivation
└── types.ts # Type definitions---
The extension is automatically published to the VS Code Marketplace when changes are merged to `main`.
To enable automated publishing, configure the `VSCE_PAT` secret: