Docs · Getting started
Exactly what Orbit detects today: the only project marker it recognizes, the full technology registry, the one workspace format that works, and everything it cannot see.
Orbit's detection is deliberately narrow. It recognizes JavaScript and TypeScript projects identified by a package.json file, and it reports only the technologies held in a fixed, data-driven registry. This page documents what Orbit supports today — and, just as importantly, what it does not — so you know what to expect before you rely on it.
Orbit's only project marker is a package.json file. As the scanner walks your projects directory, any folder that directly contains a package.json is treated as a project. Nothing else marks a project.
pyproject.toml, requirements.txt, Cargo.toml, go.mod, pom.xml, build.gradle, Gemfile, composer.json, or *.csproj are ignored entirely.name field, falling back to the folder name when it is missing.dependencies and devDependencies only — peerDependencies and optionalDependencies are ignored.node_modules, .git, dist, out, .next, .turbo, .expo, .vscode, and .cursor.Because detection is driven by package.json, Orbit effectively supports Node.js / JavaScript / TypeScript projects — web apps, Node services, Electron desktop apps, and React Native or Expo apps — provided they ship a package.json. Projects built on other runtimes are not detected at all.
| Ecosystem | Detected today? | Project marker Orbit expects |
|---|---|---|
| Node.js / JavaScript / TypeScript | Yes | package.json |
| Python | No | — |
| Rust | No | — |
| Go | No | — |
| Java / Kotlin | No | — |
| Ruby | No | — |
| PHP | No | — |
| .NET / C# | No | — |
Orbit ships a fixed registry. These are all the technologies it can currently report, grouped by category:
| Technology | Category | Triggered by a dependency in `dependencies` / `devDependencies` |
|---|---|---|
| JavaScript | Languages | (none — currently never detected) |
| TypeScript | Languages | typescript |
| React | Frontend | react |
| Next.js | Frontend | next |
| React Native | Frontend | react-native |
| Expo | Frontend | expo |
| Node.js | Backend | express, fastify, @nestjs/core, hono, koa |
| Express | Backend | express |
| NestJS | Backend | @nestjs/core |
| Tailwind CSS | Styling | tailwindcss |
| Prisma | Database / ORM | prisma, @prisma/client |
| Mongoose | Database / ORM | mongoose |
| Drizzle | Database / ORM | drizzle-orm |
| Vite | Tools | vite |
| TanStack Query | Tools | @tanstack/react-query |
| TanStack Router | Tools | @tanstack/react-router |
| Socket.IO | Tools | socket.io, socket.io-client |
| Electron | Tools | electron |
| electron-vite | Tools | electron-vite |
| Turborepo | Tools | turbo |
| Bun | Tools | bun-types |
| Jest | Tools | jest |
| Vitest | Tools | vitest |
| Webpack | Tools | webpack |
| esbuild | Tools | esbuild |
Orbit groups related packages only when it finds a recognized workspace root. The only recognized workspace configuration is a package.json that declares a workspaces field — the npm, Yarn, and Bun convention.
package.json containing a workspaces field.pnpm-workspace.yaml, lerna.json, rush.json, Nx, Bazel, Cargo workspaces, and other monorepo tools. These folders are treated as ordinary directories.package.json is never listed as a project — the root is a container only.workspaces globs are not parsed. Orbit uses filesystem containment, so a project inside the folder is grouped even when the declared patterns would not match it.Part of the Orbit documentation · v1.0.0