Thanks for your interest in contributing! Here's how to get started.
-
Clone the repository
git clone https://github.com/mondaycom/HATCHA.git cd HATCHA -
Install dependencies
pnpm install
-
Build all packages
pnpm build
-
Run the example app
cp examples/nextjs-app/.env.example examples/nextjs-app/.env.local pnpm --filter hatcha-nextjs-example dev
packages/
core/ Challenge generation & cryptographic verification
react/ React component & provider
server/ Next.js and Express middleware adapters
examples/
nextjs-app/ Working demo app
pnpm test- Create a feature branch from
master. - Make your changes in the relevant package(s).
- Add or update tests as needed.
- Run
pnpm testandpnpm buildto verify everything works. - Open a pull request against
master.
- Create a new file in
packages/core/src/challenges/. - Export a
ChallengeGeneratorthat returns{ display, answer }. - Register it in
packages/core/src/challenges/index.ts. - Add tests in
packages/core/src/__tests__/challenges.test.ts.
- TypeScript throughout, strict mode.
- No external runtime dependencies in
@mondaycom/hatcha-core. - Keep bundle sizes minimal — the library should stay lightweight.
By contributing, you agree that your contributions will be licensed under the MIT License.