Thanks for wanting to help out. Here's what you need to know.
git clone https://github.com/iruizsalinas/redlimit.git
cd redlimit
npm installYou'll need a local Redis instance running for integration tests. Default is redis://localhost:6379 (set REDIS_URL in .env to change it).
npm run lint # type check
npm run test:unit # fast, no Redis needed
npm run test:integration # needs Redis
npm test # everything- Fork the repo and create a branch from
main - Make your changes
- Make sure
npm run lintandnpm testboth pass - Open a pull request
Keep PRs focused on one thing. If you're fixing a bug and also want to refactor something nearby, split them into separate PRs.
The rate limiting logic runs as atomic Lua scripts inside Redis. If you're modifying an algorithm, make sure to test it under concurrency. Check out test/integration/concurrency.test.ts for that.
Open an issue. No question is too small.