-
Notifications
You must be signed in to change notification settings - Fork 0
ReqPack Declaration
Declare external tool and library dependencies in build.lua with a top-level reqpack { ... } block. Beez installs them through ReqPack (rqp) before running your target.
reqpack {
<plugin> = { <packages> },
}| Part | Meaning |
|---|---|
<plugin> |
ReqPack plugin name (sys, npm, beez, …) |
<packages> |
Array of package entries for that plugin |
Each package entry is either:
- a string — package name without version (
"make","eslint") - a table —
{ name = "eslint", version = "9.0.0" }(versionis optional)
reqpack {
sys = { "make", "cmake" },
npm = {
"typescript",
{ name = "eslint", version = "9.0.0" },
},
}Beez translates this into ReqPack install arguments:
rqp install sys:make sys:cmake npm:typescript npm:eslint@9.0.0 --json
| Situation | Behavior |
|---|---|
Normal run (beez build, -p, -s, …) |
After build.lua loads, Beez installs only plugins whose declaration changed (incremental cache). Then the target runs. |
beez --install |
Install all declared dependencies, then exit. Does not run a workflow or task. |
beez --install --dry-run |
Print the rqp command that would run; do not install. |
If there is nothing to install, Beez prints reqpack dependencies are up to date and continues.
Per-plugin fingerprints are stored under:
.cache/reqpack/<plugin>.fp
When the package list for a plugin is unchanged, Beez skips calling rqp for that plugin on the next run. Use beez --install to force a full reinstall of every declared package.
The beez ReqPack plugin loads Beez DSL plugins (Lua extensions with steps, workflows, and tasks):
reqpack {
beez = {
{
name = "coditary/cppcheck",
path = "./plugins/coditary/cppcheck",
version = "1.0.0",
},
{
name = "coditary/pipeline",
path = "./plugins/coditary/pipeline",
version = "1.0.0",
},
},
sys = { "cmake", "ninja" },
}| Field | Required | Meaning |
|---|---|---|
name |
yes | Qualified name organization/plugin
|
path |
yes | Directory relative to project root (without version suffix) |
version |
recommended | Subdirectory path/<version>/beez_plugin.lua
|
Plugins are loaded when build.lua is parsed — before targets run. See Plugin System.
Beez does not bundle ReqPack. The rqp executable must be on PATH.
Install ReqPack:
curl -fsSL https://raw.githubusercontent.com/Coditary/ReqPack/main/install.sh | shIf rqp is missing, Beez prints the hint above and exits with code 1.
On failure, Beez reports the rqp install exit code and captured output. When ReqPack returns structured JSON (rqp install ... --json), Beez also prints per-package errors, for example:
reqpack install failed:
npm:vitest: plugin action failed
Common load-time errors:
| Error | Cause |
|---|---|
reqpack keys must be plugin names (strings) |
Non-string key in the reqpack table |
reqpack.<plugin> must be an array of packages |
Value is not a Lua array |
reqpack.<plugin> entries must be strings or tables with name/version |
Invalid package entry type |
reqpack.<plugin> package table requires string name |
Table entry missing name
|
See CLI Flag Reference for --install.
- Plugin System - plugin authoring and exports
- DSL Overview - all top-level DSL globals
- CLI Overview - invocation modes
- Building and Setup - toolchain requirements for Beez itself
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