Repository navigation
Architecture
Leonard Ramminger edited this page Aug 22, 2026
·
1 revision
High-level overview of the Tempify codebase.
flowchart TB
CLI[CLI / CliParser] --> App[TempifyApp]
App --> Loader[TemplateLoader]
App --> Planner[BuildPlanner]
App --> Executor[BuildExecutor]
Loader --> Lua[LuaEngine]
Planner --> Prebyte[PrebyteRenderer]
Executor --> Hooks[LuaHookRuntime]
App --> Store[LocalTemplateStore / SharedStore]
App --> Lock[GenerationLock / Reapply]
| Module | Path (approx.) | Responsibility |
|---|---|---|
| CLI | src/main/cpp/cli/ |
Arguments, help, subcommands |
| App | src/main/cpp/app/ |
Orchestrate render/validate/test |
| Template | src/main/cpp/template/ |
Load, merge, layout, tests |
| Lua | src/main/cpp/lua/ |
Manifest, questions, hooks |
| Prebyte | src/main/cpp/prebyte/ |
.pbt rendering (embedded engine) |
| Config | src/main/cpp/config/ |
Global/workspace config |
| Store | src/main/cpp/store/ |
Template paths, shared store |
- Load template(s) and merge includes (
TemplateLoader+TemplateMerge) - Answer questions (TUI,
--set,--answers-file) - Build
BuildPlanfrom files +layout.lua - Hooks
pre→ directories →before_render→ Prebyte →after_render→post - Write lockfile
- Prebyte - pinned separately, fetched on first CMake configure
- CLI11 - CLI parsing
- Lua - manifests, questions, hooks
- nlohmann/json - lock, answers, config
Plugin bundle in repo (reqpack-plugin/), not embedded in CLI core.
Tempify · Repository · Issues · Releases
Documentation lives in this wiki. For a build quickstart, see the README in the repository.
Prebyte (template engine) is a separate project bundled by Tempify.
- CLI Reference
- Questions & Answers
- Configuration
- Render Options
- Hooks (Users)
- Reapply & Diff
- Shared Template Store
- Prebyte Passthrough
- Shell Completion