Become a contributor
Basic flow
- Fork the repository.
- Clone your fork and create a branch.
- Install dependencies for the packages you are working on.
- Make your changes.
- Run the relevant checks.
- Push and open a pull request.
Monorepo structure
core/kaalCore engine, runtime, CLI, memory backend, and Redis backend.core/kaal-sequelSequel-backed SQL adapter.core/kaal-activerecordActive Record-backed SQL adapter.gems/kaal-hanamiHanami integration.gems/kaal-railsRails integration.gems/kaal-rodaRoda integration.gems/kaal-sinatraSinatra integration.docs/Docs site source.scripts/Repo-level helpers for common checks.
Common repo-level checks
Run these from the repo root:
scripts/run-rubocop-all
scripts/run-reek-all
scripts/run-rspec-unit-all
scripts/run-rspec-e2e-all
scripts/run-multi-node-cli-all
Or run the full monorepo check flow in one command:
scripts/run-all
Use the narrower scripts when you only need one phase. Use scripts/run-all when you want the full monorepo check flow.
Package-level checks
You can also work from an individual package directory:
cd core/kaal
bundle install
bin/rspec-unit
bin/rubocop
bin/reek
Framework and adapter packages expose similar bin/rspec-unit, bin/rspec-e2e, bin/rubocop, and bin/reek entrypoints.
What to contribute
Useful contributions include:
- scheduler/runtime improvements
- SQL or Redis adapter fixes
- framework integration improvements
- docs and examples
- test coverage and CI hardening
You do not need framework-specific experience to contribute. Plain Ruby, SQL, Redis, documentation, and test improvements are all useful.