Build your own
Create your own self-driving agent
Start blank with a single command, or pre-seed an agent from a directory of markdown and a bank-template.json. Same self-driving loop, your domain.
Three levels of structure
Each level is optional. Pick the one that matches what you have on hand right now; you can always grow into the others.
Just a name
--emptyPick a name, pick a harness. The CLI provisions the bank, sets up the harness, and that's it — the agent has its full tool surface from day one and learns everything from the conversation.
npx @vectorize-io/self-driving-agents install my-agent --harness claude-code --emptyThen in any chat:
- › "Ingest
https://example.com/playbookand remember the key points." - › "Read this PDF and build a page on common pitfalls."
- › "Save what we just decided as a page called release-checklist."
Add seed knowledge
./my-agentIf you already have docs, drop any .md or .txt files in a directory. The CLI ingests them as initial memories so the agent walks in with prior context.
my-agent/
playbook.md
reference.mdnpx @vectorize-io/self-driving-agents install ./my-agent --harness claude-codePre-seed pages with bank-template.json
When you know which pages you want and what should fill them, add a bank-template.json with mental_models[]. Hindsight provisions the bank, creates one page per model, and keeps each one in sync with the bank's memories. See the concept page for what mental models do.
my-agent/
bank-template.json # mission, mental_models, ...
playbook.md
reference.md{
"version": "1",
"bank": {
"retain_mission": "Extract ...",
"observations_mission": "Observations are stable facts about ..."
},
"mental_models": [
{
"id": "playbook",
"name": "Playbook",
"source_query": "What patterns have we observed working?",
"trigger": { "mode": "delta", "refresh_after_consolidation": true }
}
]
}Multi-agent teams
Need a department of specialists? Nest directories. Each level with a bank-template.json is its own installable agent. Install the parent to get everything; install a child to get just that specialist.
my-team/
bank-template.json # install my-team → everything below
specialist-a/
bank-template.json # install my-team/specialist-a → just this
playbook.md
specialist-b/
bank-template.json
reference.mdSee the marketing template for a full example with sub-departments.