specific.hcl file alongside your application code: how to build, run, and deploy the full system, in both development and production.
Specific is fully generic: it works with any programming language and framework, without SDKs. All connection details reach your code through environment variables.
One file, every environment
A typicalspecific.hcl:
specific.hcl
specific devruns everything locally (Postgres, services, sync engines) with connection details injected automatically. No.envfiles.specific deploybuilds the code, provisions managed infrastructure, and rolls out services to Specific Cloud. A project can have multiple deployed environments (production, staging, previews), all defined by the same file.
postgres.main.url resolve to the right value in each environment: a local database during development, a managed one per deployed environment.
Building blocks
| Block | What it defines |
|---|---|
build | How to produce artifacts: managed base environments or custom Dockerfiles. |
service | Long-running processes: web apps, APIs, workers. |
cron | Scheduled jobs with per-run logs and metrics. |
postgres | Managed PostgreSQL databases, with optional Reshape zero-downtime migrations and real-time sync. |
storage | S3-compatible object storage. |
redis | Redis-compatible caches (Valkey). |
temporal | Managed Temporal workflow engines for durable workflows. |
secret / config | Parameterized sensitive and environment-specific values. |
volume | Persistent directories inside services. |
environment | Per-environment config overrides. |
The workflow
Whether you’re a human or a coding agent, working with Specific follows the same loop:- Create or edit
specific.hcl. - Run
specific checkto validate the configuration - always, after every change. - Run
specific devto run the system locally, andspecific exec <service> -- <command>for one-off commands like migrations and seeding. - Run
specific deployto ship it.
Designed for coding agents
Your coding agent writes and maintainsspecific.hcl: you describe what you want to build, and the agent defines the infrastructure alongside the code. The CLI ships its own LLM-optimized documentation (specific docs), and specific init wires it into your agent’s context. See Coding agents.