# Pitlane > Portable platform integration for Remix 3. Pitlane gives you composable packages to help you put your Remix app on the grid. Its packages are independent: @pitlane/vite-plugin-remix (build & develop), @pitlane/content (load & validate), @pitlane/theme (style & compose), @pitlane/crawler (crawl & prerender), @pitlane/data-table-d1 (connect your data). Start with [Pitlane guides](https://pitlane.tools/guides.md). [The home page](https://pitlane.tools/index.md) shows what each package is for, with an example. Every page listed here is Markdown, at its HTML page's address with `.md` added, or `index.md` for an address ending in `/`. [llms-full.txt](https://pitlane.tools/llms-full.txt) holds every page in one file. ## Getting Started - [Pitlane guides](https://pitlane.tools/guides.md): An introduction to Pitlane, a composable toolkit for Remix 3, with guides for each task. - [Installing Pitlane](https://pitlane.tools/guides/umbrella.md): Install every Pitlane package with one dependency, import each through a pitlane/* subpath, and decide when the scoped @pitlane/* packages fit better. ## Vite Plugins - [Using the Vite plugin](https://pitlane.tools/guides/vite-plugin.md): How the remix() plugin from pitlane/vite-plugin-remix behaves in your app day to day, across document assets, the clientEntry() transform and its footguns, dev-server semantics, preview, and the build. - [Hot module replacement](https://pitlane.tools/guides/hmr.md): How the pitlane/vite-plugin-remix Vite plugin hot-updates a Remix 3 app during vite dev, covering which component edits swap in place, which remount, how server-only edits revalidate through the frame runtime, and the requirements and limits of both halves. - [Single-page apps](https://pitlane.tools/guides/spa.md): How remix({ server: false }) sets up a client-rendered Remix 3 app, and what the plugin still contributes once there is no server. - [Fetch server](https://pitlane.tools/guides/fetch-server.md): Serve a Vite app's development requests through the Fetch handler your server module exports, with fetchServer() from pitlane/vite-plugin-fetch-server, alone or beside assets(). ## Assets - [Asset resolution](https://pitlane.tools/guides/assets.md): Resolve browser entries, stylesheets, preload hints, and import maps from a Vite build or dev server with pitlane/assets, in a Remix app or any other server-rendered app. - [Manifest integrations](https://pitlane.tools/guides/asset-build.md): Produce an asset manifest from any bundler's output with createAssetManifest from pitlane/assets/build, and consume it through createAssetResolver without Vite. ## Deployment - [Deploy to Cloudflare Workers](https://pitlane.tools/deploy/cloudflare.md): Run a Remix 3 app on Cloudflare Workers with pitlane/vite-plugin-remix and the Cloudflare Vite plugin, with workerd in dev, Miniflare preview, and wrangler deploy. - [Deploy to Netlify](https://pitlane.tools/deploy/netlify.md): Run a Remix 3 app on Netlify with pitlane/vite-plugin-remix: a one-file Netlify Function wraps the built fetch handler, and the Netlify Vite plugin emulates the platform locally. - [Deploy to Vercel](https://pitlane.tools/deploy/vercel.md): Run a Remix 3 app on Vercel with pitlane/vite-plugin-remix and the Nitro Vite plugin, which produces Vercel Functions through the Build Output API. - [Deploy to Railway](https://pitlane.tools/deploy/railway.md): Run a Remix 3 app on Railway under Node, Bun, or Deno: the built fetch handler plus one Dockerfile. - [Deploy to Railway (No Build)](https://pitlane.tools/deploy/railway-no-build.md): Run a Remix 3 app on Railway under Node, Bun, or Deno straight from source: one Dockerfile that installs dependencies and starts server.ts, with no build step. - [Deploy to Deno Deploy](https://pitlane.tools/deploy/deno-deploy.md): Run a Remix 3 app on Deno Deploy: the built fetch handler behind a three-line Deno.serve entrypoint, built and deployed by Deploy's own infrastructure. - [Deploy to Deno Deploy (No Build)](https://pitlane.tools/deploy/deno-deploy-no-build.md): Run a Remix 3 app on Deno Deploy straight from source. Deploy installs dependencies, and Deno runs the TypeScript behind a three-line Deno.serve entrypoint with no build step. - [Deploy to GitHub Pages](https://pitlane.tools/deploy/github-pages.md): Deploy a Remix 3 app to GitHub Pages, in SPA mode with remix({ server: false }) or as a fully prerendered build, covering the base path and the 404.html fallback a project site needs. ## Crawler - [Crawler](https://pitlane.tools/guides/crawler.md): How pitlane/crawler walks a Remix 3 fetch router in memory, and the jobs that walk is good for: sitemaps, link checks, and render smoke tests. - [Prerendering](https://pitlane.tools/guides/prerendering.md): How remix({ prerender }) renders paths to static HTML during vite build, and where the paths come from. - [Prerendering (No Build)](https://pitlane.tools/guides/prerendering-no-build.md): How @pitlane/crawler renders an app's paths to static HTML from a script with no bundler, and where the paths come from. ## Theme - [Theme](https://pitlane.tools/guides/theme.md): Style Remix apps with remix/component css mixins and pitlane/theme design tokens. ## Content - [Content](https://pitlane.tools/guides/content.md): How pitlane/content turns Markdown, MDX, and data files into schema-validated collections a Remix 3 controller can query, prebuilt into the bundle by the contentLayer() Vite plugin. - [Content (No Build)](https://pitlane.tools/guides/content-no-build.md): How pitlane/content turns Markdown, MDX, and data files into schema-validated collections a Remix 3 controller can query, served straight from source with Sätteri rendering at request time. ## Data - [Cloudflare D1](https://pitlane.tools/guides/cloudflare-d1.md): How pitlane/data-table-d1 runs Remix 3's data-table on Cloudflare D1, and which parts of D1 the driver cannot paper over. ## @pitlane/assets API - [@pitlane/assets](https://pitlane.tools/package/assets/index.md): Framework-neutral asset resolution: construct a resolver from the manifest a build integration supplies, and read browser-entry URLs, preloads, stylesheets, and import maps from it. - [createAssetResolver](https://pitlane.tools/package/assets/function/createAssetResolver.md): Constructs the resolver for a manifest, usually the default export of `@pitlane/assets/manifest`. Construct it once, in a module of the app's own. - [renderImportMap](https://pitlane.tools/package/assets/function/renderImportMap.md): Serializes an import map into an inline `