Skip to content

feat(windows): add complete Windows support to Bumblebee scanner#30

Open
dimension-zero wants to merge 1 commit into
perplexityai:mainfrom
dimension-zero:main
Open

feat(windows): add complete Windows support to Bumblebee scanner#30
dimension-zero wants to merge 1 commit into
perplexityai:mainfrom
dimension-zero:main

Conversation

@dimension-zero
Copy link
Copy Markdown

Summary

Add comprehensive Windows compatibility to Bumblebee scanner. Windows builds now compile and run correctly on amd64 and arm64 architectures.

Changes

Platform Support

  • Windows drive root detection (C:, D:, etc.)
  • Windows user home patterns (C:\Users<name>)
  • Browser extensions: Chrome, Edge, Brave, Firefox on Windows
  • MCP config: Claude Desktop %APPDATA%\Claude path
  • System roots: Python and NuGet global package locations

Test Compatibility

  • Set USERPROFILE environment variable in tests (Windows uses USERPROFILE, not HOME)
  • Scanner tests: Support both / and \ path separators
  • All existing tests pass on Windows

Build & CI

  • GoReleaser: Windows binaries for amd64 and arm64
  • GitHub Actions: Test on windows-latest

Filesystem Walker

  • Windows-specific excludes: AppData\Local\Temp, AppData\Local\Microsoft, AppData\Local\Packages, AppData\LocalLow

Verification

  • ✅ All tests pass: go test ./... -race
  • ✅ Build succeeds: go build ./cmd/bumblebee
  • ✅ Selftest passes: selftest OK (3 findings)
  • ✅ Windows roots detected correctly on test machine

Testing

Tested on Windows 11 Pro with Go 1.25.

Add Windows compatibility across the entire scanning pipeline:

Core Platform Support:
- isBroadHomeRoot(): Detect Windows drive roots (C:\), C:\Users patterns
- Browser extensions: Chrome, Edge, Brave, Firefox paths for Windows
- MCP config: Add %APPDATA%\Claude for Claude Desktop on Windows
- System roots: Python and NuGet global package locations

Test & Walk Fixes:
- Set USERPROFILE env var in tests (HOME override doesn't work on Windows)
- Scanner tests: Support both / and \ path separators in assertions
- Walk excludes: Add AppData directories (Temp, Microsoft, Packages, LocalLow)

Build & CI:
- GoReleaser: Build Windows binaries for amd64 and arm64 architectures
- CI: Test on windows-latest in addition to macOS and Linux

All tests pass on Windows. Build succeeds with CGO_ENABLED=0.
Selftest verifies: 'selftest OK (3 findings)'
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