issues: file #32 (release install)

8a4be3dgl0w

all commits

Message

issues: file #32 (release install)

Diff

.forge/issues/76bbdedd-73b6-4439-a1b8-d3292603569a/issue.md+52 −0
diff --git a/.forge/issues/76bbdedd-73b6-4439-a1b8-d3292603569a/issue.md b/.forge/issues/76bbdedd-73b6-4439-a1b8-d3292603569a/issue.mdnew file mode 100644index 0000000..c9de441--- /dev/null+++ b/.forge/issues/76bbdedd-73b6-4439-a1b8-d3292603569a/issue.md@@ -0,0 +1,52 @@1+---2+id: 76bbdedd-73b6-4439-a1b8-d3292603569a3+title: 'release install: first-class install (latest|ver|main); tags + AGENTS.md + skill line'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T08:17:21.108923046Z9+updated: null10+---11+DECISION (owner greenlit 2026-09-08): install becomes first-class.12+Gap: an agent asked to install f0rge from a clone on another machine13+"had to look a lot"; install should be a discoverable, one-command14+act. RESOLVED SHAPE (discussed + agreed):15+16+- `f0rge release install`          -> latest release record17+- `f0rge release install <ver>`    -> pinned (needs git tags)18+- `f0rge release install main`     -> current/main checkout (fast19+  moving)20+Move lives under the RELEASE family (command tree mirrors folder21+tree: .forge/releases/build/ exists, no .forge/build/ -> no new22+top-level `f0rge build` verb; gh has no build verb either).23+Install is a LOCAL machine op (mutates ~/.cargo/bin), NOT a CI step24+and NOT forge state.25+26+Mechanics (boring, no new deps, no artifact hosting):27+- resolve ref: latest = newest .forge/releases/<ver>.md; <ver> =28+  git tag vX.Y.Z (create tags at the commit that added each record,29+  e.g. `git log --format=%H -- .forge/releases/v0.1.0.md`); main =30+  current HEAD.31+- if .forge/releases/build/<ver>/f0rge prebuilt binary exists: copy32+  it to ~/.cargo/bin/f0rge (instant install); else `cargo install33+  --locked` from that ref (compile install).34+- print installed path + sha (md5) + ref.35+- 03_release.sh (CI build step) additionally copies36+  target/release/f0rge -> releases/build/<ver>/f0rge so built37+  releases have an artifact (dir gitignored; records already carry38+  status built|none derived from out/<ver>/ per spec).39+- tags v0.1.0 + v0.1.1 created at their record commits.40+41+Docs:42+- .forge/wiki/docs/AGENTS.md gains an "Install" section (no byte43+  cap; this is the bootstrap-level discoverability that must work44+  BEFORE a binary exists to run --skill): from clone, from main,45+  from version.46+- skill (SKILL_TEXT + skill/skill.md body) gains ONE line:47+  "install: f0rge release install [ver|main]" (~38B; current 949B48+  -> ~987B, still <= 1000B cap; golden test holds).49+50+DONE: all three install modes work in a temp home; tags exist;51+AGENTS.md section; skill line present; budget + golden tests pass;52+full suite green; `f0rge release install` prints path+sha+ref.