BugBoardDocs

SDK overview

The BugBoard SDKs are small, safe wrappers around the HTTP API. They give you named reporting helpers, a background queue, retries with backoff, and graceful-shutdown flushing — so a report never blocks your app or gets lost.

There are two official SDKs, plus a dependency-free single-file option for any language:

Language Install Guide Source
JavaScript/TypeScript npm i bugboard Get started NPM Registry
PHP composer require bugboard/sdk Get started Packagist
Python Under development Coming soon… Coming soon…
React Native Under development Coming soon… Coming soon…
Flutter Under development Coming soon… Coming soon…

Already know which SDK you need? The framework guides cover installation, error-handler wiring and report delivery for Laravel, Symfony, plain PHP, Express, NestJS, Next.js, Nuxt, SvelteKit, Remix, Vite SPAs and serverless runtimes.

Prefer no dependency? Every SDK is optional — you can call the API directly from any language, or drop in the single-file custom implementation. See the Quickstart to send your first card.

What the SDK does

BugBoard turns reported errors into cards on your project board. The SDK is a thin, crash-safe wrapper over a single endpoint:

POST https://bugboard.dev/api/v1/tasks

You don't build payloads by hand. Instead you call a severity method with a required title, optionally a description (a string or the caught error) and tags — the SDK derives the rest:

import bugboard from '@/utils/bugboard';

bugboard.critical('Checkout failed'); // just a title
bugboard.critical('Checkout failed', error); // add the error as the description

The reporting surface

There's no createCard. Each SDK exposes exactly 16 severity/priority methods, called positionally as method(title, description?, tags?):

low medium (default) high
critical criticalLow critical criticalHigh
major majorLow major majorHigh
moderate moderateLow moderate moderateHigh
minor minorLow minor minorHigh

Most apps only need the four medium-priority methods — critical, major, moderate, minor. The priority variants and the full contract are covered in the API Reference.

Pick the right key for where the SDK runs

  • Servers use a secret key (bb_sec_… + its bbk_… key id). Requests are HMAC-signed; the secret never travels on the wire.
  • Browsers / mobile embed a publishable key (bb_pub_…) — public by design and write-only, sent as a bearer token.

See Choosing a key type for guidance.

Design guarantees

Every SDK is non-blocking and crash-safe (reporting returns immediately and never throws into your app), resilient (timeouts, retries with backoff + jitter, honors Retry-After), bounded (capped queue, optional sampling), and safe by default (HTTPS enforcement, a beforeSend PII-scrubbing hook, client-side validation). Sending sensitive data? Every SDK also supports optional payload encryption so the body is opaque in transit — even in the browser network tab. See Encryption. The full contract and design principles live in the API Reference.