Everframe SDKs
The open-source home of the Everframe reporting SDKs, shared protocol and SDK
core, developer tooling, and sample applications.
Everframe helps users report problems from inside an
application with the context needed to reproduce them: screenshots and
annotations, session evidence, breadcrumbs, device and application metadata,
and captured errors.
Choose an SDK
| Platform | SDK | Documentation | Examples |
|---|
| Web and framework-agnostic JavaScript | @everframe/web | Web SDK | Vue, Smart TV |
| React | @everframe/react | React SDK | React web |
| React Native, Apple TV, and Android TV | @everframe/react-native | React Native SDK | React Native, React TV |
| Flutter on Android, iOS, and web | everframe_flutter | Flutter SDK | Android probe, iOS probe, web probe |
| Kotlin Multiplatform on Android, iOS, and Kotlin/JS | dev.everframe:kmp | KMP SDK | Android probe, iOS probes, browser canvas probe |
| Android and Android TV | dev.everframe Maven modules | Android SDK | Compose, Views |
| iOS, iPadOS, and tvOS | Everframe Swift package | Apple SDK | iOS, tvOS replay |
| Server-side identity | @everframe/identity | Identity helper | Runtime-specific recipes are included in the package documentation |
Each SDK README is the canonical guide for installation, configuration,
privacy controls, platform support, and current limitations.
@everframe/protocol defines the versioned report
envelope shared by every SDK and provides the generated JSON Schema used by
the native implementations.
@everframe/sdk-core contains the platform-independent
TypeScript reporting runtime and utilities shared by the Web, React, and React
Native SDKs.
- The Babel and
SWC plugins preserve React component names
in optimized builds.
packages/sdk-android and
packages/sdk-ios contain the native SDK source,
platform tests, and publication tooling.
Using the SDKs
Install the package for your application and follow its platform guide. For
JavaScript projects, for example:
pnpm add @everframe/web
pnpm add @everframe/react
pnpm add @everframe/react-native
flutter pub add everframe_flutter
The Android SDK is distributed as dev.everframe Maven modules through Maven
Central. Tagged Apple releases can be consumed with Swift Package Manager
from this repository. Their documentation contains the current coordinates,
products, and setup instructions.
Examples
The examples directory contains runnable hosts for the supported
platforms and integration styles:
Examples that connect to Everframe read development credentials from generated,
ignored configuration. Start from the checked-in template:
Fill only the values required by the example you are running. Never commit SDK
keys, identity secrets, generated platform configuration, or production data.
Contributing
JavaScript development requires Node.js 22 and pnpm 9.15. Android development
also requires a compatible JDK and Android SDK; Apple development requires
Xcode.
git clone https://github.com/scriptx-com/everframe.git
cd everframe
corepack enable
pnpm install --frozen-lockfile
Run the same JavaScript workspace checks used by CI:
pnpm test:boundary
pnpm check:boundary
pnpm build:packages
pnpm test:packages
pnpm typecheck:packages
pnpm build:examples
pnpm test:examples
pnpm typecheck:examples
pnpm check:publish
Run native checks from their platform projects:
cd packages/sdk-android/android
./gradlew test assembleRelease
EVERFRAME_DEV_INGEST_URL=http://127.0.0.1:9 \
swift test --package-path packages/sdk-ios --no-parallel
See CONTRIBUTING.md for contribution and licensing rules.
Releases
JavaScript packages are published to npm, the Flutter plugin is published to
pub.dev, Android artifacts are
published as Maven packages, and tagged Apple releases provide binary
XCFrameworks for Swift Package Manager consumers.
The Android and KMP Maven artifacts share one version and one Central Portal
upload. Run pnpm build:mobile-maven-bundle with SIGNING_KEY and
SIGNING_PASSWORD set to build and verify the signed bundle. Use
pnpm build:mobile-maven-bundle --prepare to inspect an unsigned bundle
before signing; that ZIP cannot be uploaded to Maven Central.
The root Package.swift is the binary manifest used by Apple
SDK consumers. Source development and tests use
packages/sdk-ios/Package.swift.
Security
Please report vulnerabilities privately as described in
SECURITY.md. The repository's publication gates check the
allowed public file boundary, SPDX metadata, committed content, and Git history
before release.
License
ScriptX-owned source is available under the MIT License. Bundled
upstream files retain their original licenses; see LICENSES and
REUSE.toml.