Unit Brief: Welcome View
Display a welcome/empty state view when no specsmd project is detected in the workspace. Provide onboarding experience with installation prompt and copyable command.
Display a welcome/empty state view when no specsmd project is detected in the workspace. Provide onboarding experience with installation prompt and copyable command.
--- unit: welcome-view intent: 011-vscode-extension phase: construction status: complete created: 2025-12-25 updated: 2025-12-26 default_bolt_type: simple-construction-bolt ---
Display a welcome/empty state view when no specsmd project is detected in the workspace. Provide onboarding experience with installation prompt and copyable command.
---
| FR | Requirement | Priority | |----|-------------|----------| | FR-7.1 | Detect if workspace lacks specsmd | Must | | FR-7.2 | Show welcome view with logo, explanation, button, copyable command | Must | | FR-7.3 | Show confirmation dialog on Install click | Must | | FR-7.4 | Open VS Code integrated terminal | Must | | FR-7.5 | Paste `npx specsmd@latest install` command | Must | | FR-7.6 | Do NOT auto-execute (user presses Enter) | Must | | FR-7.7 | Auto-refresh sidebar after installation detected | Must |
---
| Entity | Description | Attributes | |--------|-------------|------------| | WelcomeViewProvider | Webview provider for welcome | webview, logo, installCommand | | InstallationState | Whether project is initialized | detected: boolean |
| Operation | Description | Inputs | Outputs | |-----------|-------------|--------|---------| | showWelcomeView | Display welcome webview | - | void | | hideWelcomeView | Hide and show tree | - | void | | handleInstallClick | Process install button | - | void | | openTerminalWithCommand | Open terminal, paste command | command | void | | copyCommand | Copy command to clipboard | - | void | | checkInstallation | Check if folders appeared | - | boolean |
---
| Metric | Count | |--------|-------| | Total Stories | 3 | | Must Have | 3 | | Should Have | 0 | | Could Have | 0 |
| Story ID | Title | Priority | Status | |----------|-------|----------|--------| | 001 | Welcome View UI | Must | Planned | | 002 | Install Button Flow | Must | Planned | | 003 | Post-Installation Detection | Must | Planned |
---
| Unit | Reason | |------|--------| | artifact-parser | Uses detectProject() |
| Unit | Reason | |------|--------| | extension-core | Conditionally shows welcome vs tree |
| System | Purpose | Risk | |--------|---------|------| | VS Code Webview API | Welcome view rendering | Low | | VS Code Terminal API | Open and paste command | Low | | Web Browser | Open specs.md link | Low |
---
| Integration | Type | Protocol | |-------------|------|----------| | VS Code Webview | API | WebviewViewProvider | | VS Code Terminal | API | vscode.Terminal | | VS Code Clipboard | API | vscode.env.clipboard | | External Browser | API | vscode.env.openExternal |
| Data | Type | Volume | Retention | |------|------|--------|-----------| | None | - | - | - |
---
---
---
| Bolt | Type | Stories | Objective | |------|------|---------|-----------| | bolt-welcome-view-1 | Simple | 001, 002, 003 | Complete welcome view functionality |
---
┌─────────────────────────────────┐
│ │
│ [specs.md pixel logo] │
│ ↑ clicks to specs.md │
│ │
│ AI-DLC workflow management │
│ for agentic coding tools │
│ │
│ ┌─────────────────────────┐ │
│ │ npx specsmd@latest │ 📋 │ ← copyable
│ │ install │ │
│ └─────────────────────────┘ │
│ │
│ [ Install specsmd ] │ ← button
│ │
└─────────────────────────────────┘