Documentation Getting Started Configuration

Configuration

1 min read·Updated 30 Jul 2026

Configuration resolves in one order, most specific first: command-line flags, environment variables, the project arble.json, then the user config file.

That precedence is what lets a project commit a sensible default that CI overrides without editing anything.

Project configuration

arble.json sits in the repository root and is meant to be committed. It is how a teammate cloning the repo gets the same skills, connectors and permission scopes you have.

JSON
{
  "project": "api-gateway",
  "skills": ["@acme/release-checklist@2.1.0"],
  "connectors": ["github", "postgres"],
  "permissions": {
    "filesystem.write": ["./src", "./tests"],
    "network.http": ["api.github.com"]
  }
}

User configuration

~/.arble/config.toml holds profiles and machine-level defaults. A profile bundles an endpoint, an organization and a credential under one name.

JSON
[profiles.local]
endpoint = "unix:///var/run/arble.sock"
org = "acme-eng"

[profiles.staging]
endpoint = "https://arble.staging.example.com"
org = "acme-eng"
log_level = "debug"

What never goes in either file

Credentials. Both files are plain text and one of them is committed. Secrets resolve from the OS keychain or a secret manager; reference them by name.

arble server config --list prints every setting with its resolved value and which layer it came from. That is the fastest way to answer “why is this setting not taking effect.”