Skip to content

Search the guides, deployment pages, and API reference.

Your Remix pit crew

Pitlane gives you composable packages to help you put your Remix app on the grid.

Get started See all packages
Grand Prix Circuit · Motorsport Park
12345678910
  • P1 Remix + Pitlane
  • P2–P4 Other frameworks

Composable packages. Built on Web APIs.

Install pitlane for every package under one namespace, or choose the individual @pitlane/* packages.

Package inspector5 packages

Select a package

Build & develop

Development, server, and browser builds, all in one Vite plugin.

vite.config.ts
import { remix } from "pitlane/vite-plugin-remix";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [remix()],
});
Explore @pitlane/vite-plugin-remix

Load & validate

Your files become typed, queryable collections.

app/content.ts
import { createContent } from "pitlane/content";
import * as loaders from "pitlane/content/loaders";
import * as s from "remix/data-schema";
export let content = createContent(c => ({
posts: c.collection({
loader: loaders.glob({
base: "app/posts",
pattern: "**/*.md",
}),
schema: s.object({ title: s.string() }),
}),
}));
Explore @pitlane/content

Style & compose

Typed design tokens. Native Remix styling.

app/theme.ts
import { createTheme } from "pitlane/theme";
import * as s from "pitlane/theme/schema";
export let { token: t, Theme } = createTheme({
schema: {
color: s.color(),
spacing: s.scale(),
},
tokens: {
color: { brand: "#eb2027" },
spacing: "0.25rem",
},
});
Explore @pitlane/theme

Crawl & prerender

Follow your app’s links without starting an HTTP server.

scripts/crawl.ts
import { crawl } from "pitlane/crawler";
import router from "../app/entry.server.ts";
for await (let { pathname, response } of crawl(router)) {
console.log(pathname, response.status);
}
Explore @pitlane/crawler

Connect your data

Remix’s database API, backed by your Cloudflare D1 binding.

app/database.ts
import { createD1Database } from "pitlane/data-table-d1";
import { env } from "cloudflare:workers";
export let db = createD1Database(env.DB);
Explore @pitlane/data-table-d1

Pick your circuit.

Deploy your Remix app anywhere JavaScript runs.

Deployment control

The same fetch handler.
Any JavaScript runtime.

A pit crew that can help you deploy in no time flat.

Cloudflare template5 laps

Lap

00:27.00

Illustrative sequence · not a benchmark

  1. L100:01.80
    vpx giget github:pitlane-tools/templates/cloudflare my-app
    Scaffolded
  2. L200:07.80
    cd my-app && vp install
    Installed
  3. L300:12.60
    vpx wrangler d1 create my-app-db
    Provisioned
  4. L400:14.25
    vp run dev
    Running at :1612
  5. L500:27.00
    git push && gh run watch 18374291056
    Deployed

Let’s get you
on the grid.

Start building with Pitlane