Schemas Wiki
Each AI call in Bulifier has an associated schema that determines how the request is structured and processed. The agent (powered by Bulifier’s “agent” schema) typically chooses the relevant schema automatically, but you can also pick one manually via the UI from a list of available schemas.
Schema Structure
A schema describes how to build an array of system/user messages for an AI request. It’s split into sections that start with a special header:
1
# {type}
Types:
- System: Turns into a system message.
- User: Turns into a user message.
- Comment: A comment that is ignored at runtime.
- System-loop: Used for file-related operations. It generates multiple system messages, one for each file.
After defining the message sections, you must include a Settings section with various configuration values:
- Run for each file (
True
/False
): IfTrue
, the AI call runs once for each input file; otherwise it runs a single time overall. - output extension (e.g.,
txt
): The file extension used for the AI output. - multi files output (
True
/False
): IfTrue
, one AI call can generate multiple output files.
Runtime Parameters
Within the schema text, Bulifier recognizes special placeholder keys wrapped in ⟪ ⟫
that get replaced when the AI request is built:
- ⟪package⟫: The package/namespace for the output code.
- ⟪context⟫: The file’s context (used in
System-loop
). - ⟪main_file⟫: The main bullet file to be processed.
- ⟪prompt⟫: The user prompt for the operation.
- ⟪project_details⟫: General details about the project.
- ⟪schemas⟫: List of schema names exported to the agent.
- ⟪files⟫: A set of file names with metadata (purpose, etc.).
- ⟪main_file_name⟫: The name of the current open file.
- ⟪bullet_raw_file_pair⟫: The bullet/raw file pair based on the currently open file.
These placeholders allow Bulifier to adapt the schema to different contexts and user inputs, making each AI call dynamic and context-aware.
Built-In Schemas
Below is a list of the currently supported built-in schemas in Bulifier. You can manually create new schemas or modify existing ones. After editing the schema files in the schemas
folder, simply click the Reload Schemas button in the UI to apply changes.
- agent
- A special schema used to triage tasks and determine which actions to execute. It interprets the user’s request and coordinates file operations (move, delete) along with subsequent processing steps.
- bulify
- Generates new pseudo code files from your bullet points. It converts your high-level bullet point descriptions into structured pseudo code files using a consistent format.
- bulify_native
- Creates one or more native code files based on the provided pseudo code files. This schema formats the file paths and content appropriately to produce fully-fledged native code files.
- debulify
- Converts pseudo code files into native code files. It processes updated pseudo code files and applies the changes to the corresponding native code files, ensuring consistency across your project.
Note: Outdated schemas such as rebulify-file
, update-bullet-with-raw
, update-raw-with-bullet
, and update-schema
have been removed to simplify and streamline the code generation workflow.