Skip to content

Development Guides

This section explains how to contribute to the project, including setup, workflow, and coding standards.

  • npm install
  • git checkout -b feature/
  • Auto-lint & format on save with ESLint + Prettier.
  • npm run lint
  • npm run format:check
  • git add .
  • git commit -m “feat(auth): add login functionality”
  • git push origin feature/
  • Merge after approval and passing CI.
graph LR
A[Clone Repo] --> B[Create feature branch]
B --> C[Code & Format on Save]
C --> D[Run npm run lint & format:check]
D --> E[Commit using Conventional Commits]
E --> F[Push branch & open PR]
F --> G[CI runs & Review]
G --> H[Merge to main after approval]

Automatic tests are done using the React Testing Library and Jest as the test runner.

  • Test files should be saved with a .test.js or .spec.js extension so the test runner can detect them.

Before running tests, install Jest in your project:

Terminal window
npm install --save-dev jest

Once tests are written and Jest is installed, run the tests with:

Terminal window
npm run test

To make changes to the document

  • cd terrestrial-trappist
  • npm run dev

To make sure the main branch always works and stays clean, we followed these steps when contributing.

Always start by syncing your local repo with GitHub.

Terminal window
git checkout main
git pull origin main

Work on a new branch for your feature, bug fix, or update.

Terminal window
git checkout -b feature/my-feature
  • Add / edit / delete files.
  • Save and test your changes locally.
  • Commit often with meaningful messages(refer to git methodology).
Terminal window
git add .
git commit -m "Add login form with validation"

Before pushing, always pull the latest main and merge/rebase into your branch.

Terminal window
git checkout main
git pull origin main
git checkout feature/my-feature
git merge main

Push your changes to GitHub.

Terminal window
git push origin feature/my-feature
  • Go to GitHub.
  • Open a Pull Request from your branch → main.
  • Wait for teammate responsible for main to review and merge it.