Thank you for your interest in contributing into the project!
- Read and understand the project's code of conduct
- Agree to the Developer's Certificate of Origin (We don't do CLAs here to minimize legal admin headaches with the HCB team.)
- For Hack Clubbers, join the
#leeksbot-meta
(app dev and project meta discusions) and the main#hackclub-leeks
channel.
You can use Nix via our devenv.nix
configuration (see https://devenv.sh/install for
the installation guide).
Alternatively, you can manually set up your development environment with the following
- Node.js 20.x or later - When using
nvm
orasdf
, please use the even-numbered LTS versions (if the latest version is even-numbered,wait until the official LTS announcement) when testing and contributing code. - Postgres 14+ - You can run a Dockerized Postgres server or use Nest Postgres for that.
To use
prisma migrate
commands, you need two databases, one for data persistence and another for migrations.
- Ask @ajhalili2006 for the
DOTENV_PRIVATE_KEY
to decrypt the dev secrets viadotenvx
.- Alternatively, reset everything by blanking the contents of
.env.development
(without commiting on your personal branch/fork to avoid conflicts) and configure your own secrets viadotenvx set
- Alternatively, reset everything by blanking the contents of
- Install dependencies:
npm i
- Run local instance with hot-reloading via
ts-node-dev
:npm run dev
The instructions on sending patches for the project use the command line way to keep your hands on the keyboard when using VS Code for the terminal.
If you are editing in VS Code, we have git.alwaysSignOff
set to true
to automatically sign-off your commits
(this is different from using your GPG/SSH key to sign commits for authenticity).
When editing on terminal, add --signoff
flag to your git commit
command.
This project is canonically hosted on Manimun GitLab instance by Tulir Asokan but you can sign in using GitHub and GitLab SaaS to sign up (otherwise you might need to contact him directly if you want to sign up via email due to spam).
- Authenicate with GitLab CLI:
glab auth login -h mau.dev
- Work on your feature request or bugfix on a seperate branch.
- Push often to your personal branch/fork to ensure you don't lose anything when switch between machines.
- Once ready, just run
glab mr create -R https://mau.dev/andreijiroh-dev/leeksbot -b main
and follow prompts.
Although we use GitLab as our development hub, we're still accepting merge requests through the GitHub mirror.
- Authenicate with GitHub CLI:
gh auth login
- Work on your feature request or bugfix on a seperate branch.
- Push often to your personal branch/fork to ensure you don't lose anything when switch between machines.
If you prefer to send patches via email, please do not send it to Andrei Jiroh or other project maintainers directly (not even attaching the patch files on Slack).
More details on how to send email patches will be added soon.