Docs

Configuration

Configure the Dwellir CLI with profiles, per-project settings, and environment variables.

The Dwellir CLI stores configuration and profile data on disk and can be customized via commands, config files, and environment variables.

Config location

All CLI configuration lives under a single directory:

Text
~/.config/dwellir/
  config.json               # Global settings
  profiles/
    default.json            # Default profile (token, user, org)
    work.json               # Additional profiles

Override the config directory with DWELLIR_CONFIG_DIR:

Bash
export DWELLIR_CONFIG_DIR=/custom/path

Config commands

Set a value

Bash
dwellir config set <key> <value>

Valid keys:

KeyValuesDescription
outputjson or humanDefault output format for all commands
default_profileany profile nameProfile to use when no other is specified

Examples:

Bash
# Always output JSON by default
dwellir config set output json

# Use the "work" profile by default
dwellir config set default_profile work

Get a value

Bash
dwellir config get output

List all settings

Bash
dwellir config list
Bash
dwellir config list --json
JSON
{
  "ok": true,
  "data": {
    "output": "human",
    "default_profile": "default"
  }
}

Profiles

Profiles store per-account authentication credentials. Each profile is a separate JSON file under ~/.config/dwellir/profiles/.

Create a profile by logging in with a name:

Bash
dwellir auth login --profile work
dwellir auth login --profile personal

Switch profiles per command:

Bash
dwellir keys list --profile work
dwellir keys list --profile personal

Or set a default:

Bash
dwellir config set default_profile work

Per-project profile binding

Create a .dwellir.json file in any directory to automatically select a profile for that project:

JSON
{ "profile": "work" }

When you run any dwellir command from that directory (or any subdirectory), the CLI automatically uses the work profile. This is useful when you work on multiple projects tied to different Dwellir organizations.

The CLI searches for .dwellir.json starting from the current directory and walking up to the filesystem root. The first match wins.

Account info

View your organization and plan details:

Bash
dwellir account info
Bash
dwellir account info --json

View subscription details:

Bash
dwellir account subscription

Environment variables

Environment variables override config files and flags where noted.

VariableDescription
DWELLIR_TOKENAuth token override. Takes highest priority in the token resolution chain.
DWELLIR_PROFILEProfile name override. Takes priority over .dwellir.json and default_profile.
DWELLIR_CONFIG_DIRCustom config directory (default: ~/.config/dwellir/)
DWELLIR_API_URLOverride API base URL (default: https://dashboard.dwellir.com/marly-api)
DWELLIR_DASHBOARD_URLOverride dashboard URL for browser auth
DWELLIR_DOCS_BASE_URLOverride docs base URL (default: https://www.dwellir.com/docs)
DWELLIR_DOCS_INDEX_URLOverride docs index URL (default: <docs-base>/llms.txt)

CI/CD example

A minimal GitHub Actions setup using environment variables:

YAML
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Install Dwellir CLI
        run: curl -fsSL https://raw.githubusercontent.com/dwellir-public/cli/main/scripts/install.sh | sh

      - name: Create temporary API key
        env:
          DWELLIR_TOKEN: ${{ secrets.DWELLIR_CLI_TOKEN }}
        run: |
          dwellir keys create --name "ci-${{ github.run_id }}" --daily-quota 50000 --json

Next steps

  • Authentication -- token and profile resolution details
  • API Keys -- manage keys from the CLI
  • Run dwellir config --help for the full list of subcommands