-
Notifications
You must be signed in to change notification settings - Fork 0
Project Config
Project settings live in your repository and apply to everyone who builds that project (unless overridden by global config or CLI flags).
Beez does not auto-discover config.lua. You load it from build.lua:
beez.config(require("config"))Place config.lua next to build.lua. Lua's require resolves it from the project root when Beez loads the build script.
You can pass the table directly without a separate file:
beez.config({
cache = {
enabled = true,
path = ".cache",
},
})Multiple calls merge in order:
beez.config(require("config"))
beez.config({
ui = { output_mode = "verbose" },
})Later calls win for the same key.
return {
performance = {
cache_write_strategy = "phase",
cache_fs_metadata = true,
},
cache = {
path = ".cache",
enabled = true,
compress = {
algorithm = "gzip",
mode = "always",
},
},
env = {
load_dotenv = true,
vars = {
BUILD_TYPE = "Release",
},
hash_vars = {
"CC",
"CXX",
"BUILD_TYPE",
},
},
}beez.config(...) runs while build.lua is parsed, before any workflow or task executes. That means:
- Settings are available for the whole run
-
beez.env()inbuild.luasees vars after environment application - Step callbacks use the merged config from the start of execution
Do not confuse project Beez settings with per-step config:
| Mechanism | Purpose |
|---|---|
beez.config({ ... }) |
Global Beez behavior (cache, UI, env) |
configure_step("name", { ... }) |
Data for one step (patterns, tool revisions) |
step({ config = { ... } }) |
Inline step config at declaration time |
Step config is documented in Configure Step and Step Context.
Commit shared defaults in config.lua. Override locally or in CI without editing files:
beez --no-cache build
beez -j 1 --verbose test
beez --show-config-
Environment Variables -
envsection in detail -
Cache Settings -
cachesection - Project Layout - file locations
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
- UI and Output
- Output Modes
- Progress and Animation
- Colors and Themes
- Run Summaries
- Logging and Log Files
- Development and Contribution
- Building and Setup
- Repository Layout
- Testing
- Code Quality
- Feature Development Workflow
- Submitting Changes