Skip to main content
Xavier

Vault Structure

Xavier's vault lives at ~/.xavier/ by default (configurable during setup). It's a git repository backed by a private GitHub repo.

Directory layout

~/.xavier/
├── config.md # user preferences, workflow, git strategy
├── MEMORY.md # Zettelkasten index
├── personas/ # global reviewer personas
│ ├── correctness.md
│ ├── security.md
│ └── performance.md
├── adapters/ # runtime-specific execution layers
│ ├── claude-code/
│ ├── codex/
│ └── shell/
├── skills/ # generated dependency-skills
│ ├── react/
│ ├── drizzle-orm/
│ └── zod/
├── knowledge/
│ ├── repos/ # per-repo notes
│ │ └── my-app/
│ │ ├── architecture.md
│ │ ├── decisions.md
│ │ └── dependencies.md
│ ├── teams/ # team-level conventions
│ │ └── platform/
│ └── reviews/ # review notes
├── prd/ # product requirement documents
├── tasks/ # implementation task lists
├── review-state/ # review verdict tracking per repo
└── loop-state/ # loop iteration progress per task

What lives where

config.md

User preferences: name, teams, workflow settings, git strategy, export vault path. See Configuration.

personas/

Global reviewer persona files. Each is a markdown file with a system prompt that defines a reviewer's perspective. See Personas.

adapters/

Runtime-specific execution adapters. The active adapter is symlinked during setup. You don't need to edit these.

skills/

Dependency-skills generated by /xavier add-dep or /xavier learn. Each package gets its own directory containing best practices, doc links, and API patterns.

knowledge/

The core knowledge graph, organized by scope:

  • repos/ — per-repo architecture maps, decision logs, and dependency graphs
  • teams/ — team-level conventions that apply across repos
  • reviews/ — review notes with structured findings (passive archive + active learning source)

prd/

Product requirement documents created by /xavier prd. Zettelkasten notes with wikilinks to related vault content.

tasks/

Implementation task lists created by /xavier tasks. Linked to their source PRD via wikilinks.

review-state/

Operational state for review verdict tracking per repo. Append-only history.

loop-state/

Operational state for loop iteration progress. Active during execution, archived when complete. These are not knowledge artifacts — no Zettelkasten frontmatter.

MEMORY.md

The vault's Zettelkasten index. Maps note titles to file paths for discovery and navigation.

Repo-level overrides

Any repository can include a .xavier/ directory to override global settings:

<your-repo>/
└── .xavier/
└── personas/ # repo-specific reviewer personas
└── accessibility.md # overrides global personas for this repo

Currently only persona overrides are supported at the repo level.

Frontmatter schema

Every knowledge note uses consistent YAML frontmatter:

---
repo: string # repository name
team: string # team identifier
scope: string # optional — workspace, service, or package name
domain: string # e.g., "auth", "api", "database"
type: string # architecture | decision | dependency | prd | task | review
tags: [] # freeform tags
related: [] # wikilinks to other notes
created: date
updated: date
---

Type-specific fields

Review notes add:

module: string # e.g., "src/auth"
finding-categories: [] # [security, correctness, performance]
recurring: boolean # flags patterns seen in prior reviews

Task notes add:

source: string # wikilink to source PRD, e.g., [[prd/webhook-support]]

Git sync

The vault is a git repository. Before writing, Xavier pulls from the remote first, then applies changes.

Git strategy is configured during setup:

StrategyBehavior
auto-commitEvery vault write triggers a commit
batch-commitCommits at natural checkpoints (default)
user-drivenNever auto-commits; periodic reminders
batch-commit + auto-pushBatch commits that also push to remote

Last updated: 4/8/26, 10:45 PM

Edit this page on GitHub
XavierAI Agent Orchestrator & Knowledge System
Community
github