mirror of
https://github.com/mudler/LocalAI.git
synced 2026-07-31 18:38:23 -04:00
* docs: fix CPU image tag (latest, not latest-cpu) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: use canonical localai/localai registry in models guide Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: replace dead llama-stable backend with llama-cpp Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: correct mitm-proxy intercept config and redaction tier Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: fix text-to-audio endpoint and broken notice block Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: fix VAD example, stale FAQ, broken link, CLI list, whats-new dump Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: render advanced/reference section indexes (consolidate _index) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: remove duplicate getting-started build/kubernetes pages Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: fold container image reference into installation/containers Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: remove stale advanced fine-tuning page (superseded by features/fine-tuning) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: fold distribution/longcat/sound pages into their parents Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: make getting-started index accurate and complete Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: carry one concrete model through the getting-started path Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: add end-to-end 'build your first agent' walkthrough Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: add runtime errors reference; consolidate troubleshooting from FAQ Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: add agent actions catalog Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: agent-scoped MCP, skills walkthrough, agentic disambiguation Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: add concrete gallery install lines to media feature pages Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: merge installation into getting-started (URLs preserved via aliases) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: add Operations section; move operator pages and P2P API reference Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: journey-ordered top nav and grouped feature sections Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: add docs-with-code process gate (PR template + agent instructions) Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * docs: remove em/en dashes from documentation prose Signed-off-by: Ettore Di Giacinto <mudler@localai.io> --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
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 %}}
|