- If code changes are being made, please include documentation following the guidelines in the Wiki (typings are also welcome, but we can probably do them for you, given the documentation).
- (For the maintainers of this repo) Label PRs appropriately.
- Link relevant issues.
- Ensure compatibility with the latest changes in the repo.
- After you've made your changes, please test them out thoroughly. If the repository has any example code or code exclusively used for testing, please test your changes against those. If you have added new features, consider writing and contributing to a test for that feature to ensure it works properly.
As this is a Fork of Manim by 3b1b, contributing can be a bit confusing. Because of that, here is a small guide on it.
- First, make a fork of this repository.
- Then clone the repository you forked using the command below (bash/zsh).
git clone <your-fork-url>
cd manim
-
Now that you have cloned the repo, before making any changes, you have to enter the commands below in order to be able to contribute to Manim Community.
git remote add fork https://github.com/ManimCommunity/manim.git git fetch fork git checkout -b <your-branch-name> fork/master
The first command tells
git
that you are going to make a Pull Request to Manim Community. The second command pulls all the commits from the aforementioned fork. Finally, the third one makes your current working branch up-to-date with Manim Community's master branch.Now there are three repositories that git is keeping track of: the manim community repo (referred to as "fork"), your own fork of it (referred to by git as "origin"), and your local repository.
-
After that, you can make your changes to the repo's files (the code is in the
manim
directory). Then, you can commit said changes.
As stated in the General Contribution Guidelines, make sure to test your changes against the example scenes in the
example_scenes
directory and test scenes in thetests
directory, and add a new test in thetests
directory for your new feature if you've made one.
-
Finally, instead of typing in
git push
, enter the command below.git push -u origin <your-branch-name>
Doing so creates a new branch with the updated contents of your fork on GitHub.
Then you can make a Pull Request to the Manim Community Repo from your fork, through GitHub. Make sure to select
ManimCommunity/manim
instead of3b1b/manim
as thebase repository
and your fork and branch ashead repository
- see the picture below.
Also make sure to pull from upstream/master right before making a Pull Request, resolve merge conflicts locally and only then submit the Pull Request.