SPEC#
Vision#
- Build a filesystem-first static site generator that turns folders into a coherent, browsable website with minimal configuration, and ships a usable beta for non‑power users.
Goals#
- Make site structure visible and intuitive by mapping folders → collections/entries/blocks.
- Provide a lightweight, hackable toolchain for personal and creative sites.
- Offer dependable build and serve workflows for local development.
- Deliver a beta with an executable and a simple, friendly Web UI.
- Ship at least one “blog” starter for the beta.
- Support a minimal plugin capability (at least a TOC plugin) for the beta.
Non-goals#
- Compete head‑to‑head with full‑scale SSGs or CMS platforms.
- Hide the filesystem behind proprietary abstractions or complex GUIs.
- Guarantee production‑grade stability in the current phase.
Principles#
- Prefer transparent, inspectable outputs over “magic.”
- Keep configuration minimal; favor sensible defaults.
- Treat templates as simple, flexible building blocks.
Priorities#
- Core content modeling from folders and files.
- Reliable rendering pipeline (Markdown, media, templates).
- Developer experience: fast rebuilds, clear outputs, easy debugging.
- Beta readiness for non‑power users (executable + Web UI + starter).
Constraints#
- Built around Bun runtime; not published to npm yet.
- Must remain approachable for non‑developers and creative users.
- Early‑stage project; APIs and features can change.
- Starters are distributed externally (site/repos/zips), not bundled in the tool.
Success criteria#
- A user can build and serve a small site from folders with minimal setup.
- The generated
_public/output is predictable and easy to inspect. - Templates can shape site layout without custom code changes.
- A non‑power user can run the beta via an executable + Web UI to build a basic blog starter site.
Code review status (optional)#
- Done: yes (2026-02-05)
- Scope:
src/**,templates/**,package.json,tsconfig.json,webette.tool.ts,README.md - References:
ArPiDev/CODEMAP.md
Uncertainties#
- FIXED: What is the target milestone for a first “production‑ready” release (post‑beta)?
- Answer: Not defined yet; focus stays on the beta scope first, then revisit.
- FIXED: Which plugin/extension system is preferred (plugins vs. pipelines vs. both)?
- Answer: Beta scope includes a minimal plugin capability, starting with a TOC plugin.
- FIXED: What minimum starter templates are required for the first public release?
- Answer: At least one “blog” starter is required for the beta launch.