Frameworks & detection

Detection is driven entirely by what's in your project - the manifest and lockfiles. Nothing is configured by hand.

Supported frameworks

Next.jsNext.js
NestJSNestJS
ViteVite
NuxtNuxt
AstroAstro
RemixRemix
React (CRA)React (CRA)
SvelteKitSvelteKit
SolidStartSolidStart
QwikQwik
HonoHono
FreshFresh

Rig reads dependencies from package.json in a fixed order - Next, Nest, Nuxt, Astro, Remix, CRA, then Vite as the catch-all for the React/Vue/Svelte/Solid family. Deno projects are detected from deno.json; Fresh declares itself through the imports map.

Runtimes

Node.jsNode.js
BunBun
DenoDeno

If both deno.json and package.json exist (Deno 2 npm-compat), Rig treats the project as Node/Bun and uses the package.json scripts.

Package managers

npmnpm
pnpmpnpm
YarnYarn
BunBun

Detected from the lockfile in the project root, checked in this order:

FoundManager
deno.json (no package.json)Deno
bun.lockbBun
pnpm-lock.yamlpnpm
yarn.lockYarn
package-lock.jsonnpm
nothingyour configured default

Node version

Rig reads the Node version from .nvmrc, .node-version, the engines.node field, or a Volta block - in that order. You can override it per project in the app, or from the CLI:

See rig node <name> [version] in the CLI reference.

Next: .rig domains & DNS