agentleFS
vllm-projectvllm-project/vllm-metal/AGENTS.md

vllm-metal

AGENTS.md2k starsChanged 10 days agoApache-2.0View on GitHub

Follow the contributor guide for setup and general checks. For Omni additions, follow the model ownership and layout. Before opening a PR, search open PRs by topic. When working from an issue, read its comments and search for PRs referencing it: Do not open a duplicate PR. Explain any materially different approach in the PR description. Run checks relevant to the change. Report the commands, results, and any checks you could not run in the PR description. Extend related test…

Trending

More talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 8 mentionsFeb 2026: 1 mentionMar 2026: 3 mentionsApr 2026: 2 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 2 mentionsAug 2026: 3 mentionsSep 2026: 7 mentionsOct 2026: 8 mentionsNov 2026: 2 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the vllm-project/vllm-metal repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about vllm-project/vllm-metal

The biggest 5 of 36 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 36

Talked about on GitHub and Bluesky (36 times).

On GitHub · 35

30 more on GitHub
  • Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.

    Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.

The file

We split this AGENTS.md into the rules it gives an agent

12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Follow the contributor guide for setup and general checks.

    line 3
  2. Very specific:

    When creating an issue, always use available templates from .github/ISSUE_TEMPLATE/, following its structure and required fields.

    line 10
  3. Distinctive:

    Before opening a PR, search open PRs by topic.

    line 14
  4. Distinctive:

    Do not open a duplicate PR.

    line 22
  5. Distinctive:

    Keep changes focused; avoid unrelated refactors and cleanups.

    line 27
  6. Distinctive:

    Keep one-off experiments, debug harnesses, and low-value tests local, outside the PR.

    line 29
  7. Distinctive:

    Prefer legible, self-documenting code.

    line 31
  8. Distinctive:

    Run checks relevant to the change.

    line 35
  9. Very specific:

    No one-off kernel benchmarks in tests/: Put kernel perf work in tools/benchmark/.

    line 47
  10. Very specific:

    Always set PYTORCH_ENABLE_MPS_FALLBACK=0 for MPS runs to disable PyTorch's optional CPU fallback.

    line 53
  11. Distinctive:

    Test the algorithm's correctness properties, including exact verifier results for fixed target logits.

    line 62
  12. Distinctive:

    Use a short, imperative subject describing the change.

    line 68

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Agent instructions for vllm-metal

Follow the contributor guide for setup and general checks. For Omni additions, follow the model ownership and layout.

Motivation

  • Address real problems backed by a reproducer, measurements, or a concrete user need. Avoid fixes justified only by hypothetical failures.
  • State the motivation clearly in the PR description: the current behavior, the affected use case, and why the issue matters in practice.
  • When creating an issue, always use available templates from .github/ISSUE_TEMPLATE/, following its structure and required fields.

Duplicate-work checks

Before opening a PR, search open PRs by topic. When working from an issue, read its comments and search for PRs referencing it:

gh pr list --repo vllm-project/vllm-metal --state open --search "<short area keywords>"
gh issue view <issue_number> --repo vllm-project/vllm-metal --comments
gh pr list --repo vllm-project/vllm-metal --state open --search "<issue_number> in:body"

Do not open a duplicate PR. Explain any materially different approach in the PR description.

Coding style

  • Match existing code style.
  • Keep changes focused; avoid unrelated refactors and cleanups.
  • Reuse existing utilities. Add helpers or abstraction layers only when they serve a concrete current need.
  • Keep one-off experiments, debug harnesses, and low-value tests local, outside the PR. Include durable regression tests and necessary fixtures.
  • Validate inputs at boundaries. Keep unexpected failures visible; avoid broad exception handling or fallback values that conceal broken internal contracts.
  • Prefer legible, self-documenting code. Remove redundant comments. Use comments for non-obvious intent or constraints, and keep comments and docstrings brief and direct.

Validation

Run checks relevant to the change. Report the commands, results, and any checks you could not run in the PR description.

Extend related test suites. Test observable behavior rather than locking in implementation details.

Test design

When adding tests:

  • Design before you write. Answer four questions first: what is the module for, what is its I/O contract, what failure am I guarding against, and what is the cheapest level that catches it (unit over integration over e2e)?
  • Reuse before create. Extend existing test files, conftest.py fixtures, and helpers; add a new file only when no nearby suite fits.
  • Test behavior with intent. Assert observable outcomes through public APIs; state why in the name or docstring. Skip trivial wiring; flaky tests are worse than no tests.
  • Keep it minimal. One behavior per test and the smallest setup that triggers it; if the test diff dwarfs the code change, cut scope.
  • No one-off kernel benchmarks in tests/. Put kernel perf work in tools/benchmark/; prove correctness in existing pytest suites.

Model parity and benchmarks

For model changes, use parity tools with matching checkpoints and input token IDs.

Always set PYTORCH_ENABLE_MPS_FALLBACK=0 for MPS runs to disable PyTorch's optional CPU fallback.

  • MLX and PyTorch MPS: compare top-K parity against mlx_lm using the parity tool with --top-k 5. Set VLLM_METAL_BACKEND=mps to check PyTorch MPS serving. Report EXACT and TOP_K_MATCH counts separately and investigate failures. Parity checks may be unreliable for MoE models. When mismatches occur, investigate routing flips between experts with nearly tied scores.

For performance improvements, report before/after end-to-end serving speedup on meaningful workloads using vllm bench serve. Follow the macOS benchmarking guide and keep the model, workload, and serving configuration consistent between runs.

Speculative decoding

  • Compare fresh greedy runs with speculative decoding enabled and disabled, using the same inputs and settings. Accept EXACT or mutual TOP_K_MATCH at the first divergence (--top-k 5); require zero FAIL.
  • Test the algorithm's correctness properties, including exact verifier results for fixed target logits. For draft-model speculation, use the same checkpoint for draft and target under greedy decoding; acceptance should be near 100%. Report the measured rate and investigate substantial rejections.
  • Evaluate acceptance rate and speedup on natural datasets such as RedHatAI/speculator_benchmarks, prepared with the dataset builder. Artificial workloads such as sonnet can produce unrealistically low acceptance rates.
  • Demonstrate end-to-end speedup at batch size B=1. Speedup at B>1 is harder but still expected; benchmark both with the benchmark tools. Report the tested batch sizes, representative workloads, and any regressions.

Commit messages

  • Use a short, imperative subject describing the change. Explain the reason in the body when it is not obvious.
  • Sign off commits with git commit -s. Add Co-authored-by: trailers when applicable.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.