docs: add AGENTS.md and model-selection guidance#31
Open
felipebalbi wants to merge 2 commits into
Open
Conversation
Introduce a comprehensive AGENTS.md at the repo root that documents the crate layout, module responsibilities, Cargo features, MSRV, coding conventions, CI commands, commit/PR rules, and the fork/branch/push workflow for AI coding agents working in this repository. Prepend a short pointer note to .github/copilot-instructions.md so agents that read it first are directed to AGENTS.md for everything beyond commit-message and AI-attribution rules. Assisted-by: GitHub Copilot:claude-opus-4.7
Adds guidance on choosing between premium and cheap models for code-assistant work, including escalation/de-escalation triggers, sub-agent routing defaults, /fleet rules, and session-hygiene tips. Keeps premium reasoning for genuinely hard problems and routes mechanical work to cheaper models. Assisted-by: GitHub Copilot:claude-opus-4.7
There was a problem hiding this comment.
Pull request overview
Adds repository-specific guidance for AI coding agents by introducing a new AGENTS.md at the repo root and linking to it from the existing Copilot instructions, with an additional section on model selection/cost discipline.
Changes:
- Add
AGENTS.mddocumenting repo layout, CI commands, constraints (MSRV/no_std/no-unsafe), and contribution workflow for agents. - Update
.github/copilot-instructions.mdto point toAGENTS.mdas the broader operational reference. - Include model-selection and cost-discipline guidance aimed at reducing unnecessary premium-model usage.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
AGENTS.md |
New comprehensive operational guide for AI agents (commands, constraints, conventions, workflow, model selection). |
.github/copilot-instructions.md |
Adds a pointer to AGENTS.md while keeping commit-message/attribution rules here authoritative. |
|
|
||
| | Module | Purpose | Key types | | ||
| |---|---|---| | ||
| | `lib.rs` | Crate entry, `CfuImage` trait, `read_from_exact` helper, `DataChunk` alias, re-export of `CfuProtocolError`. Declares `#![no_std]`. | `CfuImage`, `DataChunk` | |
Comment on lines
+270
to
+272
| - The crate-wide error enum is `protocol_definitions::CfuProtocolError`, | ||
| re-exported at the crate root with `pub use CfuProtocolError::*;`. Prefer | ||
| adding a variant there over inventing a new error type. |
Comment on lines
+320
to
+323
| - The crate currently ships **no unit tests** (the `test` CI job exists to | ||
| catch resolution/feature issues and to make adding tests trivial later). | ||
| - When you add new logic, prefer adding `#[cfg(test)] mod tests { … }` at | ||
| the bottom of the relevant module. Keep tests `no_std`-compatible where |
Comment on lines
+265
to
+266
| - Doc comments on every public item. The crate's published rustdoc is the | ||
| primary reference for downstream firmware authors. |
Comment on lines
+409
to
+410
| git -c user.name="Felipe Balbi" \ | ||
| -c user.email="felipe.balbi@microsoft.com" \ |
williampMSFT
approved these changes
May 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds an
AGENTS.mdfile (see agents.md) tailored to this repository, distilled from the project's CI workflows, configuration, source layout, and conventions. The goal is to give any AI coding agent (Copilot, Claude, Cursor, etc.) enough repo-specific context to be immediately productive without re-deriving conventions from scratch.Commit 1 —
docs: add AGENTS.md ...AGENTS.mdwith project overview, build/test/lint/fmt commands, code layout, contribution patterns, and any quirks observed (e.g.,defmtfeature constraints, nightly-onlyrustfmt.tomloptions, workspace layout)..github/copilot-instructions.mdupdated to point atAGENTS.mdas the authoritative source, so Copilot-specific configuration does not drift out of sync with the broader agent guidance. Where nocopilot-instructions.mdexisted, a minimal pointer file was added.Commit 2 —
docs(AGENTS.md): add model selection & cost discipline section/fleetrules, and session-hygiene tips. The aim is to keep premium reasoning for genuinely hard work and route mechanical edits to cheaper models, reducing wasted spend without sacrificing quality.No source code, dependencies, or CI behavior is changed by this PR — it is documentation only.
Marked as draft for review; happy to iterate on tone, scope, or any repo-specific detail that should be tightened up.
Assisted by GitHub Copilot (Claude Opus 4.7).