Introduction to VIBE

VIBE is a document assembly system that turns a template and a set of questions into a dynamic, server-rendered interview. Templates (Markdown or DOCX) are the source of truth: VIBE executes them with placeholder values to discover which questions are actually needed, then renders only those fields as interview questions. This keeps interviews short, context-aware, and directly tied to the final document.

Core capabilities

Template bundles

Each template is a bundle with a template file and a config.yml that defines questions, optional definitions, and configuration. Bundles are validated at load time so template authors see errors early.

Probing for relevance

VIBE determines relevance by executing templates and tracking which variables are accessed. This avoids hand-maintained visibility rules and keeps question flow aligned with template logic.

Handlers and question types

Question types are implemented as handlers (text, bool, list, structured, etc.). Handlers render widgets, parse form input, validate values, and supply placeholders for probing.

Components and reuse

Templates can reuse sections via components, including definition-based structured data and reusable question sets. Components adapt to their input mappings and can declare their own internal questions.

Server-first UI

VIBE renders HTML on the server and updates the interface via HTMX. Interviews can show live previews, and the UI stays in sync with server-side validation and probing.

Static validation

Before templates run, VIBE performs static checks for undefined variables, type mismatches, component compatibility, and circular dependencies.

Extensions

Assistant and Review are optional, in-tree extensions. Core VIBE works without them.

  • Assistant adds LLM-assisted interview flows and draft generation based on author-controlled prompts and questions.
  • Review adds document analysis and review against author-specified requirements and curated examples of clauses that match those requirements.

Extensions require additional configuration (and, for Review, extra dependencies). Enable them only when you need those features.

Template authoring at a glance

Template bundles by default live in templates/<template_id>/ and include: - template.md or template.docx - config.yml with questions: and optional definitions:

Templates in other places can be enabled throught the global config.yml file in the project root.

Next steps

  • doc/interactive-tutorial.md
  • doc/core-concepts.md
  • doc/template-authoring-guide.md
  • doc/question-types-reference.md
  • doc/reusable-data-definitions.md
  • doc/building-with-components.md