mirror of
https://github.com/mudler/LocalAI.git
synced 2026-04-30 03:55:58 -04:00
Align LocalAI with the Linux kernel project's policy for AI-assisted contributions (https://docs.kernel.org/process/coding-assistants.html). - Add .agents/ai-coding-assistants.md with the full policy adapted to LocalAI's MIT license: no Signed-off-by or Co-Authored-By from AI, attribute AI involvement via an Assisted-by: trailer, human submitter owns the contribution. - Surface the rules at the entry points: AGENTS.md (and its CLAUDE.md symlink) and CONTRIBUTING.md. - Publish a user-facing reference page at docs/content/reference/ai-coding-assistants.md and link it from the references index. Assisted-by: Claude:claude-opus-4-7
80 lines
3.8 KiB
Markdown
80 lines
3.8 KiB
Markdown
|
|
+++
|
|
disableToc = false
|
|
title = "AI Coding Assistants"
|
|
weight = 28
|
|
+++
|
|
|
|
This document provides guidance for AI tools and developers using AI assistance when contributing to LocalAI.
|
|
|
|
**LocalAI follows the same guidelines as the Linux kernel project for AI-assisted contributions.** See the upstream policy here: <https://docs.kernel.org/process/coding-assistants.html>. The rules below mirror that policy, adapted to LocalAI's license and project layout.
|
|
|
|
AI tools helping with LocalAI development should follow the standard project development process:
|
|
|
|
- [CONTRIBUTING.md](https://github.com/mudler/LocalAI/blob/master/CONTRIBUTING.md) — development workflow, commit conventions, and PR guidelines
|
|
- [AGENTS.md](https://github.com/mudler/LocalAI/blob/master/AGENTS.md) — the agent entry point with links to all detailed topic guides
|
|
- [.agents/ai-coding-assistants.md](https://github.com/mudler/LocalAI/blob/master/.agents/ai-coding-assistants.md) — the full policy source of truth
|
|
|
|
## Licensing and Legal Requirements
|
|
|
|
All contributions must comply with LocalAI's licensing requirements:
|
|
|
|
- LocalAI is licensed under the **MIT License**
|
|
- New source files should use the SPDX license identifier `MIT` where applicable to the file type
|
|
- Contributions must be compatible with the MIT License and must not introduce code under incompatible licenses (e.g., GPL) without an explicit discussion with maintainers
|
|
|
|
## Signed-off-by and Developer Certificate of Origin
|
|
|
|
**AI agents MUST NOT add `Signed-off-by` tags.** Only humans can legally certify the Developer Certificate of Origin (DCO). The human submitter is responsible for:
|
|
|
|
- Reviewing all AI-generated code
|
|
- Ensuring compliance with licensing requirements
|
|
- Adding their own `Signed-off-by` tag (when the project requires DCO) to certify the contribution
|
|
- Taking full responsibility for the contribution
|
|
|
|
AI agents MUST NOT add `Co-Authored-By` trailers for themselves either. A human reviewer owns the contribution; the AI's involvement is recorded via `Assisted-by` (see below).
|
|
|
|
## Attribution
|
|
|
|
When AI tools contribute to LocalAI development, proper attribution helps track the evolving role of AI in the development process. Contributions should include an `Assisted-by` tag in the commit message trailer in the following format:
|
|
|
|
```
|
|
Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
|
|
```
|
|
|
|
Where:
|
|
|
|
- `AGENT_NAME` — name of the AI tool or framework (e.g., `Claude`, `Copilot`, `Cursor`)
|
|
- `MODEL_VERSION` — specific model version used (e.g., `claude-opus-4-7`, `gpt-5`)
|
|
- `[TOOL1] [TOOL2]` — optional specialized analysis tools invoked by the agent (e.g., `golangci-lint`, `staticcheck`, `go vet`)
|
|
|
|
Basic development tools (git, go, make, editors) should **not** be listed.
|
|
|
|
### Example
|
|
|
|
```
|
|
fix(llama-cpp): handle empty tool call arguments
|
|
|
|
Previously the parser panicked when the model returned a tool call with
|
|
an empty arguments object. Fall back to an empty JSON object in that
|
|
case so downstream consumers receive a valid payload.
|
|
|
|
Assisted-by: Claude:claude-opus-4-7 golangci-lint
|
|
Signed-off-by: Jane Developer <jane@example.com>
|
|
```
|
|
|
|
## Scope and Responsibility
|
|
|
|
Using an AI assistant does not reduce the contributor's responsibility. The human submitter must:
|
|
|
|
- Understand every line that lands in the PR
|
|
- Verify that generated code compiles, passes tests, and follows the project style
|
|
- Confirm that any referenced APIs, flags, or file paths actually exist in the current tree (AI models may hallucinate identifiers)
|
|
- Not submit AI output verbatim without review
|
|
|
|
Reviewers may ask for clarification on any change regardless of how it was produced. "An AI wrote it" is not an acceptable answer to a design question.
|
|
|
|
{{% notice note %}}
|
|
This policy is a living document. If you're unsure how to apply it to a specific contribution, open an issue or ask in the [Discord channel](https://discord.gg/uJAeKSAGDy) before submitting.
|
|
{{% /notice %}}
|