Creating Projects from CLI
Create and configure DevOur projects directly from your terminal using the CLI.
Prerequisites
- DevOur CLI installed and configured (CLI Setup)
- Valid API key configured with
devour setup-key
Create a Project
Interactive Mode
Run the create command without arguments to enter interactive mode:
devour create
You will be prompted to enter a project name.
Direct Creation
Provide the project name directly:
devour create "My Project"
Using a Config File
Create a project from a configuration file:
devour create --config devour.json
The CLI looks for devour.json, devour.yml, or devour.yaml in the current
directory by default.
Configuration Files
Configuration files allow you to define project settings in advance and reuse them across environments.
JSON Format
Create a devour.json file:
{
"name": "My Project",
"stripePublicKey": "pk_test_...",
"stripeSecretKey": "sk_test_...",
"firebaseApiKey": "AIzaSy...",
"firebaseAuthDomain": "my-project.firebaseapp.com",
"firebaseProjectId": "my-project",
"colorMain": "#3B82F6",
"colorSecondary": "#10B981"
}
YAML Format
YAML format uses fewer characters than JSON, making it ideal for AI coding agents where token efficiency matters.
Create a devour.yml file:
name: My Project
stripePublicKey: pk_test_...
stripeSecretKey: sk_test_...
firebaseApiKey: AIzaSy...
firebaseAuthDomain: my-project.firebaseapp.com
firebaseProjectId: my-project
colorMain: '#3B82F6'
colorSecondary: '#10B981'
Configure Project Settings
Interactive Setup
Run the setup command to interactively configure settings:
devour setup
Select a project, then navigate through available settings to update them.
Setup with Project ID
Configure a specific project directly:
devour setup <projectId>
Setup from Config File
Apply settings from a configuration file:
devour setup --config devour.json
If the config file contains a project ID, it updates that project. Otherwise, it prompts you to select or create a project.
Update a Single Setting
Update one setting at a time using key-value pairs:
devour setup --key colorMain --value "#3B82F6"
Or be prompted for the value:
devour setup --key stripePublicKey
Available Settings
| Key | Description | Type |
|---|---|---|
| name | Project name | text |
| stripeSecretKey | Stripe secret key | text |
| stripePublicKey | Stripe public key | text |
| firebaseApiKey | Firebase API key | text |
| firebaseAuthDomain | Firebase auth domain | text |
| firebaseProjectId | Firebase project ID | text |
| firebaseStorageBucket | Firebase storage bucket | text |
| firebaseMessagingSenderId | Firebase messaging sender ID | text |
| firebaseAppId | Firebase app ID | text |
| firebaseMeasurementId | Firebase measurement ID | text |
| colorAlert | Alert color (hex) | color |
| colorError | Error color (hex) | color |
| colorSuccess | Success color (hex) | color |
| colorDark | Dark color (hex) | color |
| colorLight | Light color (hex) | color |
| colorMain | Main theme color (hex) | color |
| colorMainLight | Main light color (hex) | color |
| colorSecondary | Secondary color (hex) | color |
| version | Project version (semver) | version |
| autoIncrementVersion | Auto-increment on publish | boolean |
Sync Settings
Pull settings from the server to your local config file:
devour sync
Sync Options
devour sync --overwrite # Overwrite local with remote settings
devour sync --local # Keep local settings, fill missing from remote
devour sync --json # Output as JSON format
devour sync --yaml # Output as YAML format
Example Workflow
- Create a new project:
devour create "My E-Commerce App"
-
Note the project ID from
devour ls -
Configure Firebase settings:
devour setup --key firebaseApiKey
devour setup --key firebaseProjectId
devour setup --key firebaseAuthDomain
- Configure Stripe settings:
devour setup --key stripePublicKey
devour setup --key stripeSecretKey
- Customize theme colors:
devour setup --key colorMain --value "#6366F1"
devour setup --key colorSecondary --value "#EC4899"
- Sync to a local config file:
devour sync --yaml