API Overview
Complete technical reference for all Manic exports.
API Reference
Complete reference for exports from the manicjs package (every subpath is listed on Package exports). Nested sections group runtime APIs by concern — each export has its own page where practical.
Navigation
Package exports
Full manicjs export matrix by entry point
Router
Router Link hooks preloadRoute
Config & plugins
ManicConfig defineConfig loadConfig createPlugin
Server
createManicServer Bun bootstrap
Theme
ThemeProvider useTheme ThemeToggle initTheme
Transitions
ViewTransitions setViewTransitions
Environment
getEnv getPublicEnv
Client & RPC
createClient typed hono client
Plugin loaders
apiLoaderPlugin fileImporterPlugin
Errors & shells
NotFound ErrorOverlay ServerError
Router
Router
Root SPA router
Link
Declarative navigation + prefetch
navigate
Programmatic navigation
useRouter
Matched route, params, navigation
useQueryParams
Reactive URLSearchParams
preloadRoute
Manual chunk warmup
RouterContext
Low-level router React context
Theme
ThemeProvider
Context + persistence + html.dark
useTheme
Hook for theme state
ThemeToggle
Accessible toggle button
initTheme
Apply stored theme early manicjs/theme
Errors
Environment
View transitions
Config helpers
defineConfig
Typed manic.config.ts export
loadConfig
Async load + merge defaults
getConfig
Cached sync accessor manicjs/config
createPlugin
Plugin authoring helper
Client
Server & loaders
createManicServer
Bun.serve entry fullstack frontend
apiLoaderPlugin
Discover app/api routes
fileImporterPlugin
serveStatic helper
Quick reference
| Export | Preferred import | Description |
|---|---|---|
Router, Link, navigate, useRouter, useQueryParams | manicjs or manicjs/router | SPA routing |
preloadRoute, RouterContext | manicjs/router only | Advanced routing (RouterContext) |
defineConfig, createPlugin, loadConfig, getConfig | manicjs/config | Config & plugins (plugins) |
createManicServer | manicjs/server | Bun server entry (page) |
createClient | manicjs or manicjs/client | Typed RPC (createClient) |
ViewTransitions, setViewTransitions | manicjs or manicjs/transitions | View Transitions API |
ThemeProvider, useTheme, ThemeToggle | manicjs or manicjs/theme | Theme |
initTheme | manicjs/theme only | Early theme apply |
getEnv, getPublicEnv | manicjs/env | Env access |
NotFound, ErrorOverlay, ServerError | manicjs | Error UI |
apiLoaderPlugin, fileImporterPlugin | manicjs/plugins | Low-level loaders |
See Package exports for types-only exports (RouteDef, ManicPluginContext, …).
Installation
bun add manicjs// App code — shortest path
import { Link, useRouter, navigate } from 'manicjs';
// manic.config.ts
import { defineConfig, createPlugin } from 'manicjs/config';
// Advanced routing
import { preloadRoute } from 'manicjs/router';TypeScript
Manic ships TypeScript sources as its published types — full IntelliSense across every entry point.