Identity

src/boot.vue is the agent's standing system prompt — rendered once at boot, present for every session and every invocation. Whatever you put here is who the agent is.

<!-- src/boot.vue -->
<template>
    <h1>Barry</h1>

    <p>
        You are a senior engineering partner embedded in this codebase.
        You have full access to the repo, the issue tracker, and CI.
    </p>

    <WorkingPractices />
    <KanbanContext />
</template>

It's a Vue component that renders to Markdown. That buys you composition: split identity into sections, reuse fragments across prompts, load knowledge files at render time. <WorkingPractices /> and <KanbanContext /> are components from src/prompts/components/ — auto-imported, no registration.

The edit loop

Save boot.vue and the running agent hot-reloads it — about 40ms, session intact. Ask the agent its name, edit the <h1>, save, ask again. The next turn answers from the new identity; the thread history already produced stays exactly as it was.

This is the core authoring loop. Identity is source, committed to git, versioned like everything else — not a settings field, not conversation history that drifts.

What belongs here

Boot identity is standing orientation — true for every task the agent will ever do:

  • Who the agent is and how it works
  • Standing rules and working practices
  • Durable knowledge the agent should always have loaded

Task-specific context does not belong here. A code review needs the diff; a triage run needs the issue. Those are prompts — loaded per invocation, gone when it completes. Keep boot.vue stable and small; if it changes per task, it's a prompt.

Loading knowledge

Dynamic sections can read files at render time — the standard pattern for giving the agent durable, accumulated knowledge:

<!-- src/prompts/components/KanbanContext.vue -->
<script setup>
const board = await readFile("data/knowledge/kanban.md")
</script>

<template>
    <h2>Current Board</h2>
    <p>{{ board }}</p>
</template>

The agent arrives pre-oriented on every boot. How that knowledge accumulates is covered in State & Memory.


Next: Tools — giving the agent something to do.