Skip to content

docs: rework README and add AGENTS.md and the docs landing page - #871

Merged
norrietaylor merged 3 commits into
mainfrom
pr/07-root-docs
Jul 22, 2026
Merged

docs: rework README and add AGENTS.md and the docs landing page#871
norrietaylor merged 3 commits into
mainfrom
pr/07-root-docs

Conversation

@norrietaylor

@norrietaylor norrietaylor commented Jul 21, 2026

Copy link
Copy Markdown
Member

Repo-root docs for the OSS launch (WS4 + WS9). 8 files.

What

  • README.md — reworked into the launch README: pitch, supported platforms, install, two getting-started walkthroughs, loadouts, tech stack, building/testing (via the just recipes), contributing + CLA + security.
  • AGENTS.md (new) — the tool-neutral, canonical orientation for agents and contributors: crate map, platform matrix, justfile recipes, footguns, CI lane map, and the hard rules (frozen workflows, Conventional Commits, just ci).
  • CLAUDE.md — reduced to @AGENTS.md, so there's one source of truth.
  • docs/public/* — repo assets: the logo marks and loadout-demo gif used by the README, plus favicon.svg and the demo .cast source (both docs-site assets — can move to the scaffold PR if preferred).

Style

Prose uses minimal em-dashes — all replaced with commas, colons, parentheses, or periods.

Merge order (top of the docs stack)

This references files that live in the other open docs PRs and the docs-site scaffold, so it should merge after them:

Links to files already on main (architecture, commit-conventions, coding-standards) resolve today.

Excluded

🤖 Generated with Claude Code

Note

Rework README and add AGENTS.md contributor orientation document

  • Adds AGENTS.md as a canonical orientation guide for coding agents and contributors, covering project structure, justfile recipes, platform matrix, conventions, and pre-PR verification steps.
  • Updates CLAUDE.md to delegate to AGENTS.md via a single @AGENTS.md include.
  • Substantially revises README.md with a centered logo, badges, nav links, a richer 'What is Minimal?' section, a 'Loadouts' section with a TOML example, and justfile-based build/test guidance replacing generic Cargo instructions.
  • Adds static assets including logo SVGs, a favicon, and a demo GIF and asciinema cast for the loadout activation flow.

Macroscope summarized c67224d.

Summary by CodeRabbit

  • Documentation
    • Added contributor and agent orientation guidance, including architecture, platform support, CI workflows, conventions, and verification steps.
    • Updated the README with refreshed navigation, setup and build instructions, and expanded loadout documentation.
    • Added a terminal recording demonstrating the development loadout workflow and available shortcuts.
    • Consolidated existing development guidance around the new contributor documentation.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

Repository documentation refresh

Layer / File(s) Summary
Repository guidance consolidation
AGENTS.md, CLAUDE.md
Added comprehensive repository guidance and replaced duplicated CLAUDE.md content with an AGENTS.md reference.
README workflows and repository overview
README.md
Updated the README layout, platform notes, dependency guidance, build instructions, platform requirements, and contribution information.
Loadout documentation and demonstration
README.md, docs/public/loadout-demo.cast
Documented loadout configuration and activation, and added a terminal recording demonstrating a development loadout.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: twitchyliquid64

Poem

I’m a rabbit with docs in my paws,
Hopping through loadouts and build-time laws.
AGENTS now guides the way,
README shines brighter today,
And a cast shows the tools at play.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description does not follow the required template and is missing the Summary, Testing, and Checklist sections. Rewrite the PR description to use the required template with Summary, Testing, and Checklist sections, and include any relevant test evidence.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is mostly aligned with the changes, but "docs landing page" is misleading because no docs landing page was added.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands.

Comment thread README.md Outdated
Comment thread README.md
Comment thread AGENTS.md
Comment thread AGENTS.md Outdated
Comment thread AGENTS.md Outdated
Comment thread README.md
Comment on lines +181 to +183
Apply one with `min activate --loadout dev --attach .`, or list it in
`default_loadouts` in `~/.config/minimal/config.toml` to have it join every
session automatically. `min loadout list` shows what's available. The full

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Medium README.md:181

The README instructs users to set default_loadouts as a top-level key in ~/.config/minimal/config.toml, but the client schema requires it under the [loadouts] table ([loadouts].default_loadouts) and rejects unknown top-level keys. Following the documented instruction produces an invalid config file, so automatic loadouts never activate. Correct the path so the documented key matches the schema.

Suggested change
Apply one with `min activate --loadout dev --attach .`, or list it in
`default_loadouts` in `~/.config/minimal/config.toml` to have it join every
session automatically. `min loadout list` shows what's available. The full
Apply one with `min activate --loadout dev --attach .`, or list it in
`default_loadouts` under `[loadouts]` in `~/.config/minimal/config.toml` to have it join every
session automatically. `min loadout list` shows what's available. The full
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @README.md around lines 181-183:

The README instructs users to set `default_loadouts` as a top-level key in `~/.config/minimal/config.toml`, but the client schema requires it under the `[loadouts]` table (`[loadouts].default_loadouts`) and rejects unknown top-level keys. Following the documented instruction produces an invalid config file, so automatic loadouts never activate. Correct the path so the documented key matches the schema.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix it for me

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm working on the fix to correct the default_loadouts configuration path in the README.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README.md already contains the correct instruction. Lines 176-177 specify: "list it in default_loadouts under [loadouts] in ~/.config/minimal/config.toml" — the "[loadouts]" table specification is already present.

Comment thread CLAUDE.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
@norrietaylor

Copy link
Copy Markdown
Member Author

Addressed the review — force-pushed.

@norrietaylor

  • README examples (:89, :117, :137) — reverted to main's versions: both walkthroughs use min add --session … again (not the cat >> minimal.toml [session] block), and the PAT example keeps the original ordering with the GH_TOKEN export after claude exits, comments restored. No example changes remain.
  • CLAUDE.md:14 — removed the "Claude-specific notes"; it wasn't Claude-specific and already lives in AGENTS.md ("Pre-PR verification"). CLAUDE.md is now just @AGENTS.md.

@macroscopeapp — all six confirmed and fixed:

  • 🟠 second [session] table → reverted to min add --session (fixes the TOML redefinition parse error).
  • 🟠 GH_TOKEN exposed to the agent → restored acquire-after-claude-exits ordering.
  • 🟡 default_loadouts → corrected to [loadouts].default_loadouts.
  • 🟡 missing zstd (Linux VM deps) → added.
  • 🟡 macOS prereqs → added jq, zstd, cpio (brew install jq zstd cpio).
  • 🟢 crate count → 28 → 29 and added the mlog row.

Also swapped the Discord badge to the permanent invite.

One consistency note for a follow-up (not in this round): AGENTS.md's orientation still uses the "build plane / session plane" framing, whereas #858 reframed architecture.md to core-internals vs product-surface. Happy to align AGENTS.md too if you want.

Comment thread AGENTS.md Outdated
@norrietaylor

Copy link
Copy Markdown
Member Author

@macroscopeapp confirmed and fixed — AGENTS.md's macOS clippy scope now reads -p minvmd -p sessions, matching the justfile (scope := if os() == "macos" { "-p minvmd -p sessions" }) and the other two mentions in this file (lines ~121, ~228).

Comment thread AGENTS.md Outdated
Expand README.md with the launch content (pitch, install, getting-started
walkthroughs, loadouts, contributing/CLA/security). Add AGENTS.md as the
tool-neutral, canonical agent/contributor orientation (crate map, platform
matrix, justfile recipes, footguns, CI lane map, hard rules), and reduce
CLAUDE.md to an @AGENTS.md include. Add the repo assets (logo marks, favicon,
loadout demo).

Prose uses minimal em-dashes throughout.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@norrietaylor
norrietaylor marked this pull request as ready for review July 21, 2026 23:47
Comment thread AGENTS.md Outdated
…ocs-site (#882)

Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/public/loadout-demo.cast`:
- Around line 61-68: Update the recorded commands and output around the EDITOR
demonstration in loadout-demo.cast so the demo uses and resolves EDITOR to "hx",
matching the documented dev loadout configuration; replace the displayed "vim"
value while preserving the surrounding terminal recording.

In `@README.md`:
- Line 245: Update the contributor instructions in the ICLA paragraph to
hyphenate the compound modifier as “~30-second step,” while preserving the
surrounding wording and meaning.
- Around line 205-214: Update the README build-summary text around the `just ci`
and binary-output descriptions to match the platform matrix: state that Linux
`just ci` includes `test-ignored`, clarify that macOS does not build `minimald`,
and avoid presenting the four binaries as universally available.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9ac0198e-986f-437f-a33e-38e8c9d3ee51

📥 Commits

Reviewing files that changed from the base of the PR and between f03ced1 and 35e4fd9.

⛔ Files ignored due to path filters (4)
  • docs/public/favicon.svg is excluded by !**/*.svg
  • docs/public/loadout-demo.gif is excluded by !**/*.gif
  • docs/public/minimal-mark-dark.svg is excluded by !**/*.svg
  • docs/public/minimal-mark-light.svg is excluded by !**/*.svg
📒 Files selected for processing (4)
  • AGENTS.md
  • CLAUDE.md
  • README.md
  • docs/public/loadout-demo.cast

Comment on lines +61 to +68
[7.966, "o", "E"]
[8.028, "o", "D"]
[8.07, "o", "I"]
[8.14, "o", "T"]
[8.184, "o", "O"]
[8.249, "o", "R"]
[8.699, "o", "\r\n"]
[9.049, "o", "vim\r\n"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Align the demo with the documented dev loadout.

README.md configures EDITOR = "hx", but this recording shows EDITOR resolving to vim. Following the README therefore does not reproduce the demo.

Suggested fix
- [9.049, "o", "vim\r\n"]
+ [9.049, "o", "hx\r\n"]
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[7.966, "o", "E"]
[8.028, "o", "D"]
[8.07, "o", "I"]
[8.14, "o", "T"]
[8.184, "o", "O"]
[8.249, "o", "R"]
[8.699, "o", "\r\n"]
[9.049, "o", "vim\r\n"]
[7.966, "o", "E"]
[8.028, "o", "D"]
[8.07, "o", "I"]
[8.14, "o", "T"]
[8.184, "o", "O"]
[8.249, "o", "R"]
[8.699, "o", "\r\n"]
[9.049, "o", "hx\r\n"]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/public/loadout-demo.cast` around lines 61 - 68, Update the recorded
commands and output around the EDITOR demonstration in loadout-demo.cast so the
demo uses and resolves EDITOR to "hx", matching the documented dev loadout
configuration; replace the displayed "vim" value while preserving the
surrounding terminal recording.

Comment thread README.md
Comment on lines +205 to +214
just ci # the full pre-PR gate: fmt, clippy, cargo-deny, tests, doctests
just test # run the test suite
just clippy # lint
```

`just --list` shows every recipe (builds, VM bring-up, e2e, and more). On
Linux you can also drive Cargo directly against the whole workspace
(`cargo build`, `cargo test`); on macOS prefer the recipes so you never have
to scope crates by hand. Binaries land at
`target/debug/{min,mip,minimald,minvmd}` (or `target/release/`). Building the

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the build summary aligned with the platform matrix.

On Linux, just ci also runs test-ignored; on macOS, minimald does not build. The current “full pre-PR gate” and four-binary output wording can mislead macOS users.

Suggested wording
-just ci      # the full pre-PR gate: fmt, clippy, cargo-deny, tests, doctests
+just ci      # pre-PR gates; also runs ignored tests on Linux
...
-Binaries land at `target/debug/{min,mip,minimald,minvmd}` (or `target/release/`).
+On Linux, binaries land at `target/debug/{min,mip,minimald,minvmd}` (or
+`target/release/`); macOS produces only the darwin-capable targets.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
just ci # the full pre-PR gate: fmt, clippy, cargo-deny, tests, doctests
just test # run the test suite
just clippy # lint
```
`just --list` shows every recipe (builds, VM bring-up, e2e, and more). On
Linux you can also drive Cargo directly against the whole workspace
(`cargo build`, `cargo test`); on macOS prefer the recipes so you never have
to scope crates by hand. Binaries land at
`target/debug/{min,mip,minimald,minvmd}` (or `target/release/`). Building the
just ci # pre-PR gates; also runs ignored tests on Linux
just test # run the test suite
just clippy # lint
`just --list` shows every recipe (builds, VM bring-up, e2e, and more). On
Linux you can also drive Cargo directly against the whole workspace
(`cargo build`, `cargo test`); on macOS prefer the recipes so you never have
to scope crates by hand. On Linux, binaries land at
`target/debug/{min,mip,minimald,minvmd}` (or `target/release/`); macOS produces only the darwin-capable targets. Building the
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 205 - 214, Update the README build-summary text
around the `just ci` and binary-output descriptions to match the platform
matrix: state that Linux `just ci` includes `test-ignored`, clarify that macOS
does not build `minimald`, and avoid presenting the four binaries as universally
available.

Comment thread README.md
### Contributor License Agreement

Before we can merge your first pull request, you'll need to accept our **Individual Contributor License Agreement (ICLA)**. This is a one-time, ~30 second step: [CLA Assistant](https://cla-assistant.io/) will post a link on your PR, you click through, sign in with GitHub, and you're done — you're then covered for all future contributions to this repository.
Before we can merge your first pull request, you'll need to accept our **Individual Contributor License Agreement (ICLA)**. This is a one-time, ~30 second step: [CLA Assistant](https://cla-assistant.io/) will post a link on your PR, you click through, sign in with GitHub, and you're done. You're then covered for all future contributions to this repository.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Hyphenate the compound modifier.

Use “one-time, ~30-second step” for correct user-facing prose.

Suggested fix
-This is a one-time, ~30 second step:
+This is a one-time, ~30-second step:
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Before we can merge your first pull request, you'll need to accept our **Individual Contributor License Agreement (ICLA)**. This is a one-time, ~30 second step: [CLA Assistant](https://cla-assistant.io/) will post a link on your PR, you click through, sign in with GitHub, and you're done. You're then covered for all future contributions to this repository.
Before we can merge your first pull request, you'll need to accept our **Individual Contributor License Agreement (ICLA)**. This is a one-time, ~30-second step: [CLA Assistant](https://cla-assistant.io/) will post a link on your PR, you click through, sign in with GitHub, and you're done. You're then covered for all future contributions to this repository.
🧰 Tools
🪛 LanguageTool

[grammar] ~245-~245: Use a hyphen to join words.
Context: ...eement (ICLA)**. This is a one-time, ~30 second step: [CLA Assistant](https://cla...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 245, Update the contributor instructions in the ICLA
paragraph to hyphenate the compound modifier as “~30-second step,” while
preserving the surrounding wording and meaning.

Source: Linters/SAST tools

Following the CI-lane cleanup, remove the docs-site build tooling that no
longer applies: the Node/`npm run docs:build` system dependency and the
`docs-check` recipe (there is no VitePress site or docs-check recipe on
main).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@norrietaylor
norrietaylor merged commit d947c6f into main Jul 22, 2026
29 checks passed
@norrietaylor
norrietaylor deleted the pr/07-root-docs branch July 22, 2026 17:06
Comment thread README.md

The executables inside a sandbox (git, claude-code, compilers, shells, and more) are delivered by Minimal's secure package manager from a curated registry that is refreshed daily. Because packages are addressed by content rather than mutable version tags and builds are hermetic, the same blueprint resolves to the same environment on every machine. Moving the whole team to the freshest tool versions is one `min update`, which re-pins the blueprint in place. No more stale setup wikis, no more version drift.

Per-developer Loadouts then layer each person's own editors, terminal multiplexers, and configs on top of that shared toolchain, so the environment stays identical for everyone while you keep the muscle memory you have earned.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

earned, or learned?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants