ggml-org/llama.cpp
How to contribute
llama.cpp is maintained by a small group of collaborators on top of a much larger pool of one-off contributors. The project deliberately keeps its review bar high, so it pays to read the contributor docs before opening a PR.
Required reading
| File | Purpose |
|---|---|
CONTRIBUTING.md |
Pull request format, coding rules, naming conventions, the AI policy |
AGENTS.md |
Detailed AI usage policy (mirrored on CLAUDE.md) |
CODEOWNERS |
Per-path code owners — your reviewers |
docs/build.md |
Reference build instructions for every backend |
tools/server/README.md |
Server scope and feature catalog |
docs/development/HOWTO-add-model.md |
The end-to-end recipe for adding a new model architecture |
AI policy summary
This project does not accept pull requests that are fully or predominantly AI-generated. AI tools may be utilized solely in an assistive capacity.
Concretely:
- Disclose AI assistance when you used it.
- Be able to explain every line you submitted, without AI help.
- Do not use AI to write PR descriptions, commit messages, or replies to reviewers.
- AI-implemented features the contributor does not understand will be closed.
The full text is in AGENTS.md. The wiki you are reading is a documentation artifact uploaded to Factory cloud — it is not a contribution to the repo and does not violate the policy.
Sub-pages
- Development workflow — branch, build, test, PR.
- Testing — what
ctestcovers and how to run the long-form CI. - Debugging — logging, common failure modes, useful tools.
- Patterns and conventions — coding style, naming, error handling.
- Tooling — the build system, lint and format tools, generators.
Definition of done
A PR is ready when it satisfies all of the following (the list is the union of CONTRIBUTING.md, the .github/pull_request_template.md, and what reviewers actually ask for):
- Builds cleanly with
cmake --build buildon at least one platform you care about. - Runs
ctest --test-dir build --output-on-failureclean. - If
ggml/was touched,tests/test-backend-ops.cpppasses for the backends you support. - If a new model or quant type is added, you have run
llama-perplexityandllama-benchand posted comparison numbers (seeCONTRIBUTING.md). - The PR title is in the form
<module> : <commit title> (#<issue_number>). - The PR description is human-written and concise.
- You have searched existing issues and PRs for duplicates.
- For new contributors: only one open PR at a time.
For per-subsystem ownership see Maintainers.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.
Previous
Fun facts
Next
Development workflow