specific dev starts everything your project needs locally with a single command: databases, caches, object storage, real-time sync, durable workflows, and application services.
specific.hcl and:
- Installs and starts all required resources (Postgres, Redis, storage, sync, Temporal).
- Starts your application services, using their
devcommands where defined. - Launches the local dashboard.
.env files needed. The terminal output includes the URL of every service and the local dashboard.
Ports
Every service and resource gets its own local port, assigned automatically at startup. The local dashboard usually lands athttp://localhost:3000 with services on the ports next to it, and the exact URLs are printed when specific dev starts. Running several instances at once is fine; each gets its own set of ports.
Reference ports with port (or endpoint.<name>.port) in specific.hcl and read them from the environment in your code.
Config file watching
Whilespecific dev is running, changes to specific.hcl are detected automatically. As your coding agent updates the configuration, the environment reloads: new services start, removed services stop, and resource changes take effect without a manual restart.
Service logs
Each service’s stdout and stderr are written to a per-service log file:--key, the path is .specific/keys/default/logs/<service>.log. Each line is prefixed with an ISO-8601 timestamp and the stream it came from:
specific dev output:
One-off commands
Usespecific exec to run commands with a service’s environment: migrations, seeds, scripts. If specific dev is running, it reuses the running resources; otherwise it starts what’s needed temporarily:
specific psql for an interactive database session, and specific clean to wipe local data for a fresh start. See the CLI reference.
Multiple instances
Run isolated dev environments side by side with--key. Each instance gets its own data and its own ports:
.specific/keys/<key>/, so databases and other data are fully isolated.
Automatic git worktree detection: when working in a git worktree, Specific uses the worktree name as the instance key automatically; no --key flag needed.
Tunnel mode
Expose your local services to the internet with--tunnel. Each public service gets a publicly reachable URL, useful for sharing work, testing webhooks, or letting a remote agent reach your machine: