Contributing To Burst
As a FOSS (Free and Open Source Software) project, burst
development is community-based. Anyone is free to fork the code, fix bugs, add features and so on. Burstable AI will maintain this repository and review PR's (Pull Requests) posted here on the github repo.
When contributing PR's, please make sure your code is "Able to merge" according to github before you create the PR.
More information can be found here: about pull requests
and especially here: PR from fork
Clarification: the docs say Note: To open a pull request in a public repository, you must have write access to the head or the source branch
What this means is: in your fork, select create pull request
and you should see an option to create a PR from your fork/branch to the upstream (burstable-ai
) repository. You may have to manually select compare across forks
and select your local branch. PR's should always target the dev
branch of the upstream repo -- we prefer for main
to track the latest versioned stable release.
The BDFL (presently danx0r) or a deputized Burstable AI maintainer will review your PR and either accept it, or add comments for your reflection.
burst
is developed as a Pypi (pip) installable Python module. We strongly recommend that you install and develop burst
in a virual environment, using virtualenv
. how to set up a Python virtual environment
To develop and test your version of burst
, clone your github fork using the following command. Replace githubuser
with your github user name:
git clone git@github.com:githubuser/burst.git
cd burst
git checkout dev
Next, set up a virtual environment so the installation is sandboxed:
virtualenv venv -p python
. ./venv/bin/activate
Now, install burst
into your virtual environment:
pip3 install -e .
This should install the latest version of burst
as a python module and command line tool. You can edit code, git commit, pull and push from here and the burst
command will reflect your changes.
We recommend the use of issue-related branches for pull requests. For instance, if you are implementing a feature outlined in issue #23
, create a branch in your forked environment called issue_23
.The branch should derive from dev
. Once you have implemented & tested your branch, push it to your repo, and select Create pull request under pull requests
then select:
base repository:burstable-ai/burst base:dev
on the left of the arrow, and
head repository:yourgithub/burst compare:issue_23
on the right-hand side. If you see Ready to merge, create the PR.
To keep your fork up-to-date with the burstable-ai
repository, add an upstream origin:
git remote add upstream https://github.com/burstable-ai/burst
Then, when you want to catch up with the upstream repository, first make sure you are on the dev branch:
git fetch
git checkout dev
Then pull from the upstream repo:
git pull upstream dev