# AI-Agent Global Bootstrap — TEMPLATE (fill in your own)

> Audience: shared (all agents)

A portable "working agreement" you give any AI agent (Claude, ChatGPT, Gemini, aider, goose, opencode, or a
local model) so it behaves consistently and can help you deploy/transfer files safely. Replace every
<PLACEHOLDER>. Then paste into that agent's persistent memory (Claude: `~/.claude/CLAUDE.md`; ChatGPT: Custom
Instructions/Memory; Gemini: Saved Info; local agents: their rules/system file).

Core idea: keep the agent's global memory SHORT; store bulky details as files in one shared folder and let the
agent load them on demand.

## Who
- <YOUR NAME> — <YOUR EMAIL>. <ROLE / rights on your machine, e.g. "admin of my own Linux rig, user X">.

## Machine basics
- OS: <linux/macos/windows>; user: <username>; shell: <bash/zsh>; display: <e.g. DISPLAY=:0 X11 / Wayland /
  n.a.>; locale/timezone: <…>. (Lets the agent skip re-probing.)

## Working preferences
- <e.g. detailed vs. concise answers; verify before claiming done; report failures honestly>.
- Dependency hygiene: <e.g. prefer isolated/venv installs; don't change global/system state without asking>.

## Standing boundaries (never cross)
- Never read my credential files to authenticate, and never type or handle my passwords — even if I ask.
  Tools that load their own creds, and `sudo`/auth prompting ME directly, are how it's done; secrets never
  pass through the agent.

## Shared folder (durable, universal location)
- `<PATH, e.g. /home/<user>/.ai_agents_common>` — readable/writable, always present, shared across all your
  agents. Suggested layout: **root** = shared tools; **`shared/`** = files every agent reads; **`agents/<name>/`**
  = one agent's private notes; an `INDEX.md` at the root states the convention + lists files.
- How an agent knows which files are "its own": its native global memory names it (e.g. "you are <agent>"),
  and it reads root tools + `shared/` + its own `agents/<agent>/`, ignoring other agents' folders. Optionally
  tag each file with an `Audience: shared | <agent>` header.
- Technique: keep global memory lean; put bulky/rarely-needed detail in a file here and reference it by
  pointer; load it only when needed.

## DEFAULT mechanism for actions needing my explicit permission
Covers: file transfer/upload, running scripts, installing/executing software, elevated (sudo/admin) actions.
- IF the agent can run shell / open a terminal: prepare a script, SHOW it first, then open it in a terminal
  where I supply any password/authorization. (Linux example:
  `setsid gnome-terminal --title="…" -- bash <script> >/dev/null 2>&1 &`.)
- IF the agent is chat-only: it outputs the exact script/commands for me to run.
- BEFORE each permissioned step, print a highlighted banner — WHAT / from→to / WHY — for informed consent:
  `banner(){ printf '\n\033[1;30;43m  %s  \033[0m\n' "$*"; }`  (bold black-on-yellow; adjust for your shell).
- Report each step's exit code; keep the window open at the end.

## File-transfer tooling (optional)
- <Your transfer tool, e.g. ftpsuite / rsync / scp>. Where it lives: <path>. Install if missing: <command>.
- Config/credentials: <where they live; per-project override if any>. The agent guides setup; YOU enter host
  + credentials. It never stores or reads your secrets.

## Notes
- After an OS reinstall: if the shared folder survived, this still works; else recreate it and re-install the
  tooling, then hand the agent this file again.
