Hey! Thanks for checking out litrainer. If you want to contribute, that's awesome!
- Fork the repo
- Clone it: git clone https://github.com/JamarTG/litrainer.git
- npm install
- npm run dev
- Make changes and submit a PR
That's it! Don't overthink it.
Cool stuff you could work on:
- Indicating the source for puzzles/games
- Stop engine evaluation when user cancels mid-evaluation
- Add better error handling
- Fix form validation (especially opening selection)
- Performance improvements
- Swap out arrow icons for bad move or good move
- Show "how long ago" games were played
- Offline page/handling
- Improve move classification system (especially "Brilliant" moves)
- Making it work better on mobile
- Adding more filtering options for games
- UI improvements (make it prettier!)
Easy starter tasks:
- Fix typos or improve docs
- Add new board themes
- Small UI tweaks
- Code cleanup
Just open an issue and tell us what broke. Screenshots help!
Open an issue and let's chat about it. No idea is too small or too big.
- Make a branch: git checkout -b whatever-you-want-to-call-it
- Do your thing
- Commit: git commit -m "did a thing"
- Push and make a PR
Code quality is managed by ESLint and Prettier. Run npm run setup to configure
your environment to automatically lint and format your staged changes on each commit.
You can optionally pass --no-verify to skip the pre-commit hook. Ex: git commit -m "fix bug" --no-verify
- Try to write clean code that others can understand
- Test your changes before submitting
- Be nice to people
- If you're not sure about something, just ask!
- React + TypeScript
- Tailwind for styling
- Uses Lichess API for chess data
- Stockfish for game analysis
Just open an issue with your question. We're friendly!
Seriously, don't stress about perfect PRs or following every convention. I'd rather have your contribution than have you worry about doing everything "right."