Spaces:
Configuration error
Configuration error
# Contributing to LocalAI | |
Thank you for your interest in contributing to LocalAI! We appreciate your time and effort in helping to improve our project. Before you get started, please take a moment to review these guidelines. | |
## Table of Contents | |
- [Getting Started](#getting-started) | |
- [Prerequisites](#prerequisites) | |
- [Setting up the Development Environment](#setting-up-the-development-environment) | |
- [Contributing](#contributing) | |
- [Submitting an Issue](#submitting-an-issue) | |
- [Creating a Pull Request (PR)](#creating-a-pull-request-pr) | |
- [Coding Guidelines](#coding-guidelines) | |
- [Testing](#testing) | |
- [Documentation](#documentation) | |
- [Community and Communication](#community-and-communication) | |
## Getting Started | |
### Prerequisites | |
- Golang [1.21] | |
- Git | |
- macOS/Linux | |
### Setting up the Development Environment and running localAI in the local environment | |
1. Clone the repository: `git clone https://github.com/go-skynet/LocalAI.git` | |
2. Navigate to the project directory: `cd LocalAI` | |
3. Install the required dependencies ( see https://localai.io/basics/build/#build-localai-locally ) | |
4. Build LocalAI: `make build` | |
5. Run LocalAI: `./local-ai` | |
## Contributing | |
We welcome contributions from everyone! To get started, follow these steps: | |
### Submitting an Issue | |
If you find a bug, have a feature request, or encounter any issues, please check the [issue tracker](https://github.com/go-skynet/LocalAI/issues) to see if a similar issue has already been reported. If not, feel free to [create a new issue](https://github.com/go-skynet/LocalAI/issues/new) and provide as much detail as possible. | |
### Creating a Pull Request (PR) | |
1. Fork the repository. | |
2. Create a new branch with a descriptive name: `git checkout -b [branch name]` | |
3. Make your changes and commit them. | |
4. Push the changes to your fork: `git push origin [branch name]` | |
5. Create a new pull request from your branch to the main project's `main` or `master` branch. | |
6. Provide a clear description of your changes in the pull request. | |
7. Make any requested changes during the review process. | |
8. Once your PR is approved, it will be merged into the main project. | |
## Coding Guidelines | |
- No specific coding guidelines at the moment. Please make sure the code can be tested. The most popular lint tools like [`golangci-lint`](https://golangci-lint.run) can help you here. | |
## Testing | |
`make test` cannot handle all the model now. Please be sure to add a test case for the new features or the part was changed. | |
### Running AIO tests | |
All-In-One images has a set of tests that automatically verifies that most of the endpoints works correctly, a flow can be : | |
```bash | |
# Build the LocalAI docker image | |
make DOCKER_IMAGE=local-ai docker | |
# Build the corresponding AIO image | |
BASE_IMAGE=local-ai DOCKER_AIO_IMAGE=local-ai-aio:test make docker-aio | |
# Run the AIO e2e tests | |
LOCALAI_IMAGE_TAG=test LOCALAI_IMAGE=local-ai-aio make run-e2e-aio | |
``` | |
## Documentation | |
We are welcome the contribution of the documents, please open new PR or create a new issue. The documentation is available under `docs/` https://github.com/mudler/LocalAI/tree/master/docs | |
## Community and Communication | |
- You can reach out via the Github issue tracker. | |
- Open a new discussion at [Discussion](https://github.com/go-skynet/LocalAI/discussions) | |
- Join the Discord channel [Discord](https://discord.gg/uJAeKSAGDy) | |