Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/rubriclab/maige
- Owner: RubricLab
- License: agpl-3.0
- Created: 2023-03-10T19:01:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-22T15:41:35.000Z (2 months ago)
- Last Synced: 2024-12-13T23:33:42.844Z (13 days ago)
- Topics: ai, bots, github, gpt-4-turbo, issues
- Language: TypeScript
- Homepage: https://maige.app
- Size: 11.9 MB
- Stars: 71
- Watchers: 2
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.