A background agent that monitors GitHub organizations and repositories for issues, prepares context, and queues them for you to fix.
- Multi-target monitoring - Watch entire organizations or specific repositories
- Background daemon - Runs continuously, polling for new issues
- Smart context building - Automatically gathers relevant code files for each issue
- Branch management - Creates feature branches for each issue
- Desktop notifications - macOS notifications when new issues are found
# Install globally
npm install -g @parallel-labs/mind-agent
# Initialize configuration
github-agent init
# Start the background daemon
github-agent start
# Check status
github-agent statusnpm install -g @parallel-labs/mind-agentnpx @parallel-labs/mind-agent initgit clone https://github.com/owizdom/mind-agent.git
cd mind-agent
npm install
npm run build
npm linkRun the interactive setup wizard:
github-agent initThis creates a github-agent.yaml file in your current directory:
# GitHub Personal Access Token
github_token: ${GITHUB_TOKEN}
# What to monitor
targets:
organizations:
- your-org
- another-org
repositories:
- owner/specific-repo
# Scanning options
scan:
interval_minutes: 5
filters:
state: open
labels: [] # Empty = all labels
# Storage paths
paths:
repos_dir: ~/.github-agent/repos
data_dir: ~/.github-agent/data
# Notifications
notifications:
enabled: true
on_new_issue: true
on_scan_complete: false
on_error: true
# Editor to open repositories with
# Examples: code, cursor, vim, nvim, subl
editor: codeYou can set GITHUB_TOKEN as an environment variable instead of putting it in the config file:
export GITHUB_TOKEN=ghp_your_token_here- Go to GitHub Settings > Tokens
- Generate a new token (classic)
- Select scopes:
repo(full access to repositories) - Copy the token and add it to your config or environment
| Command | Description |
|---|---|
github-agent init |
Interactive setup wizard |
github-agent start |
Start background daemon |
github-agent start -f |
Start in foreground (for debugging) |
github-agent stop |
Stop the daemon |
github-agent status |
Show queued issues and agent status |
github-agent scan |
Run a single scan immediately |
github-agent open <issue> |
Open issue in your editor |
github-agent push <issue> |
Push your fix |
github-agent diff <issue> |
Show diff for an issue |
github-agent logs |
Show daemon logs |
github-agent logs -f |
Follow log output |
# 1. Initialize and start
github-agent init
github-agent start
# 2. Agent finds issues and notifies you...
# π "New issue in my-org/my-repo: Bug in authentication"
# 3. Check queued issues
github-agent status
# 4. Open an issue to fix
github-agent open 42
# Opens your editor with the repo
# 5. Fix the issue
# 6. Push your fix
github-agent push 42
# 7. Create PR on GitHub (link shown after push)You can reference issues in multiple ways:
# By issue number (finds across all repos)
github-agent open 42
# By repo#number
github-agent open my-repo#42
# By full reference
github-agent open owner/repo#42βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Background Daemon β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 1. Poll GitHub API for issues (every N minutes) β
β 2. Store new issues in local SQLite database β
β 3. Clone repositories on-demand β
β 4. Create feature branch: fix/issue-{number}-{slug} β
β 5. Build context file with relevant code β
β 6. Send desktop notification β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β When You Return β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 1. Run: github-agent status β
β 2. Run: github-agent open 42 β
β 3. Your editor opens β Fix the issue β
β 4. Run: github-agent push 42 β
β 5. Create PR on GitHub β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
All data is stored locally:
| Path | Description |
|---|---|
~/.github-agent/repos/ |
Cloned repositories |
~/.github-agent/data/github-agent.db |
SQLite database |
~/.github-agent/data/github-agent.log |
Log file |
~/.github-agent/data/tasks/ |
Context files for issues |
~/.github-agent/daemon.pid |
Daemon process ID |
Only monitor issues with specific labels:
scan:
filters:
state: open
labels:
- bug
- help wanted
- good first issuepaths:
repos_dir: /path/to/repos
data_dir: /path/to/datanotifications:
enabled: falseCheck if it's already running:
github-agent statusCheck logs for errors:
github-agent logsThe agent polls every 5 minutes by default. If you're hitting rate limits, increase the interval:
scan:
interval_minutes: 15Make sure you're in the directory with github-agent.yaml or one of its parent directories. The agent searches upward for the config file.
Contributions welcome! Please open an issue or PR.
MIT