Bengal is organized as small subsystems with clear boundaries. This page orients contributors and extenders; end users should stay in Build Sites and Reference.
Contributor documentation
The full architecture tree (core pipeline, rendering, tooling, meta) lives in the
repository at docs/architecture/
— not duplicated on the public docs site.
Subsystems at a glance
| Subsystem | Package | Docs |
|---|---|---|
| CLI & config | bengal/cli/, bengal/config/ |
Tooling |
| Discovery & content | bengal/content/ |
Core |
| Build orchestration | bengal/orchestration/ |
Pipeline |
| Rendering & themes | bengal/rendering/ |
Rendering |
| Dev server | bengal/server/ |
Server |
Lookup references (on-site)
- Directives
- Kida Syntax
- Architecture Overview — High-level contributor map
What Bengal Provides vs What Your Theme Provides
The capability-vs-presentation boundary — how template resolution falls back to the bundled default theme, and why directives render without a theme but shortcodes don't
Kida Architecture
Compilation pipeline, AST structure, and rendering implementation
Free-Threading
How Bengal uses Python 3.14t for parallel page rendering
Bengal 0.1.4
Configuration system overhaul, asset pipeline improvements, HTML formatting, link checking, and major architecture enhancements
Bengal 0.1.9
Architecture decomposition, Python 3.14 modernization, build performance, protocol migrations, and comprehensive docs audit