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.
No SDK for your language yet? You can still call the HTTP API directly from any language, or use the single-file custom implementation. See the Quickstart to get started.
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_…+ itsbbk_…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.