Skip to content
tako
Esc
↑↓navigate↵open⌘Jpreview
On this page

Choose a Framework

Choose a verified Tako integration for Next.js, TanStack Start, Vite, fetch handlers, Go HTTP frameworks, or Rust/Axum, with SDK support boundaries.

Choose the page matching the existing application. Keep its router and business code; connect Tako at the server entrypoint or listener boundary. Each guide covers configuration, runtime integration, and verification.

Choose a guide

Application Guide Integration
Next.js Next.js withTako() and the nextjs preset
React TanStack Start TanStack Start Tako Vite plugin and the tanstack-start preset
Other Vite application Vite Dev readiness and explicitly verified fetch-compatible server output
Plain Bun or Node.js HTTP app Fetch Handlers Web Request/Response handler and SDK entrypoint
Go standard library Go net/http tako.ListenAndServe(http.Handler)
Gin Gin Pass the Gin engine to the Go SDK
Echo Echo Pass the Echo application to the Go SDK
Chi Chi Pass the Chi router to the Go SDK
Rust/Axum Rust and Axum tako::axum::serve with the axum feature

For an image-based release, use the Docker section. A Dockerfile changes packaging; the app still needs its SDK’s bootstrap and authenticated status handling.

Pick a preset first

Built-in JavaScript framework presets are nextjs, tanstack-start, and vite. The Vite preset supplies a dev command, not a universal production server adapter. Go has a runtime preset rather than framework-specific entries. Rust uses explicit native build/start commands or a container release; runtime = "rust" is not a supported configuration value.

See Presets for defaults. A framework being built with Vite does not establish that its server output implements the fetch contract. For frameworks not listed here, inspect and adapt their actual server exports or listener integration before choosing main.

Language and SDK support

Capability JavaScript / TypeScript Go Rust
HTTP runtime and app secrets tako.sh Root tako.sh module tako crate
Presence and Store backends Definitions discovered under app_root Explicit registrations Explicit registries
Workflow handlers and workers defineWorkflow Separate github.com/tako-sh/tako/sdk/go module No workflow SDK API currently
Storage URL helpers, image URL helpers, server JSON cache JavaScript SDK helpers No equivalent helpers currently No equivalent helpers currently
Browser realtime and React hooks Shared tako.sh/client and tako.sh/react clients, including Go/Rust backends Same browser clients Same browser clients

Code groups on multi-language pages show supported equivalents. Command-line configuration is shared, while SDK function names and feature availability differ. The individual SDK skills provide language-specific details.

TanStack Start (and other Vite SSR frameworks)

Use TanStack Start for the supported preset and full configuration. For another Vite framework, follow Vite and verify that the emitted server entry accepts a Request and returns a Response.

Next.js

The dedicated Next.js guide covers withTako(), the server entry, static assets, local HTTPS, and the shared image optimizer.

Fallback: fetch handler (no preset)

Use Fetch Handlers for a small Bun or Node.js service. Native Go and Rust apps instead integrate through their SDK listener. Do not add the Vite plugin to a plain fetch app just to make Tako run it.

Last updated on

Was this page helpful?