🏛️ Free Tutorial — Library Edition

Build Your Own
Personal AI
From Scratch

A complete step-by-step guide to building a Personal AI that knows who you are, remembers everything you've done, and gets smarter every session. Free. Local. Yours permanently. No subscription. No cloud account required. Works on Mac, Windows, and Linux.

Who this is for: Anyone curious about AI who wants something more personal than ChatGPT. You don't need to know how to code. The steps are written for library workshop attendees — if you can follow a recipe, you can follow this.
Time Required
2–4 hours for the full stack. Start with just Steps 1–3 in under an hour.
What You Need
A computer (Mac/Windows/Linux), an internet connection, and an Anthropic account (free tier works).
Cost
Free to start. Claude API costs ~$1–5/month for typical daily use at the cheapest model tier.
📋 What We'll Build
  1. 1 Install Claude Code — Your AI's Home Base
  2. 2 Write Your TELOS — The Document That Defines You
  3. 3 Build Your FRAME — How You See the World
  4. 4 Name Your AI and Configure Your PAI
  5. 5 Set Up Your Memory Palace — Long-Term Memory
  6. 6 Learn the /wrap Ritual — How Your AI Grows
  7. 7 Optional: Build Your SIGNAL — Your Public Identity API
  8. 8 Optional: Dedicated Hardware Setup
1
Step One

Install Claude Code

Claude Code is a command-line application that lets you talk to Claude AI directly from your terminal — and more importantly, gives it access to your files, your folders, and your machine. It's built by Anthropic, the company that makes Claude.

What's a terminal? On Mac, press Cmd+Space and type "Terminal" then hit Enter. On Windows, press the Windows key, type "PowerShell" and press Enter. On Linux, you already know where it is.
1a. Get an Anthropic Account
Go to console.anthropic.com and create a free account. Once logged in, navigate to API Keys and create a new key. Copy it — you'll need it in a moment. Keep this key private like a password.
1b. Install Node.js (if you don't have it)
Go to nodejs.org and download the LTS version. Install it. This gives your computer the ability to run JavaScript programs.
1c. Install Claude Code
Open your terminal and run this command:
Terminal
npm install -g @anthropic-ai/claude-code
1d. Set Your API Key
Tell Claude Code your API key. Replace the placeholder with your actual key:
Terminal — Mac/Linux
export ANTHROPIC_API_KEY="your-key-here" # Add this line to ~/.zshrc or ~/.bashrc so it loads every time echo 'export ANTHROPIC_API_KEY="your-key-here"' >> ~/.zshrc
PowerShell — Windows
$env:ANTHROPIC_API_KEY = "your-key-here" # To make it permanent, use System Properties → Environment Variables
1e. Test It
Type claude in your terminal and press Enter. You should see Claude Code start up and say hello. If it works, you're ready. Type /exit to quit.
✓ Checkpoint: Claude Code opens when you type claude and you can have a conversation with it.
2
Step Two

Write Your TELOS

TELOS is the most important file in your entire stack. It's a plain text document that tells your AI who you are at the deepest level — your missions, your values, your goals, your story. Your AI will read this at the start of every session. This is the difference between a generic AI and one that actually knows you.

🛡️ Privacy first: Your TELOS file lives only on your machine. It never gets sent to any server, never touches a cloud platform, and never leaves your computer unless you deliberately share it. This is the most private file in your stack — treat it accordingly.

Create the file

Terminal — Mac/Linux
# Create the TELOS directory mkdir -p ~/.claude/.claude/skills/CORE/USER/TELOS # Open a text editor to create the file (use any editor you prefer) nano ~/.claude/.claude/skills/CORE/USER/TELOS/MY_TELOS.md

TELOS Starter Template

Fill in the bracketed sections with your own answers. Don't worry about getting it perfect — you can update it any time. Be honest. The AI will use this to help you, not judge you.

MY_TELOS.md — Your Template
# MY TELOS # This file defines who I am. My AI reads this at the start of every session. # It is private. It lives only on my machine. ## WHO I AM **Name:** [Your name] **Location:** [City, State/Country] **Age:** [Your age] ## MY MISSIONS # Your missions are the things you're actually working toward in your life. # Write them as present-tense commitments, not vague wishes. **Mission 1:** [What is the most important thing you're working toward right now?] **Mission 2:** [What's the second most important?] ## MY VALUES # What matters most to you? 3-7 words, each with a brief explanation. - **Value 1** — [What this means to you in practice] - **Value 2** — [What this means to you in practice] - **Value 3** — [What this means to you in practice] ## MY GOALS (Next 12 Months) - [Specific goal 1] - [Specific goal 2] - [Specific goal 3] ## MY PROFESSIONAL STORY # 1-3 paragraphs. Where you've been, where you are, where you're going. [Write a brief description of your professional background and what you're building toward.] ## MY CURRENT CHALLENGES # What obstacles are you dealing with right now? # Being honest here lets your AI give you better, more calibrated help. - [Challenge 1] - [Challenge 2] ## NEW IDENTITY DECLARATIONS (NIDs) # NIDs are statements of who you are BECOMING, written as present-tense facts. # They're not wishful thinking — they're declarations you're growing into. - I am [who you are becoming]. - I am [another identity declaration]. ## MY ACTIVE PROJECTS | Project | Status | Description | |---------|--------|-------------| | Project name | In Progress | 1-line description |
Take your time with this. A thoughtful TELOS file is the highest-leverage thing you'll do in this entire tutorial. The more honest and specific you are, the better your AI will serve you. Even 30 minutes of real thought here is worth more than 10 hours of configuration later.
✓ Checkpoint: You have a file at ~/.claude/.claude/skills/CORE/USER/TELOS/MY_TELOS.md with your actual information filled in.
3
Step Three

Build Your FRAME

If TELOS tells your AI who you are, FRAME tells it how you think. Four short YAML files capture your worldview — your beliefs, the problems you solve, your mental models, and the lenses you look through. Your AI uses these to reason alongside you, not just respond to you.

Terminal
mkdir -p ~/.claude/.claude/skills/CORE/USER/TELOS/FRAME

beliefs.yaml

What do you hold to be true about people and how the world works?

FRAME/beliefs.yaml
beliefs: - id: belief-1 statement: "What you believe to be true — e.g., 'People perform best when they have clear purpose'" why_it_matters: "Why this belief shapes how you work or live" - id: belief-2 statement: "Another core belief" why_it_matters: "Its practical impact"

problems.yaml

What problems are you built to solve? What do people come to you for?

FRAME/problems.yaml
problems_i_solve: - id: problem-1 name: "Short name — e.g., 'Workflow Chaos'" description: "The problem in plain language" my_approach: "How you uniquely solve it"

mental-models.yaml

What frameworks do you reach for when analyzing a problem?

FRAME/mental-models.yaml
mental_models: - name: "First Principles" description: "Break problems down to their fundamental truths before building back up" when_i_use_it: "When something feels unnecessarily complex" - name: "Inversion" description: "Ask 'what would make this fail?' then avoid those things" when_i_use_it: "When planning something important"
✓ Checkpoint: You have at least 2 entries in each FRAME file. They don't need to be perfect — they'll evolve as you use your system.
4
Step Four

Name Your AI and Configure Your PAI

Now you'll tell Claude Code about your identity files and give your AI a name and personality. This is the configuration layer — the files that tell your AI how to behave, what to load, and who it's working with.

4a. Create settings.json
This file configures your AI's identity and your identity. Replace the placeholder values.
~/.claude/settings.json
{ "daidentity": { "name": "Bodhi", "fullName": "Bodhi — Your Personal AI" }, "principal": { "name": "Your Name", "timezone": "America/Chicago" } }
4b. Create CLAUDE.md — Your AI's Standing Instructions
This file tells your AI what to do at the start of every session and how to behave generally.
~/.claude/CLAUDE.md
# My Personal AI — Session Rules ## Session Start Protocol At the start of every session, read my TELOS file: `~/.claude/.claude/skills/CORE/USER/TELOS/MY_TELOS.md` Greet me by name and briefly acknowledge the current top priorities from my TELOS. ## How to Work With Me - You know my goals, missions, and context. Use that knowledge. - Be direct and concise. Don't pad responses. - When I say /wrap, update my session notes and summarize what we did. ## My Name My name is [Your name]. Address me by name. ## My AI's Name My AI is named [AI name].

Test It

Terminal
claude # Your AI should greet you and reference your TELOS context
✓ Checkpoint: When you open Claude Code, it greets you by name and shows awareness of your goals and context from your TELOS.
5
Step Five

Set Up Your Memory Palace

The Memory Palace is a vector database — a special kind of database that stores memories by meaning, not just keywords. This is the layer that makes your AI compound over time. Every session's key insights get written here. After a year, it knows everything you've worked on.

This step requires Docker — a tool for running software in isolated containers. If you're at a library workshop and Docker feels like too much, you can skip this step and add it later. Steps 1–4 give you a powerful system even without the Memory Palace.

5a. Install Docker Desktop
Go to docker.com/products/docker-desktop and download Docker Desktop for your operating system. Install it and make sure it's running (you'll see the Docker whale icon in your menu bar or system tray).
5b. Create the Docker Compose file
This file tells Docker how to run your Memory Palace database. Create a folder called memory-palace in your home directory, then create this file inside it:
Terminal
mkdir ~/memory-palace nano ~/memory-palace/docker-compose.yml
~/memory-palace/docker-compose.yml
version: '3.8' services: memory-palace: image: pgvector/pgvector:pg16 container_name: memory-palace restart: unless-stopped environment: POSTGRES_DB: memory POSTGRES_USER: your_username POSTGRES_PASSWORD: choose_a_strong_password ports: - "5432:5432" volumes: - memory-palace-data:/var/lib/postgresql/data volumes: memory-palace-data:
5c. Start the Memory Palace
Terminal
cd ~/memory-palace docker compose up -d # Verify it's running docker ps # You should see "memory-palace" in the list
5d. Initialize the Database
Connect to the database and create the memory tables:
Terminal
docker exec -it memory-palace psql -U your_username -d memory -- Inside the postgres prompt, run: CREATE EXTENSION IF NOT EXISTS vector; CREATE TABLE memories ( id SERIAL PRIMARY KEY, content TEXT NOT NULL, embedding vector(1536), type VARCHAR(50), created_at TIMESTAMPTZ DEFAULT NOW() ); CREATE INDEX ON memories USING ivfflat (embedding vector_cosine_ops); \q
🛡️ Your Memory Palace is 100% local. The database runs on your machine inside Docker. Nothing leaves your computer. The data persists even if Docker restarts — it's stored in a Docker volume on your disk.
✓ Checkpoint: docker ps shows memory-palace running, and you were able to connect and create the tables without errors.
6
Step Six

