How samsmith00/epictl-vscode works
Epictl-vscode is a VS Code extension for browsing and maintaining Epicor BPMs through the epictl CLI. Users configure a workspace, browse directives and BPMs, associate local code with manifests, edit or validate code, then update and apply changes. The graph preserves the README’s major workflows; some feature wiring is documented but not visible in the sampled excerpts, so those links are omitted. The extension entry point and some registrations are represented at their exact tree paths.
Main entry points: treeView.ts BPM Explorer · commandRegistry.ts Command Palette · bpmWebviewHandlers.ts BPM Actions · commandHandlers.ts CLI Operations
Components 17
VS Code Experience
- Extension Setup
src/extension.ts - Command Palette
src/commandRegistry.ts - Context Webview
src/webviews/contextWebview.ts - BPM Webview
src/webviews/bpmWebview.ts - BPM Explorer
src/treeView/treeView.ts - Notifications
src/managers/notificationManager.ts
BPM Workflows
- BPM Actions
src/webviews/webviewHandlers/bpmWebviewHandlers.ts - CLI Operations
src/commandHandlers.ts - User Prompts
src/managers/promptManager.ts
Workspace Data
- Workspace Config
src/managers/configManager.ts - Manifest Manager
src/managers/manifestManager.ts - BPM State
src/managers/stateManager.ts - Manifests and Code
Epicor Integration
- epictl CLI
- Epicor Environment
Other components
- Developer
- VS Code
Connections 25
- Developer → VS Code: uses
- VS Code → Extension Setup: activates
- Developer → Command Palette: invokes commands
- Developer → BPM Explorer: browses BPMs
- Developer → Context Webview: configures workspace
- Developer → BPM Webview: edits BPM
- Command Palette → CLI Operations: calls operations
- BPM Explorer → CLI Operations: queries directives
- BPM Webview → BPM Actions: dispatches actions
- BPM Actions → CLI Operations: calls operations
- BPM Actions → User Prompts: requests input
- Context Webview → Command Palette: executes commands
- Command Palette → Workspace Config: reads and writes
- Context Webview → Workspace Config: reads settings
- BPM Explorer → Workspace Config: reads executable path
- BPM Explorer → Manifest Manager: reads manifests
- BPM Actions → Manifest Manager: manages manifests
- CLI Operations → epictl CLI: executes CLI
- epictl CLI → Epicor Environment: queries and updates
- Manifest Manager → Manifests and Code: reads and writes
- Workspace Config → Manifests and Code: stores settings
- BPM State → Manifests and Code: persists state
- Command Palette → Notifications: reports outcomes
- BPM Explorer → BPM State: tracks selection
- BPM Webview → BPM State: displays BPM state