Your Remix pit crew
Pitlane gives you composable packages to help you put your Remix app on the grid.
Grand Prix Circuit · Motorsport Park
- 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.
import { remix } from "pitlane/vite-plugin-remix";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [remix()],
});Load & validate
Your files become typed, queryable collections.
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() }),
}),
}));Style & compose
Typed design tokens. Native Remix styling.
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",
},
});Crawl & prerender
Follow your app’s links without starting an HTTP server.
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);
}Connect your data
Remix’s database API, backed by your Cloudflare D1 binding.
import { createD1Database } from "pitlane/data-table-d1";
import { env } from "cloudflare:workers";
export let db = createD1Database(env.DB);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.00Illustrative sequence · not a benchmark
- L100:01.80
Scaffoldedvpx giget github:pitlane-tools/templates/cloudflare my-app - L200:07.80
Installedcd my-app && vp install - L300:12.60
Provisionedvpx wrangler d1 create my-app-db - L400:14.25
Running at :1612vp run dev - L500:27.00
Deployedgit push && gh run watch 18374291056