boot.vue
src/boot.vue is the agent's standing system prompt. It forms the base context for every
session and task, and hot-reloads in local development for future work.
Put here what the agent should always know: who it is, how it operates, what it's working on, what standards it holds. This is the context the runtime can safely include for every invocation without thinking about it.
Vue composition (recommended)
The .vue format lets you compose identity from reusable components. Components in
src/prompts/components/ are auto-imported — no import statements needed. boot.vue is
not a web component — .vue here is a text template format.
<!-- src/boot.vue -->
<template>
<h1>Barry</h1>
<Identity />
<Personality />
<WorkingPractices />
</template>
Each component is a .vue file in src/prompts/components/ that renders a section of
the system prompt. This lets you split a long boot prompt into named, composable pieces
without duplicating content across agents or prompts.
Markdown fallback
For simple agents, src/boot.md works as a plain markdown file:
# Boot
You are a coding assistant working in this repository.
Read the codebase before making suggestions.
Prefer small, focused changes over large rewrites.
What belongs here
- Agent identity — name, role, tone
- Standing operating rules and constraints
- Project conventions and layout
- Anything true across every task this agent handles
What doesn't belong here
- Current tickets, incidents, or task details — those go in prompts loaded at invocation
- Secrets or environment values — those go in
.env - One-off instructions — those go in a prompt or directly in a script
Boot is not a plugin
boot.vue renders context — it does not run setup code. Database connections, SDK
initialisation, and hook subscriptions belong in server/plugins/, which runs at
boot and has full async support. Boot is static context the agent reads, not executable
setup logic.
For the reload rules around boot.vue, see Hot Reload.