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:
| Key | Values | Description |
|---|---|---|
output | json or human | Default output format for all commands |
default_profile | any profile name | Profile 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.
| Variable | Description |
|---|---|
DWELLIR_TOKEN | Auth token override. Takes highest priority in the token resolution chain. |
DWELLIR_PROFILE | Profile name override. Takes priority over .dwellir.json and default_profile. |
DWELLIR_CONFIG_DIR | Custom config directory (default: ~/.config/dwellir/) |
DWELLIR_API_URL | Override API base URL (default: https://dashboard.dwellir.com/marly-api) |
DWELLIR_DASHBOARD_URL | Override dashboard URL for browser auth |
DWELLIR_DOCS_BASE_URL | Override docs base URL (default: https://www.dwellir.com/docs) |
DWELLIR_DOCS_INDEX_URL | Override 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 --helpfor the full list of subcommands