cli/cmd/bugseti
Snider 3b155ae7bf fix(tray): replace placeholder icons with actual bug and diamond icons
BugSETI: bug with antennae and legs (black template, white dark, green app)
Core IDE: diamond shape (black template, white dark, blue app)

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-09 10:39:50 +00:00
..
build feat(bugseti): wire BugSETI into root build system and make functional 2026-02-09 02:49:01 +00:00
frontend chore(bugseti): disable Angular CLI analytics 2026-02-09 10:24:22 +00:00
icons fix(tray): replace placeholder icons with actual bug and diamond icons 2026-02-09 10:39:50 +00:00
.gitignore feat: BugSETI app, WebSocket hub, browser automation, and MCP tools (#336) 2026-02-05 17:22:05 +00:00
go.mod feat: add Woodpecker CI pipeline and workspace improvements (#1) 2026-02-08 13:25:06 +00:00
go.sum feat: add Woodpecker CI pipeline and workspace improvements (#1) 2026-02-08 13:25:06 +00:00
main.go fix(tray-apps): SPA routing, TypeScript fixes, and deferred onboarding 2026-02-08 23:03:49 +00:00
README.md feat: BugSETI app, WebSocket hub, browser automation, and MCP tools (#336) 2026-02-05 17:22:05 +00:00
Taskfile.yml feat: BugSETI app, WebSocket hub, browser automation, and MCP tools (#336) 2026-02-05 17:22:05 +00:00
tray.go feat: BugSETI app, WebSocket hub, browser automation, and MCP tools (#336) 2026-02-05 17:22:05 +00:00
workspace.go feat: add Woodpecker CI pipeline and workspace improvements (#1) 2026-02-08 13:25:06 +00:00

BugSETI

Distributed Bug Fixing - like SETI@home but for code

BugSETI is a system tray application that helps developers contribute to open source by fixing bugs in their spare CPU cycles. It fetches issues from GitHub repositories, prepares context using AI, and guides you through the fix-and-submit workflow.

Features

  • System Tray Integration: Runs quietly in the background, ready when you are
  • Issue Queue: Automatically fetches and queues issues from configured repositories
  • AI Context Seeding: Prepares relevant code context for each issue using pattern matching
  • Workbench UI: Full-featured interface for reviewing issues and submitting fixes
  • Automated PR Submission: Streamlined workflow from fix to pull request
  • Stats & Leaderboard: Track your contributions and compete with the community

Installation

From Source

# Clone the repository
git clone https://github.com/host-uk/core.git
cd core

# Build BugSETI
task bugseti:build

# The binary will be in build/bin/bugseti

Prerequisites

  • Go 1.25 or later
  • Node.js 18+ and npm (for frontend)
  • GitHub CLI (gh) authenticated
  • Chrome/Chromium (optional, for webview features)

Configuration

On first launch, BugSETI will show an onboarding wizard to configure:

  1. GitHub Token: For fetching issues and submitting PRs
  2. Repositories: Which repos to fetch issues from
  3. Filters: Issue labels, difficulty levels, languages
  4. Notifications: How to alert you about new issues

Configuration File

Settings are stored in ~/.config/bugseti/config.json:

{
  "github_token": "ghp_...",
  "repositories": [
    "host-uk/core",
    "example/repo"
  ],
  "filters": {
    "labels": ["good first issue", "help wanted", "bug"],
    "languages": ["go", "typescript"],
    "max_age_days": 30
  },
  "notifications": {
    "enabled": true,
    "sound": true
  },
  "fetch_interval_minutes": 30
}

Usage

Starting BugSETI

# Run the application
./bugseti

# Or use task runner
task bugseti:run

The app will appear in your system tray. Click the icon to see the quick menu or open the workbench.

Workflow

  1. Browse Issues: Click the tray icon to see available issues
  2. Select an Issue: Choose one to work on from the queue
  3. Review Context: BugSETI shows relevant files and patterns
  4. Fix the Bug: Make your changes in your preferred editor
  5. Submit PR: Use the workbench to create and submit your pull request

Keyboard Shortcuts

Shortcut Action
Ctrl+Shift+B Open workbench
Ctrl+Shift+N Next issue
Ctrl+Shift+S Submit PR

Architecture

cmd/bugseti/
  main.go          # Application entry point
  tray.go          # System tray service
  icons/           # Tray icons (light/dark/template)
  frontend/        # Angular frontend
    src/
      app/
        tray/      # Tray panel component
        workbench/ # Main workbench
        settings/  # Settings panel
        onboarding/ # First-run wizard

internal/bugseti/
  config.go        # Configuration service
  fetcher.go       # GitHub issue fetcher
  queue.go         # Issue queue management
  seeder.go        # Context seeding via AI
  submit.go        # PR submission
  notify.go        # Notification service
  stats.go         # Statistics tracking

Contributing

We welcome contributions! Here's how to get involved:

Development Setup

# Install dependencies
cd cmd/bugseti/frontend
npm install

# Run in development mode
task bugseti:dev

Running Tests

# Go tests
go test ./cmd/bugseti/... ./internal/bugseti/...

# Frontend tests
cd cmd/bugseti/frontend
npm test

Submitting Changes

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes and add tests
  4. Run the test suite: task test
  5. Submit a pull request

Code Style

  • Go: Follow standard Go conventions, run go fmt
  • TypeScript/Angular: Follow Angular style guide
  • Commits: Use conventional commit messages

Roadmap

  • Auto-update mechanism
  • Team/organization support
  • Integration with more issue trackers (GitLab, Jira)
  • AI-assisted code review
  • Mobile companion app

License

MIT License - see LICENSE for details.

Acknowledgments

  • Inspired by SETI@home and distributed computing projects
  • Built with Wails v3 for native desktop integration
  • Uses Angular for the frontend

Happy Bug Hunting!