Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rubriclab/maige

Open-source infrastructure for running natural language workflows on your codebase.
https://github.com/rubriclab/maige

ai bots github gpt-4-turbo issues

Last synced: 1 day ago
JSON representation

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

Awesome Lists containing this project

README

        

# Maige

Repo maintenance made simpler.

Quickly set up Maige and let AI handle your issue labels with ease. Get started at [Maige.app](https://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](https://github.com/gr2m/universal-github-app-jwt?tab=readme-ov-file#converting-pkcs1-to-pkcs8)) to convert it to the right format:

```sh
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](https://infisical.com) 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.