Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
Configuration Overview
Beez builds one active configuration for each run by merging several sources. Later sources override earlier ones for the same key.
From lowest to highest priority:
| Priority | Source | Where |
|---|---|---|
| 1 | Global user config | ~/.config/beez/config.lua (or $XDG_CONFIG_HOME/beez/config.lua) |
| 2 | Project config | beez.config({ ... }) in build.lua (often via require("config")) |
| 3 | Environment | .env files and env.vars from config |
| 4 | CLI flags | --verbose, --no-cache, -j, etc. |
When you run a target (workflow, task, phase, or step), Beez roughly does this:
- Load global
config.luaif it exists - Apply environment settings once (dotenv +
env.vars) - Load
build.luaand merge projectbeez.config(...) - Apply environment settings again (project may have changed
envoptions) - Apply CLI overrides
- Run the requested target
Environment is applied twice so project-level env settings take effect before the final merge with CLI flags.
All config files are Lua modules that return a table:
return {
performance= { ... },
cache= { ... },
ui= { ... },
env= { ... },
}Top-level keys:
| Key | Purpose |
|---|---|
performance | Threads, cache write timing, hashing behavior |
cache | Cache directory, enable/disable, hash and compression |
ui | Terminal output, colors, progress, summaries, logging |
env | Dotenv loading, default vars, cache fingerprint vars |
You only need to include the sections you want to override.
beez --show-configPrints the active values and shows which layer set each one (global, project, CLI, or default). You must run this from a directory that contains a build.lua, because project config is loaded from there.
beez --config-options
beez --config-options performance
beez --config-options cache.compress.modeWithout a path, lists child keys. At a leaf enum key, lists allowed values.
These flags change behavior for a single run (most map to a config key):
| Flag | Effect |
|---|---|
--verbose | ui.output_mode = verbose |
--error | ui.output_mode = errors |
--silent | ui.output_mode = silent |
--dry-run | Run-only: load build.lua, build graph, show progress; skip shell commands and Lua callbacks (not a config file key) |
--no-cache | cache.enabled = false |
-j, --threads N | performance.max_threads = N |
--log-file PATH | Enable run log at PATH |
--no-log-file | Disable run log |
See CLI Flag Reference for the full list of flags. Output and cache flags are described in Output and Logging Flags and Cache and Maintenance Flags.
Some things are defined only in build.lua, not in Beez settings:
- Steps, tasks, workflows
order()dependenciesconfigure_step()data
Shell steps and Lua callbacks read the environment via beez.env("KEY") after env settings are applied.
- Global User Config - per-machine defaults
- Project Config - per-repo overrides
- Environment Variables -
.envand cache fingerprints
Quick Reference · Glossary · FAQ
- Fundamentals
- Core Concepts
- Project Layout
- First Pipeline
- Phases and Scopes
- How Phases and Scopes Work
- Selecting with Phases and Scopes
- Designing Phases and Scopes
- Parallel Execution and Dependencies
- Configuration
- Configuration Overview
- Global User Config
- Project Config
- Environment Variables
- Performance Settings
- Cache Settings
- Config Reference
- CLI
- CLI Overview
- Running Targets
- Filtering by Phase
- Running a Single Step
- Listing Entities
- Output and Logging Flags
- Cache and Maintenance Flags
- Meta and Utility Commands
- Project Scaffolding —
beez --init(embedded Tempify) - CLI Flag Reference
- Lua DSL
- DSL Overview
- Plugin System — Plugins, Config DSL, Standard-Workflows
- Step Declaration
- Task Declaration
- Workflow Declaration
- Order Declaration
- Configure Step
- ReqPack Declaration
- Beez API
- Step Context
- DSL Patterns
- Caching
- Caching Overview
- Step Cache
- Success Cache
- Glob Metadata Cache
- Artifact Patterns
- Cache Keys and Invalidation
- Cache Storage and Maintenance
- Caching Troubleshooting
- Development and Contribution
- Building and Setup
- Repository Layout
- Testing
- Code Quality
- Feature Development Workflow
- Submitting Changes