Configuration
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.
{
"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.
[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.”