Contributing
Thank you for considering code contribution. If you wanto to learn how the Cat works and join its development, there is a different installation process to follow.
Development setup
Section titled “Development setup”- Clone the repository on your machine
git clone https://github.com/cheshire-cat-ai/core.git cheshire-cat- Enter the created folder
cd cheshire-cat- Run docker container
docker compose upThe first time you run the docker compose up command,
it will take several minutes to build the Docker Cat image. Once finished, the Cat will be living and running!
To stop the Cat hit CTRL-C in the terminal, you should see the logs stopping. Then run:
docker compose downUpdate development setup
Section titled “Update development setup”Remember to update often both your fork and your local clone.
Before each session, follow these steps:
- Enter the folder where you cloned the repository
cd cheshire-cat- Pull updates from the GitHub repository
git pull- Build again the docker container
docker compose build --no-cache- Remove dangling images (optional)
docker rmi -f $(docker images -f "dangling=true" -q)- Run docker containers
docker compose upYour First Code Contribution
Section titled “Your First Code Contribution”- Checkout the
developbranch (git checkout -b developand thengit pull origin develop) - Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request against the
developbranch (if it contains lots of code, please discuss it beforehand opening a issue)
Important notes
Section titled “Important notes”- try to discuss your contribution beforehand in an issue, to make an actually useful PR
- try to keep your PR small, single feature / fix and to the point
- branch out from
developand make your PR againstdevelop; branchmainis only used for releases
Improving The Documentation
Section titled “Improving The Documentation”Docs contribution are highly valuable for the project. See details on how to help with the docs here.