maige icon indicating copy to clipboard operation
maige copied to clipboard

Open-source infrastructure for running natural language workflows on your codebase.

trafficstars

Maige

Repo maintenance made simpler.

Quickly set up Maige and let AI handle your issue labels with ease. Get started at Maige.app.

Self-Hosting

[!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 or cp .env.example .env
  • Start the app: bun run dev
  • Expose the app: in a separate terminal, run ngrok http 3000

GitHub App Integration

Create a GitHub App for webhooks and repo access. Populate your .env with the app details.

  1. Go to Settings (personal or org) > Developer > GitHub Apps

  2. Copy your app name, ID, and client secret. Add these to your .env.

  3. Callback URL: nGrok URL + GitHub auth endpoint eg. https://abc.ngrok.app/api/auth/callback/github

  4. Webhook URL: nGrok URL + handler path eg. https://abc.ngrok.app/api/webhook/github.

  5. Webhook secret: generate this with openssl rand -hex 32. Add it to your .env.

  6. Permissions: toggle Issue: Read & Write and Pull Request: Read & Write.

  7. Events: toggle issues, issue comments, and pull requests.

  8. 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.

Environment Variables

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.

Dive In

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.