Thanks for your interest in contributing to the nirs4all webapp!
- Fork the repository
- Clone your fork
- Install dependencies:
npm install pip install -r requirements.txt # or use the bundled venv - Start the development servers:
npm start # web dev mode npm run start:desktop # desktop dev mode (Electron)
- Target TypeScript strict mode
- Use shadcn/ui and Radix primitives for UI components
- Use TanStack Query for server state
- Path alias:
@maps to./src - Run
npm run lintbefore submitting
- Target Python 3.11+
- Follow PEP 8 and Google Style docstrings
- The backend is a thin orchestration layer — scientific computation belongs in the
nirs4alllibrary, not here - Run
pytestbefore submitting
- Frontend:
npm run test - Backend:
pytest - E2E:
npm run e2e
Do not reimplement nirs4all library functionality in the webapp backend. The backend should only handle HTTP routing, job queuing, WebSocket notifications, and UI state.
By submitting a contribution, you agree it is provided under the same license as the project (CeCILL-2.1), with no extra restrictions.
If your organization requires separate contributor paperwork, please contact denis.cornet@cirad.fr.