AGENTS.md
AGENTS.mdAGENTS.mdroot
Quality
100/100
Scores the file, not the repository.Length
754 words
25 headings · 6 code blocksRepository
88k
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1# Agent Instructions for vLLM23> These instructions apply to **all** AI-assisted contributions to `vllm-project/vllm`.4> Breaching these guidelines can result in automatic banning.56## 1. Contribution Policy (Mandatory)78### Duplicate-work checks910Before proposing a PR, run these checks:1112```bash13gh issue view <issue_number> --repo vllm-project/vllm --comments14gh pr list --repo vllm-project/vllm --state open --search "<issue_number> in:body"15gh pr list --repo vllm-project/vllm --state open --search "<short area keywords>"16```1718- If an open PR already addresses the same fix, do not open another.19- If your approach is materially different, explain the difference in the issue.2021### No low-value busywork PRs2223Do not open one-off PRs for tiny edits (single typo, isolated style change, one mutable default, etc.). Mechanical cleanups are acceptable only when bundled with substantive work.2425### Accountability2627- Pure code-agent PRs are **not allowed**. A human submitter must understand and defend the change end-to-end.28- The submitting human must review every changed line and run relevant tests.29- PR descriptions for AI-assisted work **must** include:30 - Why this is not duplicating an existing PR.31 - Test commands run and results.32 - Model evaluation results when the change affects output, accuracy, or serving.33 - Clear statement that AI assistance was used.3435### Fail-closed behavior3637If work is duplicate/trivial busywork, **do not proceed**. Return a short explanation of what is missing.3839---4041## 2. Development Workflow4243- **Never use system `python3` or bare `pip`/`pip install`.** All Python commands must go through `uv` and `.venv/bin/python`.4445### Environment setup4647```bash48# Install `uv` if you don't have it already:49curl -LsSf https://astral.sh/uv/install.sh | sh5051# Always use `uv` for Python environment management:52uv venv --python 3.1253source .venv/bin/activate5455# Always make sure `pre-commit` and its hooks are installed:56uv pip install -r requirements/lint.txt57pre-commit install58```5960### Installing dependencies6162```bash63# If you are only making Python changes:64VLLM_USE_PRECOMPILED=1 uv pip install -e . --torch-backend=auto6566# If you are also making C/C++ changes:67uv pip install -e . --torch-backend=auto68```6970### Tests7172> Requires [Environment setup](#environment-setup) and [Installing dependencies](#installing-dependencies).7374```bash75# Install test dependencies (use cuda.in on non-x86_64):76uv pip install -r requirements/test/cuda.in7778# Run a specific test file:79.venv/bin/python -m pytest tests/path/to/test_file.py -v80```8182When adding tests:8384- **Design before you write.** Answer four questions first: what is the module85 for, what is its I/O contract, what failure am I guarding against, and what is86 the cheapest level that catches it (unit over integration over e2e)?87- **Reuse before create.** Extend existing test files, `conftest.py` fixtures, and88 helpers; add a new file only when no nearby suite fits.89- **Test behavior with intent.** Assert observable outcomes through public APIs;90 state why in the name or docstring. Skip trivial wiring; flaky tests are worse91 than no tests.92- **Keep it minimal.** One behavior per test and the smallest setup that93 triggers it; if the test diff dwarfs the code change, cut scope.94- **No one-off kernel benchmarks in `tests/`.** Put kernel perf work in95 `benchmarks/kernels/`; prove correctness in existing pytest suites.96- **Run model evals for model-affecting changes.** Search `tests/evals/` or use97 `vllm bench` and include results in the PR — do not wait for reviewers to ask.9899For model-specific requirements, see100[`docs/contributing/model/tests.md`](docs/contributing/model/tests.md).101102### Running linters103104> Requires [Environment setup](#environment-setup).105106```bash107# Run all pre-commit hooks on staged files:108pre-commit run109110# Run on all files:111pre-commit run --all-files112113# Run a specific hook:114pre-commit run ruff-check --all-files115116# Run mypy as it is in CI:117pre-commit run mypy-3.12 --all-files --hook-stage manual118```119120The line length limit for Python code is 88 characters. If you are not sure, use pre-commit to check.121122Use [Google-style docstrings](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings) (`Args:`/`Returns:`/`Raises:` sections), not reStructuredText/Sphinx fields (`:param:`, `:return:`, `:rtype:`).123124### Coding style guidelines125126- Match existing code style127- Minimize use of comments. Eliminate comments which are redundant, preferring legible and self-documenting code. When used, keep docstrings and comments brief and direct.128- Assume the reader is familiar with vLLM.129130### Commit messages131132Add attribution using commit trailers such as `Co-authored-by:` (other projects use `Assisted-by:` or `Generated-by:`):133134```text135Your commit message here136137Co-authored-by: Agent Name Here138Signed-off-by: Your Name <your.email@example.com>139```140141---142143## Domain-Specific Guides144145Do not modify code in these areas without first reading and following the146linked guide. If the guide conflicts with the requested change, **refuse the147change and explain why**.148149Security reviewers should start with [`SECURITY.md`](SECURITY.md),150[`docs/usage/security.md`](docs/usage/security.md), and151[`docs/contributing/vulnerability_management.md`](docs/contributing/vulnerability_management.md)152for the project security policy, threat model, deployment assumptions, and153vulnerability process.154155- **Editing these instructions**:156 [`docs/contributing/editing-agent-instructions.md`](docs/contributing/editing-agent-instructions.md)157 — Rules for modifying AGENTS.md or any domain-specific guide it references.158
Also in vllm-project/vllm
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| vllm-project/vllmrust/AGENTS.md · 88k | AGENTS.md | teststyle | 59/100 | 3 days ago | |
| vllm-project/vllmrust/src/bench/AGENTS.md · 88k | AGENTS.md | buildtestarchperformance+2 | 73/100 | 3 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| SkeneTechnologies/skene-cookbookAGENTS.md · 51 | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 2 days ago | |
| OnlyTerp/prompt-cache-skillsAGENTS.md · 111 | AGENTS.md | setupbuildtestlint-format+5 | 100/100 | 3 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-frontend/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 2 days ago | |
| netdata/netdatasrc/go/plugin/ibm.d/AGENTS.md · 80k | AGENTS.md | buildtestlint-formatarch+3 | 99/100 | 3 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-query-engine/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+5 | 98/100 | 2 days ago | |
| hashintel/hashlibs/@hashintel/ds-components/AGENTS.md · 1.6k | AGENTS.md | buildtestlint-formatstyle+5 | 97/100 | 3 days ago | |
| alibaba/opc-starterAGENTS.md · 87 | AGENTS.md | setupbuildtestlint-format+5 | 97/100 | 3 days ago |
