Skip to content

feat: add Windows support#16

Open
dcoffi wants to merge 1 commit into
perplexityai:mainfrom
dcoffi:windows-support-pr
Open

feat: add Windows support#16
dcoffi wants to merge 1 commit into
perplexityai:mainfrom
dcoffi:windows-support-pr

Conversation

@dcoffi
Copy link
Copy Markdown

@dcoffi dcoffi commented May 24, 2026

Summary / Resumen

This PR adds full Windows support to Bumblebee. All changes are backward-compatible — existing macOS and Linux behavior is unchanged.


What was added for Windows / Qué se agregó para Windows

Rutas de configuración MCP (Claude, Cursor, VS Code):

  • %APPDATA%\Claude\claude_desktop_config.json — Claude Desktop
  • %APPDATA%\Cursor\User\globalStorage — Cursor MCP settings
  • %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev — Cline (VS Code extension)

Extensiones de navegador:

  • Chrome, Edge, Brave, Vivaldi (Chromium) via %LOCALAPPDATA%\<browser>\User Data
  • Opera via %APPDATA%\Opera Software\Opera Stable
  • Firefox, LibreWolf, Waterfox via %APPDATA%\Mozilla\Firefox\Profiles

Paquetes globales del sistema:

  • Python: %LOCALAPPDATA%\Programs\Python\Python*\Lib\site-packages
  • npm: %APPDATA%\npm\node_modules
  • Ruby: C:\Ruby*\lib\ruby\gems
  • Go: %GOPATH%\pkg\mod (default: %USERPROFILE%\go\pkg\mod)

--all-users en Windows:

  • Enumera C:\Users\* filtrando cuentas de servicio: Default, Public, All Users, $WinREAgent, etc.

Bug fixes para cross-platform:

  • filepath.Join(C:, Users) retorna C:Users (ruta relativa) en Windows — corregido usando drive + sep + Users
  • Tests: setTestHome() ahora setea tanto HOME como USERPROFILE en Windows
  • scanner_test.go: usa filepath.ToSlash() para comparar paths con strings.Contains

goreleaser:

  • Agrega targets windows/amd64 y windows/arm64
  • Formato de release para Windows: .zip (en lugar de .tar.gz)

Documentación:

  • GUIA_BUMBLEBEE.md y GUIA_BUMBLEBEE.pdf: guía paso a paso en español para Windows, Linux y macOS

Test plan

  • go test ./... passes on Windows (all 19 packages)
  • bumblebee selftest returns selftest OK on Windows
  • bumblebee roots --profile baseline lists Windows paths (AppData, Chrome, Edge, VS Code extensions)
  • bumblebee scan --profile baseline produces valid NDJSON on Windows
  • go test ./... still passes on Linux/macOS (no regression)
  • goreleaser builds bumblebee_windows_amd64.zip and bumblebee_windows_arm64.zip

Notes

  • os.UserHomeDir() already returns C:\Users\<user> on Windows via USERPROFILE — no change needed
  • VS Code/Cursor/Windsurf extensions use ~\.vscode, ~\.cursor, ~\.windsurf on Windows too — already covered by existing home-relative paths
  • The critical filepath.Join(C:, Users) bug returns C:Users (relative path on drive C) on Windows — fixed with explicit separator

Generated with Claude Code

- Add case windows to all runtime.GOOS switches in cmd/bumblebee/roots.go
- Windows MCP configs: %APPDATA%\Claude, Cursor, VS Code/Cline
- Windows browsers: Chrome, Edge, Brave, Vivaldi, Opera, Firefox, LibreWolf
- Windows Python site-packages via LOCALAPPDATA\Programs\Python\Python*
- Windows npm global modules via %APPDATA%\npm\node_modules
- Windows Ruby gems via C:\Ruby*\lib\ruby\gems
- Windows Go module cache via %GOPATH%\pkg\mod (default %USERPROFILE%\go)
- --all-users expansion via C:\Users (filters Default, Public, service accounts)
- Fix filepath.Join drive-letter bug: use drive+sep+Users not filepath.Join(drive,Users)
- Fix cross-platform tests: setTestHome() sets both HOME and USERPROFILE on Windows
- Fix scanner_test.go path separator: use filepath.ToSlash() for Contains checks
- goreleaser: add windows/amd64 and windows/arm64 targets with zip format
- Add GUIA_BUMBLEBEE.md + GUIA_BUMBLEBEE.pdf: Spanish beginner guide (Windows/Linux/macOS)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dcoffi
Copy link
Copy Markdown
Author

dcoffi commented May 24, 2026

Binarios pre-compilados disponibles para la comunidad

Mientras el PR es revisado, dejamos los binarios listos para descargar sin necesidad de instalar Go:

Release: https://github.com/dcoffi/bumblebee/releases/tag/v0.1.1-community

El ZIP incluye binarios para las 3 plataformas:

Plataforma Archivo
Windows 64-bit (Intel/AMD) windows/bumblebee.exe
Windows 64-bit (ARM) windows/bumblebee_arm64.exe
Linux 64-bit (Intel/AMD) linux/bumblebee_amd64
Linux 64-bit (ARM) linux/bumblebee_arm64
macOS Apple Silicon (M1/M2/M3/M4) macos/bumblebee_apple_silicon
macOS Intel macos/bumblebee_intel

También incluye el catálogo threat_intel/ y una guía paso a paso en español (GUIA_BUMBLEBEE.pdf).

VirusTotal: 1/67 — falso positivo de DeepInstinct (conocido en binarios Go multi-plataforma). 66/67 motores lo marcan como limpio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant