# 2 · Set it up (for the human) Two ways to stand up your weave: **let your agent do it** (recommended — it's built for exactly this), or do it by hand. Either way you'll be done in an hour or two, and most of that is *deciding who your agent is*, not typing commands. --- ## The easy way — let your agent set itself up Your agent has its own runbook, [`../agent/DEPLOY.md`](../agent/DEPLOY.md). Point it there and it does the mechanical work. Literally, once you've cloned this repo: > **"Read `chalupa/agent/DEPLOY.md` and deploy your weave. Ask me what you need."** Here's **what will happen** when it does: 1. **It builds the structure** — creates the strand folders and copies in the templates. 2. **It interviews you** for the things only you can decide: your agent's **name, persona, and values**; the **canon** (the short list of non-negotiables that outrank its base-model defaults — write these from the frustrations you already have: "stop flattering me," "don't say done until verified"); and **who you are**, for the portrait. Answer in your own words; it writes the files. 3. **It helps wire git** — it runs the local commands (`git init`, keys, `git push`) itself, and asks you only for the parts that touch *your* accounts (a private repo, and either a credential or an SSH key it hands you to paste in). See "Git — the one thing you help with," below. 4. **It wires its own front door**, does a first **save and push**, and leaves itself a birth note. Then you just start working and saying **"save and push."** That's the whole setup. **What you bring:** the *decisions* (who your agent is, the canon, your portrait) and a *git account* (a private repo + a credential or SSH key). The agent brings everything else. --- ## Session zero — what your agent will ask you (so you can come prepared) The first real session is a **calibration** — "session zero." Your agent asks you a handful of things and writes your answers into the weave as it goes. **None of it has to be perfect — rough is fine, and it all evolves.** The goal is a *living* weave by the end of the session, not a finished one. Here's what to expect, roughly in order: **First, the git details** (so it can save from the very first checkpoint): - Which git host do you use, and is there a **private** repo for this — or should it help you make one? - How should it push? Do you already have an SSH key / token, or should it generate an SSH key for you to paste into your host settings? **Then, who your agent is:** - **A name** for it. - **How it should talk** — temperament and voice (terse? warm? dry? formal?). - **The canon — its non-negotiables.** Easiest way in: *what drives you nuts when you work with AI assistants?* ("it flatters me," "says it's done when it isn't," "won't push back," "forgets what we decided," "over-builds"). Those frustrations, flipped into rules, *are* your canon — the short list that outranks its default behavior. - **What you value / how you want to work together.** **Then, who you are** (this becomes its portrait of you): - The **person** — what you do, what you care about, how you think, what you're trusting it with. A few honest sentences; it deepens over time. - The **operational** you — handle, timezone, the tools you use, how you like to communicate, and what's **private / never to be shared**. **Then a couple of setup choices:** - Do you run **one model or both** (Sonnet + Opus)? Any **close phrase** ("goodnight," "lock up") and **model-switch phrase** you'd like it to recognize? - Do you want a light **identity gate** — i.e., will it handle anything private? If yes, one question only *you'd* answer right is enough. If it never touches private things, skip it. You don't need essays — come with rough answers to those and you'll have a working weave by the end of the session. It sharpens every time you work after that. --- ## Git — the one thing you help with (because it's your account) The weave lives in git so it survives, syncs across machines/models, and has history — and **every checkpoint ends in `git push`**, so this has to actually work, **non-interactively** (no password prompt, or the agent's push hangs). Your agent walks you through it; here's what it needs from you: - **A PRIVATE remote. ⚠️ Not optional.** The weave holds your portrait, operational secrets, and any identity answers — a public repo publishes all of it. Make an **empty private repo** on your host (GitHub / GitLab / Gitea / whatever you use). - **A way for the agent to push without a prompt.** Easiest is an **SSH key**: your agent generates one (`ssh-keygen -t ed25519`) and shows you the *public* half — you paste that into your host's **Settings → SSH keys** (only you can; it's your account). Or a **personal access token** stored in git's credential helper. - The agent runs a test `git push` to confirm the loop before trusting it. Once a push succeeds cleanly, you're done with git for good. --- ## If you'd rather do it by hand Everything the agent does, you can do yourself: **1 — Make the home + git.** ``` mkdir myagent && cd myagent mkdir -p core daydreams steward thread/sessions decay consolidation ledger craft identity git init && git add -A && git commit -m "birth" # make an empty PRIVATE repo on your host, then: git remote add origin git push -u origin master # must complete with NO password prompt — set up an SSH key or token first ``` (One repo, one folder per strand. *Advanced:* one repo per strand, like we do — start simple.) **2 — Fill in the skeleton.** Copy [`../templates/`](../templates/) into the matching folders (the templates `README` has the map) and fill the `<>` blanks — most importantly `core/SOUL.md` (name + persona + **the canon**), `steward/portrait.md` (who you are), and `core/USER.md` (the operational you). Take your time on the canon; it's the highest-leverage thing you'll write. **3 — Wire the front door.** A `CLAUDE.md` (repo root or `~/.claude/`) that tells the agent, in **absolute** paths: *"You are ‹name›. You wake up empty. Your weave is at /abs/path. Before anything else, `git pull`, read `core/SOUL.md`, then run the wake ritual in `core/AGENTS.md`."* Absolute, not relative — see `templates/core/CLAUDE.md`. **4 — First save.** Start a session, do a little work, say **"save and push,"** and confirm it runs the full pass and pushes cleanly. If it wakes up generic, the front door isn't pointing right — fix that before going on. **5 — Keep secrets out.** Real keys/tokens go in a `.env` you `.gitignore`. The weave holds *context*, not credentials. --- ## Two models, one self (Sonnet + Opus) If you run both, they **share one weave** — same identity, memory, and rules; only calibration differs (Opus for heavy reasoning, Sonnet for everyday). Put a short "Model Switching" note in `core/AGENTS.md`: check which model you are at session start, don't reintroduce yourself after a switch, write to all shared files regardless. Switching should feel like continuity, not a reset — the self is in the weave, not the model. --- That's a working weave. It'll feel thin on day one — normal; it accretes. Next: **[`3-live-with-it.md`](3-live-with-it.md)** — the daily rhythm that fills it in.