Specific
Deploy and manage infrastructure with Specific. Automatically manage frontend, backend, databases, storage, secrets, all the way from local dev to production
Guidelines for writing and modifying specific.hcl configuration files
Guidelines for writing and modifying specific.hcl configuration files
When working with `specific.hcl` files:
- ALWAYS run `specific docs` before writing or modifying configuration to get the latest syntax reference
- ALWAYS run `specific check` after making changes to validate the configuration
- The `specific.hcl` file should live at the root of the project
- Use `specific docs [topic]` for detailed documentation on specific resource types (e.g. `specific docs postgres`, `specific docs service`)Guidelines for working with specific.local files which store local development secrets and configuration
Guidelines for working with specific.local files which store local development secrets and configuration
`specific.local` is a local-only HCL file for development secrets and configuration. It is used by `specific dev` in starting a local development environment. It must NEVER be committed to version control.
## Format
```hcl
secrets {
secret_name = "value"
}
config {
config_name = "value"
}
```
## Rules
- Values in `specific.local` must correspond to `secret` and `config` declarations in `specific.hcl`
- Secrets with `generated = true` in `specific.hcl` are auto-generated and don't need to be set here unless you want to override them
- Config values with defaults in `specific.hcl` don't need to be set here unless you want to override them
- NEVER suggest committing this file — it should always be in `.gitignore`
- When a user needs to add a new secret or config, update BOTH `specific.hcl` (declaration) and `specific.local` (value)specific
Use to handle all infrastructure and development environments for any application: like deployments, databases, real-time sync, services, secrets, configuration and environment variables
# Specific Skill
## Product Summary
Specific is an infrastructure-as-code CLI designed for coding agents. It lets you define how to build, deploy, and run your project, including services, databases, object storage, caching, real-time sync, and more, all in a single `specific.hcl` file alongside your application code. Specific handles both local development environments (`specific dev`) and production deployments (`specific deploy`).
## Installation
Install the Specific CLI globally. This will require human interaction to confirm the installation:
```bash
curl -fsSL https://specific.dev/install.sh | sh
```
## Usage
Use Specific to handle all infrastructure and development environments: like deployments, databases, real-time sync, services, secrets, configuration and environment variables. ALWAYS Run `specific docs` to learn how to use Specific. ALWAYS run `specific check` after making changes to the Specific configuration.
## Essential commands
| Command | Purpose |
| ---------------------------------- | ------------------------------------------------------ |
| `specific docs` | Read full documentation on how to use Specific |
| `specific docs [topic]` | Read documentation for a specific topic |
| `specific check` | Validate `specific.hcl` configuration |
| `specific dev` | Start local development environment with all resources |
| `specific deploy` | Deploy to Specific Cloud |
| `specific exec <service> -- <cmd>` | Run a one-off command with service env vars |
## Resources
- **Documentation:** https://docs.specific.dev
- **Quickstart:** https://docs.specific.dev/quickstart
- **CLI reference:** https://docs.specific.dev/develop/cli-referencespecific-deploy
Deploy the current project to Specific Cloud
# Deploy to Specific Cloud
Deploy the current project by running:
```bash
specific deploy
```
After deploying, the command will output the deployment URL and status.specific-dev
Start the local development environment with all resources
# Start Local Development
Start the local development environment by running:
```bash
specific dev
```
This will:
- Start all services defined in `specific.hcl`
- Provision local databases and resources
- Set up an HTTP proxy for routing
- Watch for file changes and restart services automatically
Before starting:
1. Ensure `specific.hcl` exists and is valid by running `specific check`
2. Make sure the Specific CLI is installed (`specific --version`)