# Farm.js Docs > Complete Farm.js framework documentation. ## Pages - [Farm.js Documentation](https://farmjs.dev/docs.md): The complete Farm.js framework guide, powered by @farming-labs/docs. - [Post-response Work](https://farmjs.dev/docs/after.md): Schedule short server work with after() without delaying the response. - [API Client](https://farmjs.dev/docs/api-client.md): Call app API routes with api.hello.get style inference, cache policies, invalidation, retries, callbacks, and optimistic updates. - [API Routes](https://farmjs.dev/docs/api-routes.md): Expose HTTP handlers from src/app/api and validate input with schemas before handler code runs. - [Cache and PPR](https://farmjs.dev/docs/cache-ppr.md): Use shared runtime cache helpers, tag/path invalidation, ISR-style revalidation, and static shell caching for PPR pages. - [CLI](https://farmjs.dev/docs/cli.md): Use the Farm CLI to run, build, generate types, migrate apps, deploy output, and add integrations. - [Configuration](https://farmjs.dev/docs/configuration.md): Use farm.config.ts as the single project control plane for source paths, integrations, docs, storage, deployment, and framework behavior. - [Cron](https://farmjs.dev/docs/cron.md): Map portable UTC schedules to ordinary Farm API routes, run them locally, and compile them to deployment-native cron triggers. - [Deployment](https://farmjs.dev/docs/deployment.md): Build deployable output with Farm's deploy config and Nitro presets, from first-class targets to custom Nitro output. - [DevTools and Doctor](https://farmjs.dev/docs/devtools.md): Inspect Farm's resolved routes, APIs, integrations, storage, schedules, deployment settings, and diagnostics in the browser or terminal. - [Docs Engine](https://farmjs.dev/docs/docs-engine.md): Serve a @farming-labs/docs-powered docs runtime from Farm config, including human pages and agent-readable API routes. - [Environment Functions](https://farmjs.dev/docs/environment-functions.md): Keep server-only and client-only implementations out of the wrong Farm bundle. - [Examples](https://farmjs.dev/docs/examples.md): Use the examples folder as executable docs for routing, RSC, agents, docs, markdown, auth, billing, email, jobs, and API keys. - [Getting Started](https://farmjs.dev/docs/getting-started.md): Create a Farm.js app, understand the files that matter, and run the development server. - [Images](https://farmjs.dev/docs/images.md): Render responsive images with static dimensions, blur placeholders, secure remote optimization, and deployment-native providers. - [Integrations](https://farmjs.dev/docs/integrations.md): Register services once, get owned routes, typed callers, agent runtimes, providers, middleware, storage access, lifecycle hooks, and validation. - [Auth Integrations](https://farmjs.dev/docs/integrations/auth.md): Choose and configure Better Auth, Auth.js, Clerk, Auth0, WorkOS, or Supabase in a Farm app. - [Auth0 Integration](https://farmjs.dev/docs/integrations/auth/auth0.md): Add Auth0 login, callback, logout, profile, and protected-route flows to Farm. - [Auth.js Integration](https://farmjs.dev/docs/integrations/auth/authjs.md): Mount an Auth.js handler at Farm's catch-all auth route and keep using Auth.js native helpers. - [Better Auth Integration](https://farmjs.dev/docs/integrations/auth/better-auth.md): Mount a Better Auth instance in Farm and use its native client, storage, methods, and plugins. - [Clerk Integration](https://farmjs.dev/docs/integrations/auth/clerk.md): Register ClerkProvider and protect Farm routes with Clerk request authentication. - [Supabase Integration](https://farmjs.dev/docs/integrations/auth/supabase.md): Use Supabase email/password auth, OAuth, SSR sessions, custom pages, and protected Farm routes. - [WorkOS Integration](https://farmjs.dev/docs/integrations/auth/workos.md): Add WorkOS AuthKit login, sealed sessions, logout, and protected routes to Farm. - [Autumn Integration](https://farmjs.dev/docs/integrations/autumn.md): Add subscription and usage billing with Autumn while keeping Farm's integration API and storage layer. - [Cloudflare Agents Integration](https://farmjs.dev/docs/integrations/cf-agent.md): Run Cloudflare Agents beside Farm and deploy the UI, Agent classes, WebSockets, and Durable Objects as one Worker. - [Custom Integrations](https://farmjs.dev/docs/integrations/custom.md): Build a first-class Farm integration with typed APIs, route handlers, lifecycle hooks, config validation, middleware, providers, storage schemas, and runtime logs. - [Resend Integration](https://farmjs.dev/docs/integrations/email.md): Render React Email templates, send with Resend, schedule messages, preview templates, and receive webhooks. - [Eve Integration](https://farmjs.dev/docs/integrations/eve.md): Run a filesystem-first Eve agent beside Farm with same-origin routes and automatic Vercel composition. - [Inngest Integration](https://farmjs.dev/docs/integrations/inngest.md): Send typed events to existing Inngest functions, batch them, and inspect runs from Farm. - [Jobs Integration](https://farmjs.dev/docs/integrations/jobs.md): Define typed job contracts and call existing Trigger.dev tasks or Inngest functions through one Farm API. - [ORM Storage for Integrations](https://farmjs.dev/docs/integrations/orm-storage.md): Pass one storage client through farm.config.ts and let integrations use ctx.args.db through the unified farming-labs/orm-style API. - [Polar Integration](https://farmjs.dev/docs/integrations/polar.md): Use Polar for products, checkout, customer portals, subscriptions, webhooks, and entitlement-aware app flows. - [Stripe Integration](https://farmjs.dev/docs/integrations/stripe.md): Add checkout, portal sessions, billing status, webhooks, product catalogs, metering, and storage-backed billing snapshots. - [Trigger.dev Integration](https://farmjs.dev/docs/integrations/trigger.md): Trigger, schedule, batch, inspect, and cancel existing Trigger.dev tasks through typed Farm callers. - [UI Registry](https://farmjs.dev/docs/integrations/ui-registry.md): Opt into shadcn-style UI scaffolds for built-in integrations when you want working screens with the integration setup. - [Unkey Integration](https://farmjs.dev/docs/integrations/unkey.md): Create, verify, revoke, update, and delete API keys, plus protect routes with key verification and rate-limit checks. - [Internationalization](https://farmjs.dev/docs/internationalization.md): Build localized Farm apps with typed ICU messages, locale-aware routing, request detection, formatting, caching, and RTL from one config. - [Layers](https://farmjs.dev/docs/layers.md): Compose reusable Farm application directories and packages with predictable project overrides. - [Layouts and Route Boundaries](https://farmjs.dev/docs/layouts.md): Wrap routes with root and nested layouts, then use loading, error, and not-found files for route-level UX. - [Markdown Mirrors](https://farmjs.dev/docs/markdown.md): Expose markdown versions of app pages so agents, crawlers, docs tools, and support workflows can read rendered content as text. - [Middleware](https://farmjs.dev/docs/middleware.md): Run request behavior before routes, pass request-scoped data to pages, and short-circuit with redirects or responses. - [Migrations](https://farmjs.dev/docs/migrations.md): Move existing apps to Farm with deterministic code-first migrations, then run one-shot schema or provider commands. - [Observability](https://farmjs.dev/docs/observability.md): Listen to Farm runtime events for server lifecycle, route matching, rendering, API routes, integrations, storage, cache, PPR, builds, plugins, and errors. - [OpenAPI Reference](https://farmjs.dev/docs/openapi.md): Generate and publish API reference docs from Farm API route metadata, with Scalar-style presentation. - [Plugin Ecosystem](https://farmjs.dev/docs/plugins.md): Extend Farm's server and browser lifecycle with typed runtime, router, render, build, navigation, and development hooks. - [Client Plugins](https://farmjs.dev/docs/plugins/client.md): Define typed hydration, navigation, error, performance, and cleanup hooks directly inside a Farm plugin. - [Create a Plugin](https://farmjs.dev/docs/plugins/create-plugin.md): Build a typed Farm plugin with private state, request context, Web Request transforms, and framework lifecycle hooks. - [Instant Preview](https://farmjs.dev/docs/preview.md): Expose a running local Farm app through a public URL for sharing, webhook testing, OAuth callbacks, mobile QA, and browser automation. - [Project Structure](https://farmjs.dev/docs/project-structure.md): The compact file layout Farm expects, plus the optional files you add only when the app needs them. - [Query and Params](https://farmjs.dev/docs/query.md): Parse search params and route params with typed helpers on the server and synchronized state on the client. - [Reference](https://farmjs.dev/docs/reference.md): A compact map of the main package exports and where to learn more. - [Route Runtime](https://farmjs.dev/docs/route-runtime.md): Choose where dynamic pages and API routes execute, inherit deployment defaults from layouts, and set provider duration and region hints. - [Routing](https://farmjs.dev/docs/routing.md): Farm uses an app directory routing model with static routes, dynamic segments, catch-all routes, and typed navigation. - [Server Queries](https://farmjs.dev/docs/server-queries.md): Define typed server reads once, deduplicate requests, prefetch browser data, use stale-while-revalidate, and invalidate route, API, and query consumers with one key. - [Rendering Model](https://farmjs.dev/docs/server-rendering.md): Choose dynamic rendering, static rendering, ISR, or PPR with route-level exports and config. - [Storage](https://farmjs.dev/docs/storage.md): Use Farm storage clients for key-value data and pass storage clients to framework features and integrations. - [Testing](https://farmjs.dev/docs/testing.md): Test Farm requests, programmatic routes, API endpoints, and server functions with the real framework runtimes.