Thank you for your interest in contributing to WaldTeX! This document provides guidelines and instructions for contributing.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/waldtex.git cd waldtex
- Install dependencies:
npm install
- Start the dev server:
This starts both the backend and frontend with hot reload.
npm run dev
- Create a branch from
main:git checkout -b feature/your-feature-name
- Make your changes.
- Run lint and type checks:
npm run lint npm run typecheck
- Commit with a clear message describing what changed and why.
- Push to your fork and open a Pull Request against
main.
- TypeScript for all source files.
- 2 spaces for indentation (enforced by
.editorconfig). - No semicolons — we use the default Prettier/ESLint style.
- Keep files focused — one component per file, one service per file.
- Prefer named exports over default exports.
src/
server/ # Express + WebSocket backend
routes/ # REST API endpoints
services/ # Business logic
client/ # React frontend
components/ # UI components
hooks/ # React hooks
stores/ # Zustand state stores
styles/ # CSS / Tailwind
Open an issue on GitHub with:
- A clear title and description
- Steps to reproduce the bug
- Expected vs actual behavior
- Your OS, Node.js version, and Quarto version
Open an issue with the enhancement label. Describe:
- What problem the feature solves
- How you envision it working
- Any alternatives you considered
By contributing, you agree that your contributions will be licensed under the MIT License.