Getting Started

Snapbug now has a browser-first setup:

  1. Add the Snapbug SDK to your app.
  2. Open the Chrome Extension and create a room code.
  3. Connect the app to the extension over WebRTC.
  4. Optionally run the local service if you want AI fix, build, and PR flows.

Recommended path

  • Chrome Extension is the default product path for inspection and bug reporting.
  • Local service is optional and only needed for developer automation.
  • Desktop app is still available as a legacy companion, but it is no longer the primary onboarding flow.

Android install

Add the runtime artifact in debug and the no-op artifact in release:

dependencies {
    debugImplementation("ai.snapbug:snapbug:1.0.0")
    releaseImplementation("ai.snapbug:snapbug-no-op:1.0.0")
}

Initialize the SDK in your Application:

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        Snapbug.start(this)
    }
}

You can also pass configuration if you need custom plugins or overlay settings:

Snapbug.start(this) {
    crashReporter { catchFatalErrors = true }
    debugFeedback { screenNameProvider = { "Home" } }
}

Connect to the Chrome Extension

  1. Install the Snapbug Chrome Extension.
  2. Open the extension and create a room code.
  3. In your app, open the Snapbug overlay.
  4. Enter or scan the room code.
  5. Wait until the connection state becomes Connected.

This path does not require ADB, port forwarding, or a shared Wi-Fi network.

Optional: local service

Install the local service only if you need AI actions such as fix, build, verification, or PR creation.

brew install snapbug/tap/snapbug-cli
snapbug serve

The service exposes:

  • http://localhost:9090 for Chrome Extension readiness and AI endpoints
  • ws://localhost:9023 and http://localhost:9024 for legacy-compatible transport

Platform notes

  • Android: fully supported.
  • iOS Simulator: supported for the core flow.
  • Flutter and React Native: use the native SDK underneath, then bridge data into Snapbug.
  • Desktop app: legacy path for teams that still depend on localhost transport.

Next steps