Initial Setup
Configuring Git (Global)
Before contributing to OnTrack, you must configure your Git identity. This information is attached to every commit you make.
- Set your name:
git config --global.username "Your Name"- Set your email:
git config --global user.email "username@users.noreply.github.com"Cloning the Documentation
To contribute to the technical documentation, clone the doubtfire-astro repository:
git clone [https://github.com/thoth-tech/doubtfire-astro.git](https://github.com/thoth-tech/doubtfire-astro.git)Development Environment Setup
There are two primary ways to set up the OnTrack project locally. We strongly recommend Option 1 for the most consistent experience across different operating systems.
Option 1: VS Code Dev Containers (Recommended)
- Prerequisites: Install Docker Desktop and the Dev Containers Extension in VS Code.
- Fork & Clone: Fork and clone the ‘doubtfire-deploy’ repository as described in the Manual Setup below.
- Launch: Open the folder in VS Code. When the pop-up appears in the bottom right, click “Reopen in Container”.
- Wait: VS Code will build the environment. Once finished, you are ready to develop!
Option 2: Manual Local Setup
Use this method if you prefer to manage dependencies (Ruby, Node, etc.) directly on your host machine. Note: On Windows, you will need a terminal that supports shell scripts (WSL2, MSYS2, or Cygwin).
- Fork the repositories: Fork doubtfire-deploy, doubtfire-api, and doubtfire-web.
- Clone with Submodules:
git clone --recurse submodules [https://github.com/YOUR_USERNAME/doubtfire-deploy](https://github.com/YOUR_USERNAME/doubtfire-deploy)cd doubtfire-deploy- Configure Remotes: Run the following command to set your fork as the remote:
./change_remotes.sh- Final Steps: Follow the remaining instructions in the doubtfire-deploy contributing file.
Contribution Workflow
Once your environment is set up, you can begin contributing to the project:
- Explore the Architecture: Familiarise yourself with how the Angular frontend communicates with the Rails API.
- Review Issues: Check the repository’s GitHub Issues for a list of bugs or feature requests.
- Documentation Updates: Ensure all guides match the current repository structure and technical requirements of the latest OnTrack release.