Four stacked layers, each independently removable
The official core is a single 2.6 MB artifact. TiddlyForge re-layers it by real dependency: each layer only depends on the one below — UI, filters, wikitext can each be removed, and what remains still runs.
Full data: module size statistics · modules per tier
Layer overview
Sizes are cumulative build output (raw, before gzip); upper layers are removable, lower layers are self-sufficient.
PageTemplate / Story River / sidebar / themes — remove it and the core goes fully headless.
filter engine / wikitext parser / render tree / base widgets — remove it and a storage-capable data core remains.
storage adaptors (filesystem · tiddlyweb) / syncer / browser savers — remove it and only the minimal data kernel remains.
boot kernel / tiddler store / module loader / base serialization — every line is needed above.
nano is the minimal complete core: boot kernel + tiddler store + module loader, running standalone on Node.js and in browsers.
Dependencies point one way
Arrows follow dependencies (upper module → lower dependency); hover any node to highlight its dependency paths.
Conclusion: wikitext depends on filters, the UI depends on wikitext — never the reverse — so every layer detaches cleanly.
Compared with the official core
Official core
tiddlywiki5.js- 2.6 MB: all or nothing
- Inseparable: UI, parser and storage fused together
- The UI is mandatory; headless requires hacks
TiddlyForge core
assembled by layer- 48 KB ~ 2.6 MB: four sizes scaling with layers
- Assembled by layer: toggle and combine freely
- Headless optional: drop full for pure API
Design principles
One-way dependencies
Dependencies only point downward: UI → wikitext → filters. Remove any upper layer and what remains is still a complete, runnable core.
Zero frameworks
No third-party runtime dependencies in the core or toolchain. The output is a single file — copy and run, nothing to install.
Standard interfaces
UIs drive the wiki through the standard store API and are swappable — the official UI is just one pluggable implementation.