Project Startup Assistant
Project Startup Assistant is a lightweight VS Code extension that detects services in a workspace and lets you start/stop them with one click.
Why Use This Extension
- Stop memorizing startup commands across frontend, backend, workers, and infrastructure services.
- Start complex projects faster with one-click service orchestration from a single sidebar.
- Reduce onboarding time for new developers by auto-detecting runnable services.
- Get live status and health signals in VS Code instead of manually checking terminals.
- Works fully local with no cloud dependency, keeping performance fast and privacy intact.
What This Extension Does
- Finds service folders automatically in complex repositories.
- Detects project type and startup command by files, scripts, and dependencies.
- Runs each service in its own VS Code terminal.
- Gives one-click controls for Start, Stop, Restart, Start All, and Stop All.
- Shows live status with health signals (starting, healthy, unhealthy, stopped).
Detailed New Features
- Framework identity per service with clear icon and inline badges.
- Health detection with configurable global patterns and per-service overrides.
- Profile management flow (
switch, create from current, duplicate) with safer config writes.
- Command quick editor to update service run command instantly and optionally persist it.
- QA automation command to run verify and install generated VSIX from VS Code.
- UI customization mode for compact/detailed rows and visibility toggles.
Supported Languages And Project Types
- Node.js / TypeScript / JavaScript
- Python
- Java
- .NET
- Go
- Rust
- PHP
- Ruby
- Elixir
- Docker-based services
Features
- Automatic project detection for Node.js, Python, Java, .NET, Go, Rust, PHP, Ruby, Elixir, and Docker.
- Smart startup command extraction:
- Node scripts (
dev, start, serve, start:dev, preview) plus dependency hints (next, vite, react-scripts, express, @nestjs/core, prisma).
- Package manager-aware script commands for
npm, pnpm, yarn, and bun.
- Python framework hints (
django, fastapi, flask).
- Defaults for Java, .NET, Go, Rust, PHP, Ruby, Elixir, Docker.
- Multi-service detection across folders like
frontend, backend, api, server, service, and apps.
- Sidebar TreeView (
Project Startup) with:
- Services section with framework/port identity and health status.
- Utility actions (
Start All, Stop All, Restart All, Run Tests, Build Project, Refresh).
- Terminal integration: each service runs in its own named terminal.
- Service status updates when terminals are opened/closed.
- Fast startup: scan once and cache detection until manual refresh.
- Manual override file support via
.devstartup.json.
- Profiles support (
dev, debug, production, custom).
- Profile management UX (
Manage Profiles command for switch/create/duplicate).
- Optional per-service auto-restart on file changes.
- Compact status bar mini-buttons: Start All, Stop All, Refresh, Profile picker.
- Terminal output health detection using startup/error pattern matching.
Commands
Project Startup: Start Service
Project Startup: Stop Service
Project Startup: Restart Service
Project Startup: Start All
Project Startup: Stop All
Project Startup: Restart All
Project Startup: Refresh Services
Project Startup: Open Service Terminal
Project Startup: Run Tests
Project Startup: Build Project
Project Startup: Switch Profile
Project Startup: Restart Stopped Services
Project Startup: Customize UI
Project Startup: Manage Profiles
Project Startup: Edit Service Command
Project Startup: QA Verify And Install VSIX
Keyboard Shortcuts
Default shortcuts included:
Ctrl+Alt+S (Cmd+Alt+S on macOS): Start All
Ctrl+Alt+X (Cmd+Alt+X on macOS): Stop All
Ctrl+Alt+R (Cmd+Alt+R on macOS): Refresh Services
You can change shortcuts in VS Code Keyboard Shortcuts (Ctrl+K Ctrl+S).
Marketplace Notes
- Built for monorepos and multi-service developer workflows.
- Supports framework-aware startup hints (Next.js, Vite, NestJS, Django, FastAPI, Flask, Prisma, and more).
- Includes low-overhead detection (single scan with refresh-on-demand) and no cloud APIs.
Configuration
Extension Setting
projectStartup.defaultProfile (string): profile name to use from .devstartup.json if no profile has been selected yet.
projectStartup.ui.showStatusBarButtons (boolean): show/hide all status bar quick buttons.
projectStartup.ui.showStartAllButton (boolean): show/hide Start All button.
projectStartup.ui.showStopAllButton (boolean): show/hide Stop All button.
projectStartup.ui.showRefreshButton (boolean): show/hide Refresh button.
projectStartup.ui.showProfileIndicator (boolean): show/hide active profile label.
projectStartup.ui.showUtilitiesSection (boolean): show/hide Utilities group in the sidebar.
projectStartup.ui.serviceDetailsMode (compact | detailed): switch service rows between concise badges and rich metadata.
projectStartup.health.defaultHealthyPatterns (string[]): global terminal output patterns that mark services healthy.
projectStartup.health.defaultUnhealthyPatterns (string[]): global terminal output patterns that mark services unhealthy.
Workspace Override File
Create .devstartup.json at workspace root to fully override auto detection.
{
"activeProfile": "dev",
"services": [
{
"name": "backend",
"path": "backend",
"command": "npm run dev",
"testCommand": "npm run test",
"buildCommand": "npm run build",
"autoRestart": true,
"watch": ["src/**/*", "package.json"]
},
{
"name": "frontend",
"path": "frontend",
"command": "npm run dev"
}
],
"profiles": {
"dev": [
{
"name": "backend",
"path": "backend",
"command": "npm run dev"
},
{
"name": "frontend",
"path": "frontend",
"command": "npm run dev"
}
]
}
}
If .devstartup.json exists, the extension uses it as the source of truth for service definitions.
Development
npm install
npm run compile
npm run test
npm run verify
Launch Extension Development Host from VS Code and open a workspace with one or more services.
Notes
- The extension is cloud-free and uses only local file inspection and VS Code APIs.
- Refresh manually using
Project Startup: Refresh Services when workspace structure changes.
| |