Claron
    Documentation
    SDK FRAMEWORKSReviewed

    Backend SDK framework setup and compatibility

    Choose your framework and follow its setup path. For a server you host, start with Backend SDK setup. For a supported SSR application hosted by Claron, enable Backend Evidence and rebuild the application.

    Before you start

    Your framework, runtime version, and normal build/start command.

    What you get

    Know which setup to use, its requirements, and its current limits.

    SSR applications hosted by Claron

    1. Enable backend evidence

      Open the project's Backend settings as the owner, enable capture, and keep the recovery backup.

    2. Rebuild the SSR application

      Use the supported Node server output below. The hosted build applies the integration; you do not run customer-backend setup for that same server.

    3. Check a new request

      Start a fresh review, submit a report, and open Network evidence → the request → Backend evidence.

    FrameworkServer output and compatibility
    Next.jsNode SSR with webpack. Next.js 15.3.6 and 16.1.6 paths are tested. Turbopack and edge/middleware capture are not covered.
    Nuxt / NitroNitro node-server output. Tested Nuxt 3.19.3, 4.1.3, and 4.3.1 paths include SSR and API requests.
    SvelteKitadapter-node output. Kit 2.49.5 / adapter-node 5.5.1 capture is tested; Kit 2.16.1 / adapter-node 5.2.12 also has build compatibility checks.
    RemixNode framework server output. Remix 2.17.0 capture is tested; Remix 2.9.0-pre.1 / Vite 5.2.6 also has build and source-map checks.
    React Router framework modeNode SSR framework output. React Router 7.13.0 is tested. A client-only router has no SSR server to capture.
    Astro SSRNode standalone adapter. Astro 5.13.5 / @astrojs/node 9.4.4 capture is tested; Astro 5.16.11 / Node adapter 9.5.2 also has build and source-map checks.
    Angular SSRNode application-builder SSR output. Angular 20.3.0 is tested. Preserve the workspace's server output and required runtime variables.

    JavaScript and TypeScript

    Run claron backend init from the backend root. Setup installs the bundled SDK and configures the existing startup. Node applications need a direct node start script; Elysia needs a direct bun start script. Compiled TypeScript needs source maps back to the original application files.

    FrameworkSetup and compatibility
    ExpressUse the configured Node start command. Express 5.1.0 ESM, CommonJS, and TypeScript request paths are tested.
    FastifyUse the configured Node start command. Fastify 5.6.1 ESM, CommonJS, and TypeScript request paths are tested.
    KoaUse the configured Node start command. Koa 3.0.1 ESM, CommonJS, and TypeScript request paths are tested.
    HonoUse @hono/node-server on Node. Hono 4.9.9 / node-server 1.19.3 is tested. Bun, Deno, and edge adapters are not covered.
    NestJSBuild the existing app, then use its configured Node start command. NestJS 12.1.2 / TypeScript 5.9.3 compiled ESM is tested; other adapters and request-scoped variants need verification.
    Next.jsSetup adds the backend webpack integration and Node startup. Rebuild with webpack before starting. Next.js 15/16 Node paths are tested; Turbopack and edge capture are not covered.
    Nuxt / NitroUse the Claron-hosted path for hosted SSR. A separately hosted Nitro server needs its dedicated SDK adapter and startup configuration; generic Node setup does not cover every Nitro layout.
    ElysiaUse the configured Bun start command. Bun 1.3.6 / Elysia 1.4.30 JavaScript and TypeScript paths are tested, including AOT and dynamic dispatch.

    Python

    1. Use the application's Python environment

      Use CPython 3.10 or later with the existing server and dependencies installed.

    2. Provide the existing application target

      Run setup and enter module:object, such as app.main:app, then choose the interface below.

    3. Use the printed startup wrapper

      Start through .claron/backend-start.py with your normal server options. Prefix startup with claron backend run -- to restore the local collector.

    FrameworkInterface and compatibility
    FlaskWSGI / gunicorn. Flask 3.1.2 is tested.
    FastAPI / StarletteASGI / uvicorn. FastAPI 0.119.1 / Starlette 0.48.0 is tested.
    DjangoChoose the existing WSGI or ASGI target. Django 5.2.17 requests are tested; wider worker and middleware configurations need verification.
    aiohttpChoose the aiohttp application factory. The current CLI requires aiohttp 3.14.3.
    Example ASGI startup — replace the target
    bash
    claron backend run -- python .claron/backend-start.py uvicorn app.main:app

    Java and JVM frameworks

    Build the original application first. The current CLI uses JDK 22.0.1 and asks for its application-owned classes directory, such as target/classes. Follow the printed agent build/start commands, preserving your original Java arguments.

    FrameworkSetup and compatibility
    Spring MVCCLI setup covers ordinary compiled classes. Spring 6.2.11 / Tomcat 10.1.46 synchronous and DeferredResult requests are tested. Spring Boot executable JARs and custom loaders are not covered by the installer.
    Spring WebFluxCLI setup covers ordinary compiled classes. Spring 6.2.11 / Reactor Core 3.7.12 / Reactor Netty 1.2.11 is tested. Custom operators, cleared contexts, and wider streaming paths can leave evidence incomplete.
    QuarkusUse Maven fast-JAR packaging. Build the app, then rebuild the generated Claron agent after each application rebuild. Quarkus 3.27.2 is tested; native, uber-JAR, development, and Gradle paths are not covered.
    MicronautThe dedicated SDK adapter has tested HTTP capture with Micronaut 4.10.4 / Reactor 3.7.12 / Netty 4.2.6.Final. Automatic CLI enrollment is not available yet; claron backend init does not support Micronaut.
    After setup, build the agent
    bash
    node .claron/backend-jvm/build.mjs build

    .NET and ASP.NET Core

    Use the .NET 10 SDK and ASP.NET Core 10 runtime. Setup selects the application's .csproj and prints the build and output paths. Build in Release mode, then start through .claron/backend-dotnet/start.mjs with the exact assembly path printed by setup.

    FrameworkSetup and compatibility
    ASP.NET Core Minimal APIsManaged .NET 10.0.12 and Windows x64 NativeAOT paths are tested. Choose the generated managed or native startup mode matching your output.
    ASP.NET Core MVCManaged .NET 10.0.12 controller and model-binding paths are tested. MVC NativeAOT is not available.
    ASP.NET Core gRPCGrpc.AspNetCore / Grpc.Net.Client 2.84.0 HTTP/2 unary and server-stream paths are tested. RPC status is separate from HTTP status. Client/bidirectional streams, TLS, and grpc-web need further compatibility checks.

    Go

    The current CLI requires Go 1.25.6. After setup, use .claron/backend-go/build.mjs with your original build, run, or test options. Start the resulting executable with the generated backend configuration available; set CLARON_BACKEND_CONFIG when starting from another directory.

    FrameworkChecked configuration
    net/httpNamed HTTP handlers and exact-request capture are implemented.
    ChiChi 5.2.3 named handlers and RequestID middleware are tested.
    GinThe current CLI requires Gin 1.11.0. New/Default engines and native request-pool isolation are tested.
    EchoThe current CLI requires Echo 4.13.4. The verified path covers GET requests; check other methods separately.
    FiberThe current CLI requires Fiber 2.52.12. GET/POST and native fasthttp request scope are tested. Fiber v3 is not covered.
    Go gRPCThe current CLI requires grpc-go 1.75.1. HTTP/2 unary and server-stream capture is tested. Client and bidirectional streams are not covered.
    bash
    node .claron/backend-go/build.mjs build

    PHP

    Run setup with PHP and Composer available. It prepares the customer-local parser dependency unless you supply an existing parser path. Compile each deployment with .claron/backend-php/build.mjs, then apply the generated claron.ini to this service while preserving its existing PHP settings and startup.

    FrameworkChecked configuration
    SlimSlim 4.15.3 / Slim PSR-7 1.8.0 HTTP requests are tested.
    LaravelLaravel 12.69.3 routes, controllers, middleware, and termination paths are tested.
    SymfonySymfony FrameworkBundle 7.4.20 controllers, dependency injection, routes, events, and warm/cold caches are tested.
    WordPressWordPress 7.1.3 plugin/MU hooks, REST permissions, theme rendering, and shutdown paths are tested with the SQLite integration. MySQL/MariaDB, multisite, admin/AJAX/cron, and custom content roots need separate verification.
    bash
    node .claron/backend-php/build.mjs

    Ruby

    Run setup, then bundle install to resolve the customer-local SDK gem. Keep the existing server command and load claron_backend after Bundler setup. The checked stack uses CRuby 4.0.7, Prism 1.8.1, and Rack 3.2.4.

    FrameworkSetup and compatibility
    SinatraSinatra 4.2.1 / Rackup 2.3.1 requests are tested. Use the generated preload with the existing Rack server options.
    RailsRails Railties/ActionPack 8.1.4 controller, callback, and autoload paths are tested. Full views, ActiveRecord, ActiveJob, engines, reloads, Puma, and forks need separate verification.
    Example Rack startup — keep your existing options
    bash
    claron backend run -- bundle exec ruby -rclaron_backend -S rackup

    Rust

    The current adapter needs nightly-2025-03-28 with rustc-dev. Setup asks for that toolchain root. Build and start the single-package application through .claron/backend-rust/build.mjs, preserving your Cargo build and application options.

    FrameworkChecked configuration
    AxumAxum 0.8.4 / Tokio 1.47.1 request and private-helper capture is tested.
    Actix WebActix Web 4.11.0 / actix-http 3.11.0 request scope is tested, including a multi-worker application.
    RocketRocket 0.5.1 ordinary macro routes and managed build/start are tested.
    bash
    node .claron/backend-rust/build.mjs build
    claron backend run -- node .claron/backend-rust/build.mjs start

    Elixir and Erlang

    The automatic CLI path covers a single Mix application using Plug.Cowboy. Setup asks for existing Erlang/OTP and Elixir installation roots. Use OTP 28.5.0.7 / Elixir 1.19.5, then follow the generated compile/start commands.

    FrameworkSetup and compatibility
    Plug / Plug.CowboyCLI setup requires Plug 1.20.3 / Plug.Cowboy 2.9.0 / Cowboy 2.19.0. Compile and start through the generated backend-beam wrapper.
    PhoenixPhoenix 1.8.15 has an implemented SDK adapter and tested endpoint/router/controller capture. Automatic CLI installation/startup is not available yet; claron backend init does not support Phoenix.
    bash
    node .claron/backend-beam/build.mjs compile
    claron backend run -- node .claron/backend-beam/build.mjs start