Index
Developer Overview¶
This section is for VIBE core developers and people exploring how to extend VIBE beyond template authoring. It complements the template author documentation by explaining the internal architecture and linking to the generated API reference.
- Audience: core maintainers, extension authors, advanced integrators
- Focus: subsystem overview, extension points, and API docs
What’s here¶
- Extension Guide (preview): early outline of supported extension surfaces and patterns.
- API Reference: generated from the source using mkdocstrings (static, no imports).
Local preview¶
- Install:
uv sync --group docs - Configure: edit
zensical.toml - Serve:
python doc/build_docs.py serve - Build:
python doc/build_docs.py build(outputspublic/). - If you are working on prose only, or Rodney/Chrome is unavailable, add
--skip-screenshots.
The docs builder keeps ```example-file and ```screenshot-script blocks in the checked-in Markdown source, generates API reference pages, executes screenshot blocks, and writes a temporary generated docs tree under .doc-build/ before invoking Zensical.
Screenshot Blocks¶
Documentation pages can embed reusable file examples with fenced example-file blocks and runnable screenshot instructions with fenced screenshot-script blocks.
\`\`\`example-file
id: foundation-config
path: config.yml
language: yaml
questions:
client_name:
type: text
label: What is the client's name?
\`\`\`
The docs builder renders example-file blocks back to ordinary syntax-highlighted code blocks for readers, but also makes them available to later screenshot blocks in the same page.
You can also define another reusable file and combine them into a temporary embedded template interview:
\`\`\`example-file
id: foundation-template
path: template.md
language: markdown
# Agreement
Hello {{ client_name }}
\`\`\`
\`\`\`screenshot-script
use foundation-config
use foundation-template
start-interview
screenshot-el '#question-client_name'
\`\`\`
Required example-file metadata:
id:stable name used byuse <id>path:file path to create in the temporary template bundlelanguage:syntax highlighter for the rendered code block
Currently supported inline file blocks inside screenshot-script:
config: |-> writesconfig.ymltemplate: |-> writestemplate.md
Supported built-in commands:
use <id>open <url>start-interviewscreenshotscreenshot-el <selector>
Any other command line in the block is passed through to Rodney, so waits and interactions can be expressed using Rodney's own command set.
Conventions and style¶
API docs render best with concise, Google‑style docstrings and meaningful type hints. See CODING_CONVENTIONS.md for guidance and the docstring expectations used by the generator.