---
id: 76bbdedd-73b6-4439-a1b8-d3292603569a
title: 'release install: first-class install (latest|ver|main); tags + AGENTS.md + skill line'
state: closed
labels: []
assignees: []
milestone: null
created: 2026-09-08T08:17:21.108923046Z
updated: 2026-09-08T08:30:23.932424478Z
---
DECISION (owner greenlit 2026-09-08): install becomes first-class.
Gap: an agent asked to install f0rge from a clone on another machine
"had to look a lot"; install should be a discoverable, one-command
act. RESOLVED SHAPE (discussed + agreed):

- `f0rge release install`          -> latest release record
- `f0rge release install <ver>`    -> pinned (needs git tags)
- `f0rge release install main`     -> current/main checkout (fast
  moving)
Move lives under the RELEASE family (command tree mirrors folder
tree: .forge/releases/build/ exists, no .forge/build/ -> no new
top-level `f0rge build` verb; gh has no build verb either).
Install is a LOCAL machine op (mutates ~/.cargo/bin), NOT a CI step
and NOT forge state.

Mechanics (boring, no new deps, no artifact hosting):
- resolve ref: latest = newest .forge/releases/<ver>.md; <ver> =
  git tag vX.Y.Z (create tags at the commit that added each record,
  e.g. `git log --format=%H -- .forge/releases/v0.1.0.md`); main =
  current HEAD.
- if .forge/releases/build/<ver>/f0rge prebuilt binary exists: copy
  it to ~/.cargo/bin/f0rge (instant install); else `cargo install
  --locked` from that ref (compile install).
- print installed path + sha (md5) + ref.
- 03_release.sh (CI build step) additionally copies
  target/release/f0rge -> releases/build/<ver>/f0rge so built
  releases have an artifact (dir gitignored; records already carry
  status built|none derived from out/<ver>/ per spec).
- tags v0.1.0 + v0.1.1 created at their record commits.

Docs:
- .forge/wiki/docs/AGENTS.md gains an "Install" section (no byte
  cap; this is the bootstrap-level discoverability that must work
  BEFORE a binary exists to run --skill): from clone, from main,
  from version.
- skill (SKILL_TEXT + skill/skill.md body) gains ONE line:
  "install: f0rge release install [ver|main]" (~38B; current 949B
  -> ~987B, still <= 1000B cap; golden test holds).

DONE: all three install modes work in a temp home; tags exist;
AGENTS.md section; skill line present; budget + golden tests pass;
full suite green; `f0rge release install` prints path+sha+ref.
