Self-Driving AgentsGitHub →

Build your own

Create your own self-driving agent

An agent is a name plus, optionally, some seed knowledge. The harness wires in tools so the agent can look things up, ingest URLs and files you give it, and write back to its own pages. Nothing about the directory layout is mandatory — you can start with literally nothing and let the agent build itself as you chat.

Three levels — pick what you need

Each level is optional. Skip straight to a name if you want; add structure later when patterns emerge.

1

Just a name

The lowest-effort path. Pick a name, run the install with the harness you want, start chatting. The bank is provisioned empty; the agent has its full tool surface from day one and can ingest anything you ask it to.

npx @vectorize-io/self-driving-agents install my-agent --harness claude-code

Then in the conversation, just ask:

  • "Ingest https://example.com/playbook and 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."
2

Add seed knowledge

If 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 — no templating required.

my-agent/
  playbook.md
  reference.md
npx @vectorize-io/self-driving-agents install ./my-agent --harness claude-code
3

Pre-seed the wiki with bank-template.json

When you know the 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": {
    "reflect_mission": "You are the long-term memory for ...",
    "retain_mission": "Extract ..."
  },
  "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.md

See the marketing template for a full example with sub-departments.

Pick a harness

Same agent, different runtime. Replace my-agent with your name (or path) and pick the harness you actually use:

Claude Code

Full guide →
npx @vectorize-io/self-driving-agents install my-agent --harness claude-code
npx @vectorize-io/self-driving-agents install my-agent --harness hermes

Claude Chat & Cowork

Full guide →
npx @vectorize-io/self-driving-agents install my-agent --harness claude
npx @vectorize-io/self-driving-agents install my-agent --harness openclaw
npx @vectorize-io/self-driving-agents install my-agent --harness nemoclaw