Repo maintenance made simpler.
Quickly set up Maige and let AI handle your issue labels with ease. Get started at Maige.app.
Note
Self-hosting is not yet supported, but if you're immune to papercuts, feel free to continue at your own risk.
- Install dependencies:
bun i
- Set up the environment:
vercel env pull
orcp .env.example .env
- Start the app:
bun run dev
- Expose the app: in a separate terminal, run
ngrok http 3000
Create a GitHub App for webhooks and repo access. Populate your .env with the app details.
-
Go to Settings (personal or org) > Developer > GitHub Apps
-
Copy your app name, ID, and client secret. Add these to your .env.
-
Callback URL: nGrok URL + GitHub auth endpoint eg.
https://abc.ngrok.app/api/auth/callback/github
-
Webhook URL: nGrok URL + handler path eg.
https://abc.ngrok.app/api/webhook/github
. -
Webhook secret: generate this with
openssl rand -hex 32
. Add it to your .env. -
Permissions: toggle Issue: Read & Write and Pull Request: Read & Write.
-
Events: toggle issues, issue comments, and pull requests.
-
Private key: generate a private key. Download it. Run the following command (source) to convert it to the right format:
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in private-key.pem -out private-key-pkcs8.key
then copy private-key-pkcs8.key's text contents to your .env.
We use Infisical for a better development experience. To use it, make an account, upload your .env (then delete it), download and authenticate the CLI, then run bun dx:env [your-environment-name] && bun run dev
to develop locally.
Access Maige through your nGrok URL and link a test repo. Open an issue to test Maige out!
Try these commands:
- "maige assign me to this issue"
- "maige remove all labels from this issue"
- "maige add the 'self-hosting' label anytime someone mentions 'docker'"
- "maige what packages does this repo use?"
Enjoy streamlined issue management with Maige! 🚀