The /wrap Ritual — How Your AI Grows

The /wrap command is the single habit that makes everything compound. At the end of every working session, you type /wrap and your AI does five things automatically. This is how your Memory Palace fills up, how your TELOS stays current, and how your AI gets smarter every session.

1
Builds Session Summary
Thinks through everything accomplished: what was built, what decisions were made, what was left incomplete. This becomes the context for the next session.
2
Updates HANDOFF.md
Writes a structured handoff document so the next session starts with full context — even if you've been away for weeks. No more "where were we?"
3
Pushes to GitHub (if configured)
Commits any changed files to version control. Your work is backed up automatically with every session close.
4
Writes to Memory Palace
Key insights, decisions, project updates, and learnings are written to your vector database as semantic memories. This is how the Memory Palace fills up over time.
5
Confirms Everything
Reports what was done, what was saved, and what's next. Clean close. Ready for next time.

Add /wrap to your CLAUDE.md

Add to ~/.claude/CLAUDE.md
## Session End Protocol When I type /wrap: 1. Summarize what we accomplished this session in 3-5 bullets 2. Note what's incomplete or deferred 3. Write 2-3 key insights to the Memory Palace if it's configured 4. Update a file called HANDOFF.md at ~/.claude/HANDOFF.md with the summary 5. Confirm everything is saved This is non-negotiable. /wrap always triggers this full ritual.
The habit that makes it work: The value of this system compounds with every session you close properly. Even if you're just working for 30 minutes — /wrap. The Memory Palace grows. The HANDOFF gets updated. The next session starts informed. This is the discipline that separates a powerful personal AI from a chatbot you restart from scratch every time.
✓ Checkpoint: Type /wrap at the end of a session. Your AI produces a structured summary and asks where to save it. Over the next few sessions, it becomes automatic.
7
Step Seven — Optional

Build Your SIGNAL

SIGNAL is your public identity layer — a REST API that returns structured JSON about who you are. This is optional but increasingly valuable as AI systems become part of how people and organizations discover, evaluate, and hire professionals.

Building a SIGNAL endpoint requires a personal website or domain. If you don't have one, this step can wait. When you're ready, the Done-With-You tier includes SIGNAL setup as part of the package.

What SIGNAL looks like: A URL like yourdomain.com/api/signal returns JSON with your professional summary, values, services, and how to engage you. AI systems that research service providers or candidates can query this directly. It's your machine-readable professional identity.
Get Help Setting Up SIGNAL →
8
Step Eight — Optional

Dedicated Hardware Setup

Running your PAI stack on your main computer works great for getting started. When you're ready to go 24/7 — always-on Memory Palace, overnight agents, access from anywhere — a dedicated mini PC or private VPS is the move.

Mac Mini M2 (~$599)
The gold standard for a dedicated PAI machine. Fast, silent, energy-efficient. Runs MacOS so everything works the same way as your laptop. Always on, always accessible via SSH.
Hetzner VPS (~$6/mo)
No hardware to buy. A virtual server in Europe with great uptime. Runs Docker perfectly. Your Memory Palace and any agents live here. Access from anywhere in the world via SSH.
Library workshop note: Don't worry about dedicated hardware on day one. Start with your laptop. Move to dedicated hardware when you're using the system daily and want it always available. We can set either option up for you — see the Done-For-You tier.

🎉 You Built It

If you've completed Steps 1–6, you have a Personal AI that knows who you are, reasons through your mental models, and accumulates memory with every session. This is more than most professionals in the world have. Now the work of using it begins — and the system gets better every time you do.

See the Full Stack → Get Expert Help Building Yours