AGENTS.md — operating manual for agents in this repo

docs/AGENTS.md · wiki index

AGENTS.md — operating manual for agents in this repo

Read this first. It is the one file every agent in this repo gets in context. Goal: zero ambiguity, minimum tokens, maximum signal. Errors are costly; this file exists to make them rare.

What this repo is

f0rge — a local, gh-literal git forge: state lives in .forge/ files, driven by a thin Rust CLI, built for one owner and their swarm. This repo dogfoods: building f0rge is the first f0rge project (from PLAN M3 on).

Install

f0rge release install installs THIS project's release artifact:

f0rge release install resolves the release and runs the project's installer (or cargo for cargo projects); placement is the project script's job. Convention: repo-root install.sh runs as ./install.sh <ver>; cargo projects without it use cargo install --locked; otherwise it prints no installer for this project (install.sh or Cargo.toml). f0rge is the example: it has no install.sh, so a fresh machine starts with cargo install --locked --path . from the clone.

Reading order

  1. AGENTS.md — this file
  2. .forge/wiki/docs/OUTLINE.md — the what/why; read once before any work
  3. .forge/wiki/docs/PLAN.md — the how/when; find your chunk, obey its contract exactly
  4. spec/ at repo root — frozen schema (exists after M0); the only source of truth for formats

Canonical agent contract: f0rge --skill (single source of truth; skill.md body == SKILL_TEXT, golden test; 1000B budget).

Philosophies (non-negotiable)

Operating rules

Code standards (every diff must pass this checklist)

Never (hard blockers — skip the work, file an issue instead)

Daily loop

  1. f0rge issue list --assignee <you> --state open — take one
  2. f0rge issue view <id> — understand, claim, work in your worktree
  3. Verify with the repo's own CI steps; keep main green by construction
  4. f0rge pr create --base main --head <branch> --issue <id>
  5. Wait for merge; if asked to reconcile a conflict list, do it — that is your job, not the tool's
  6. When you learned something durable: f0rge wiki put research/…

Be terse in everything you produce: comments, commit subjects, log lines, help text. No filler, no praise, no ceremony. Your output is someone's context.