Read our onboarding doc.
Watch the video series on contributing to Numberscope here. This video series will introduce you to Numberscope, GitHub, the software we use in the Numberscope project, and the workflow for contributing to Numberscope.
(This assumes you're working on the numberscope/frontscope repository, but it applies to other repos as well.)
- Create a fork of the numberscope/frontscope repo.
- Clone your fork of numberscope/frontscope.
- Create a branch for your contribution.
- If you are unfamiliar with them or would like a refresher, read about basic Git operations.
- Push your branch to GitHub.
- Read Numberscope's coding principles guide.
- Read Numberscope's style guide. You should also familiarize yourself with frontscope's internal code structure and APIs. Documentation on these topics is generally incorporated into the relevant source files (see this example). However, it is all gathered in the "Internal code and APIs" section of the navigation bar in the online docs.
- If you are working on a visualizer, read the doc on making a visualizer.
- Work through Numberscope's pull request checklist.
- Submit a pull request.
If you have a Git setup that isn't what Numberscope requires (i.e. do your work in your own fork on a feature branch) check out our doc on Gitting it right.
The Numberscope system actually comprises two code repositories. This
documentation is generated from the one called frontscope
(GitHub), and is primarily
concerned with the operation and development of that portion of the system.
The code in this frontscope
repository is responsible for defining and
displaying the visualizers, and for establishing how to specify the sequences
the visualizers act on. In general, it provides Numberscope's user interface.
If you need to deal with the code responsible for retrieving integer sequences
from the Online Encyclopedia of Integer Sequences (OEIS),
or for performing the computations involved in generating sequence entries and
their factorizations, see backscope
(GitHub).
(This assumes you're working on the numberscope/frontscope repository, but it applies to other repos as well.)
If you've read the Numberscope code principles guide and the Numberscope code style guide, and you think your code is ready to be reviewed by someone at Numberscope, follow these steps:
- Work through Numberscope's pull request checklist.
- Sync your fork with the main numberscope/frontscope repository. The easiest way to do this is to navigate to the page of your fork of numberscope/frontscope and click "Sync fork" (see the picture below). Another way to do this is to add numberscope/frontscope as a remote and sync your fork with the remote original.
- Navigate to the numberscope/frontscope repository. If your fork is synced up with the main numberscope/frontscope repository correctly, you should see a button (see the image below) that says "Compare & pull request". Click that button, write up some notes for your pull request, and click the "Create pull request button".