CLI Reference

Complete reference for all DevOur CLI commands.

For installation and initial setup, see the CLI Setup guide.

Authentication Commands

setup-key

Configure your DevOur API key for authentication.

devour setup-key

The CLI prompts for your API key and stores it securely in your system's user configuration directory. API keys must be 64 characters long.

logout

Remove the stored API key from your system.

devour logout

Project Commands

ls

List all projects associated with your account.

devour ls

Displays project IDs and names sorted by creation date.

create

Create a new DevOur project.

devour create [name...]

Arguments:

ArgumentDescription
nameProject name (supports spaces)

Options:

OptionDescription
--config <path>Path to configuration file (defaults to devour.json, devour.yml, devour.yaml)
--name <name>Project name

Examples:

devour create
devour create "My Project"
devour create --config devour.json
devour create --name "My Project"

setup

Configure project settings interactively or from a configuration file.

devour setup [projectId]

Arguments:

ArgumentDescription
projectIdTarget project ID (optional)

Options:

OptionDescription
--config <path>Path to configuration file (defaults to devour.json, devour.yml, devour.yaml)
--ignore-configIgnore existing config file in current directory
--key <key>Specific setting key to update
--value <value>New value for the setting

Examples:

devour setup
devour setup 123
devour setup --config devour.json
devour setup --key colorMain --value "#3B82F6"
devour setup --ignore-config

sync

Pull project settings from the server to a local configuration file.

devour sync

Options:

OptionDescription
--config <path>Path to configuration file
--overwriteOverwrite local settings with remote settings
--newReplace all local settings with remote
--localKeep local settings, fill missing from remote
--jsonOutput as JSON format
--yamlOutput as YAML format

Examples:

devour sync
devour sync --overwrite
devour sync --local
devour sync --yaml
devour sync --config custom-config.json

Version Commands

version

Create a new version for a project. Versions are required before downloading project bundles.

devour version [projectId]

Arguments:

ArgumentDescription
projectIdTarget project ID (optional)

Options:

OptionDescription
-v, --version <v>Specific version to create (defaults to auto-increment patch version)
--config <path>Path to configuration file (defaults to devour.json, devour.yml, devour.yaml)

Version Format:

Versions follow semantic versioning (semver): MAJOR.MINOR.PATCH

Examples:

devour version
devour version 123
devour version --version 2.0.0
devour version --config devour.json

Bundle Commands

fetch

Download a project bundle to the current directory.

devour fetch [projectId]

Arguments:

ArgumentDescription
projectIdTarget project ID (optional)

Options:

OptionDescription
-v, --version <v>Specific version to fetch (defaults to latest version)
--config <path>Path to configuration file (defaults to devour.json, devour.yml, devour.yaml)

Behavior:

Examples:

devour fetch
devour fetch 123
devour fetch --version 1.0.0
devour fetch --config devour.json

After Downloading:

docker compose up -d --force-recreate --build

Configuration Files

The CLI supports JSON and YAML configuration files. By default, it searches for:

  1. devour.json
  2. devour.yml
  3. devour.yaml

JSON Example

{
  "id": 123,
  "name": "My Project",
  "stripePublicKey": "pk_test_...",
  "stripeSecretKey": "sk_test_...",
  "firebaseApiKey": "AIzaSy...",
  "firebaseAuthDomain": "project.firebaseapp.com",
  "firebaseProjectId": "project-id",
  "colorMain": "#3B82F6",
  "colorSecondary": "#10B981"
}

YAML Example

id: 123
name: My Project
stripePublicKey: pk_test_...
stripeSecretKey: sk_test_...
firebaseApiKey: AIzaSy...
firebaseAuthDomain: project.firebaseapp.com
firebaseProjectId: project-id
colorMain: '#3B82F6'
colorSecondary: '#10B981'

Available Settings

KeyDescriptionType
nameProject nametext
stripeSecretKeyStripe secret keytext
stripePublicKeyStripe public keytext
firebaseApiKeyFirebase API keytext
firebaseAuthDomainFirebase auth domaintext
firebaseProjectIdFirebase project IDtext
firebaseStorageBucketFirebase storage buckettext
firebaseMessagingSenderIdFirebase messaging sender IDtext
firebaseAppIdFirebase app IDtext
firebaseMeasurementIdFirebase measurement IDtext
colorAlertAlert color (hex)color
colorErrorError color (hex)color
colorSuccessSuccess color (hex)color
colorDarkDark color (hex)color
colorLightLight color (hex)color
colorMainMain theme color (hex)color
colorMainLightMain light color (hex)color
colorSecondarySecondary color (hex)color
versionProject version (semver)version
autoIncrementVersionAuto-increment on publishboolean

Global Options

All commands support the --help flag:

devour --help
devour <command> --help

Exit Codes

CodeDescription
0Success
1Authentication required or invalid API key

Related Documentation