Skip to main content

Configuration

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:

~/.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:

export DWELLIR_CONFIG_DIR=/custom/path

Config commands#

Set a value#

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:

# 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#

dwellir config get output

List all settings#

dwellir config list
dwellir config list --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:

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

Switch profiles per command:

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

Or set a default:

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:

{ "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:

dwellir account info
dwellir account info --json

View subscription details:

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:

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