Skip to main content

devlauncher

Start all your dev services with one command.

The Problem

Every multi-service project means opening multiple terminals, remembering startup commands, and dealing with silent port conflicts. devlauncher runs everything in one place.

Install

pip install devlauncher

Requires Python 3.10+.

Quickstart

Zero-config — run in any project root:

cd my-project
devlauncher

devlauncher scans your project, detects services (Vite, FastAPI, Django, etc.), shows you what it found, and asks once to confirm. On confirmation it writes a dev.toml and starts everything. It never asks again.

Manual — create a dev.toml:

[services.api]
cmd = "uvicorn main:app --reload --port {self.port}"
port = 8000
cwd = "api"

[services.web]
cmd = "npm run dev -- --port {self.port}"
port = 5173
cwd = "frontend"
env = { VITE_API_URL = "http://localhost:{api.port}" }

Then run:

devlauncher

How It Works

  • Scans subdirectories for framework signals (package.json, requirements.txt, Cargo.toml, etc.)
  • Infers services by role (frontend/backend), shows a discovery report
  • Prompts once to confirm; writes dev.toml so it never asks again
  • Runs dependency install phase (npm install, pip install, etc.) if needed
  • Checks ports on both IPv4 and IPv6 — finds a free port if your preferred one is taken
  • Starts all services with color-coded, prefixed log output
  • Shuts down cleanly on Ctrl+C (SIGTERM → 5s timeout → SIGKILL)

Interactive Commands

Once services are running, press a key:

Key Action
r Soft restart — kill & restart services (no reinstall)
R Hard restart — reinstall deps, re-resolve ports, restart
s Status — show PIDs, ports, uptime, running/crashed
l Filter logs — cycle: all → [SERVICE] → all
q / Ctrl+C Quit — graceful shutdown

Frontend servers (Vite, Next.js, etc.) handle hot-reload automatically — r is mainly useful for backend services.

Agent Awareness (Claude Code)

devlauncher registers an MCP server with Claude Code on first run. When you open a Claude Code session in a project where devlauncher is running, the agent can:

  • Call devlauncher_status() to see which services are running, on which ports — so it doesn't start duplicates
  • Call devlauncher_logs(service, lines) to read recent log output for debugging

Zero configuration required. Works automatically after pip install devlauncher.

See docs/mcp-server.md for full details.

Configuration (dev.toml)

All fields:

[services.<name>]
cmd         = "command to start this service"          # required
port        = 8000                                     # required; preferred port
cwd         = "subdirectory"                           # optional; default is project root
install_cmd = "pip install -r requirements.txt"        # optional; runs when deps are missing
env         = { KEY = "value" }                        # optional; supports port refs

Port references — resolved after conflict detection, so they always reflect the actual port in use:

  • {self.port} — this service's resolved port
  • {api.port} — another service's resolved port (use the service name as the key)

Features

  • Zero-config auto-discovery (Vite, Next.js, Nuxt, FastAPI, Django, Flask, Go, Rust)
  • Dual IPv4 + IPv6 port conflict detection (handles Node.js 18+ IPv6-default binding)
  • Dependency install phase with per-service install_cmd
  • Port reference interpolation ({self.port}, {api.port})
  • Color-coded, prefixed log output per service
  • Graceful shutdown (SIGTERM → 5s timeout → SIGKILL)
  • Cross-platform: macOS, Linux, Windows
  • --version / -V flag
  • MCP server for Claude Code agent awareness (zero config)
  • Dependencies: mcp (all versions), tomli (Python 3.9–3.10 only)

Supported Frameworks (auto-discovery)

Role Detected
Frontend Vite, Next.js, Nuxt, Angular, SvelteKit
Backend FastAPI, Django, Flask, Go, Rust (Cargo)
Package managers npm, yarn, pnpm, bun, pip, go mod

License

MIT

Metadata

Release files for devlauncher 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devlauncher 0.2.0
File Size Uploaded Provenance Actions
devlauncher-0.2.0.tar.gz 29.0 kB With provenance Details for devlauncher-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for devlauncher 0.2.0
File Interpreter ABI Platform Actions
devlauncher-0.2.0-py3-none-any.whl Python 3 none any Details for devlauncher-0.2.0-py3-none-any.whl

Total release size: 53.8 kB

Release files / devlauncher-0.2.0.tar.gz

Download URL devlauncher-0.2.0.tar.gz
Size 29.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6c32a9d0c881e3f4c800f4b0b187977174c2583c3a496eb783e0b889da7c4a5d
BLAKE2b-256 checksum
How to use checksums
794d3a0607b78c26138140704a4c5ee9f73b3d20fd14fc07e8392c864ea11a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / devlauncher-0.2.0-py3-none-any.whl

Download URL devlauncher-0.2.0-py3-none-any.whl
Size 24.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee036c042ab0eb32b8c4a2fdee40ba3f46f35b87644b8a49c118e6cf5c5215b6
BLAKE2b-256 checksum
How to use checksums
a6ec9df83ea0e092cd44112f7c9d0981b05cd265f95439a4885bddc681af3050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Security for devlauncher 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for devlauncher-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page