5.2 KiB
5.2 KiB
| display_name | description | icon | verified | tags | |||
|---|---|---|---|---|---|---|---|
| Auto-Start Dev Servers | Automatically detect and start development servers for various project types | ../../../../.icons/auto-dev-server.svg | false |
|
Auto-Start Development Servers
Automatically detect and start development servers for various project types when a workspace starts. This module scans your workspace for common project structures and starts the appropriate development servers in the background without manual intervention.
module "auto_start_dev_servers" {
source = "registry.coder.com/mavrickrishi/auto-start-dev-server/coder"
version = "1.0.2"
agent_id = coder_agent.main.id
}
Features
- Multi-language support: Detects and starts servers for Node.js, Python (Django/Flask), Ruby (Rails), Java (Spring Boot), Go, PHP, Rust, and .NET projects
- Smart script prioritization: Prioritizes
devscripts overstartscripts for better development experience - Intelligent frontend detection: Automatically identifies frontend projects (React, Vue, Angular, Next.js, Nuxt, Svelte, Vite) and prioritizes them for preview apps
- Devcontainer integration: Respects custom start commands defined in
.devcontainer/devcontainer.json - Configurable scanning: Adjustable directory scan depth and project type toggles
- Non-blocking startup: Servers start in the background with configurable startup delay
- Comprehensive logging: All server output and detection results logged to a central file
- Smart detection: Uses project-specific files and configurations to identify project types
- Integrated live preview: Automatically creates a preview app for the primary frontend project
Supported Project Types
| Framework/Language | Detection Files | Start Commands (in priority order) |
|---|---|---|
| Node.js/npm | package.json |
npm run dev, npm run serve, npm start (or yarn) |
| Ruby on Rails | Gemfile with rails gem |
bundle exec rails server |
| Django | manage.py |
python manage.py runserver |
| Flask | requirements.txt with Flask |
python app.py/main.py/run.py |
| Spring Boot | pom.xml or build.gradle with spring-boot |
mvn spring-boot:run, gradle bootRun |
| Go | go.mod |
go run main.go |
| PHP | composer.json |
php -S 0.0.0.0:8080 |
| Rust | Cargo.toml |
cargo run |
| .NET | *.csproj |
dotnet run |
Examples
Basic Usage
module "auto_start" {
source = "./modules/auto-start-dev-server"
version = "1.0.2"
agent_id = coder_agent.main.id
}
Advanced Usage
module "auto_start_dev_servers" {
source = "./modules/auto-start-dev-server"
version = "1.0.2"
agent_id = coder_agent.main.id
# Optional: Configure which project types to detect
enable_npm = true
enable_rails = true
enable_django = true
enable_flask = true
enable_spring_boot = true
enable_go = true
enable_php = true
enable_rust = true
enable_dotnet = true
# Optional: Enable devcontainer.json integration
enable_devcontainer = true
# Optional: Workspace directory to scan (supports environment variables)
workspace_directory = "$HOME"
# Optional: Directory scan depth (1-5)
scan_depth = 2
# Optional: Startup delay in seconds
startup_delay = 10
# Optional: Log file path
log_path = "/tmp/dev-servers.log"
# Optional: Enable automatic preview app (default: true)
enable_preview_app = true
}
Disable Preview App
module "auto_start" {
source = "./modules/auto-start-dev-server"
version = "1.0.2"
agent_id = coder_agent.main.id
# Disable automatic preview app creation
enable_preview_app = false
}
Selective Project Types
module "auto_start" {
source = "./modules/auto-start-dev-server"
version = "1.0.2"
agent_id = coder_agent.main.id
# Only enable web development projects
enable_npm = true
enable_rails = true
enable_django = true
enable_flask = true
# Disable other project types
enable_spring_boot = false
enable_go = false
enable_php = false
enable_rust = false
enable_dotnet = false
}
Deep Workspace Scanning
module "auto_start" {
source = "./modules/auto-start-dev-server"
version = "1.0.2"
agent_id = coder_agent.main.id
workspace_directory = "/workspaces"
scan_depth = 3
startup_delay = 5
log_path = "/var/log/dev-servers.log"
}
License
This module is provided under the same license as the Coder Registry.