Skip to content

Config File

The project configuration lives at .duumbi/config.toml.

[workspace]
name = "myapp"
namespace = "myapp"
default-registry = "duumbi"
[llm]
provider = "anthropic"
api_key_env = "ANTHROPIC_API_KEY"
model = "claude-sonnet-4-20250514"
# Multi-provider with fallback chain
[[providers]]
name = "anthropic"
api_key_env = "ANTHROPIC_API_KEY"
model = "claude-sonnet-4-20250514"
[[providers]]
name = "openai"
api_key_env = "OPENAI_API_KEY"
model = "gpt-4o"
[[providers]]
name = "grok"
api_key_env = "XAI_API_KEY"
model = "grok-3"
[registries]
duumbi = "https://registry.duumbi.dev"
company = "https://registry.acme.com"
[dependencies]
"@duumbi/stdlib-math" = "^1.0"
"@company/auth" = { version = "^3.0", registry = "company" }
"local-utils" = { path = "../shared/utils" }
[vendor]
strategy = "selective"
include = ["@company/*"]
KeyTypeDescription
namestringProject name
namespacestringDefault namespace for modules
default-registrystringRegistry name for unscoped dependencies

Basic single-provider configuration (backward compatible).

KeyTypeDescription
providerstringProvider name: anthropic, openai, grok, openrouter
api_key_envstringEnvironment variable containing the API key
modelstringModel identifier

Multi-provider configuration with fallback chain. Providers are tried in order.

KeyTypeDescription
namestringProvider name
api_key_envstringEnvironment variable for API key
modelstringModel identifier

Map of registry names to URLs. @scope/name routes to the registry named scope.

Dependencies can be specified as:

  • Version string: "^1.0" (SemVer range)
  • Table with registry: { version = "^3.0", registry = "company" }
  • Local path: { path = "../shared/utils" }
KeyTypeDescription
strategystring"all" or "selective"
includearrayGlob patterns for selective vendoring