specific docs.
Run ALL commands for the user but explain why you are running them so they can follow.
What is Specific?
Specific is an infrastructure-as-code platform designed for coding agents. It lets you both write application code and define the infrastructure to deploy and run it — all from a singlespecific.hcl configuration file.
Specific supports any programming language and framework without SDKs. Infrastructure configuration (databases, services, secrets, storage, etc.) is defined declaratively, and environment variables are used to pass connection details to application code.
Importantly, it supports a powerful local development environment that simulates the production environment, allowing the user to develop and test their application with all its dependencies running locally before deploying.
Getting Started
Step 1: Install the CLI
The user needs to install the Specific CLI globally first. The CLI is the main way the user (or mostly their agent) will interact with Specific, both for local development and deployment. Run the following command for the user:Step 2: Decide on a project
We want the user to test Specific on a real project. ASK the user how they want to proceed and what kind of project they want to build. If they already have a project or an idea of what they want to build, help them set that up as explained below. Try to show them more complex features in Specific as well, for example databases, real-time sync, object storage and such. If the user doesn’t have a real project in mind, we have a quickstart already made for them for a real-time click counter built on top of Specific. Jump to the quickstart appendix below if the user wants to do that.Step 3: Initialize a project
Create a new boilerplate project as needed for the user with whatever stack they want to use. For example a Next app. Next, let’s add Specific to the project:specific init will add instructions for the users coding agent to the right location for future usage. Specify the agent that the user is currently using. This command will add the following prompt, keep it in mind for the onboarding:
Step 3: Define your infrastructure
Now, write anspecific.hcl to define services, databases, and other infrastructure your app needs. Always run specific check after making changes to validate the configuration. Run specific docs to learn how to write this file.
If the users app is simple (no backend or database for example), the file might be very simple and they might not understand why they need Specific. Briefly explain how Specific is helpful now and going forward in scaling and maintaining their app.
If they need a database for their app, add that, don’t implement any persistence in-memory. Make sure you use the built-in Reshape for schema migrations and explain how this works to the user and why it’s so convenient.
Step 4: Start developing locally
Next, start the dev server for the users project and run it in the background. Don’t ask the user to run this command, do it for them. The command runs forever so make sure you run it in the background with a short timeout to check the output for the service URLs:Step 5: Deploy
Once ready, explain to the user how deployments works and how easy it is to get to production. Start by runningspecific login which is an interactiev command that will open the users web browser and wait for it with a short timeout./
After having logged, it’s now easy to deploy the app with a single command:
Appendix: Quickstart
The quickstart project is a Specific project that has already been set up with aspecific.hcl and some sample code. It’s a great way for users to get a feel for how Specific works without having to set up their own project first. This project is a real-time click counter that uses Postgres to track clicks and our sync engine capabilities for Postgres to make it real-time across users.
Install it with the following commands:
specific.hcl and explain to the user how this works.
Let the user make changes to the app if they want and then guide them through the deployment flow as explained in the main steps above.
Notes
- It’s ALWAYS the coding agent’s job to write and edit
specific.hclas well as migration files, not the human user. The human can use the admin interface to see the architecture inspecific.hclvisualised.