Thank you for your interest in contributing! This guide will help you get started.
main: Stable, deployable code.- Feature branches:
feature/<short-description> - Bug fixes:
fix/<short-description>
# Clone and install
git clone <repo-url>
cd ExoPlanets/frontend
npm install
npm run dev- Create a branch:
git checkout -b feature/add-planet-table - Make changes and run lint & type checks:
npm run lintnpm run build(ornpx tsc --noEmit)
- Commit using conventional commits (e.g.,
feat: add planet detail panel). - Push and open a Pull Request (PR) into
main.
- Keep PRs focused (one logical change set).
- Include a clear description: purpose, approach, screenshots if UI.
- Ensure no ESLint errors.
- Add or update docs if behavior changes.
- TypeScript + React.
- Prefer explicit types over
any. - Use existing utility functions in
src/lib/. - Keep components small and composable.
Use featureFlags.ts for gated behavior. Add env vars prefixed with VITE_.
Place static assets under frontend/public/. Refer to them with absolute paths like /kepler.gif.
Add lightweight tests when a testing framework is introduced.
Use PR comments for discussion. For larger changes, open an issue first.
Ensure external assets have proper attribution or licensing.
Happy contributing! 🌌