Getting KaroCar Platform running locally means bootstrapping a Turborepo monorepo that contains six Next.js apps and several shared packages. Because all apps and packages live in a single repository managed by pnpm workspaces, a singleDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Codefied-CodePix/KaroCar-platform/llms.txt
Use this file to discover all available pages before exploring further.
pnpm install from the root wires everything together — shared UI components, ESLint configs, and TypeScript configs are all available immediately without any separate publish step.
Prerequisites
Make sure the following tools are installed before you clone the repository.Node.js ≥ 18
KaroCar Platform requires Node.js 18 or later. Use the LTS release for the
most stable experience.
pnpm 9
The monorepo is managed with pnpm 9. Using a different version may cause
lockfile conflicts.
Git
You’ll need Git to clone the repository and manage branches across the
monorepo.
Turbo CLI (optional)
Installing Turbo globally lets you run
turbo commands directly. Otherwise,
pnpm scripts delegate to the local Turbo installation automatically.Setup Steps
Install Node.js ≥ 18
Download and install the LTS release from nodejs.org. Verify the version after installation:If you manage multiple Node versions, nvm makes switching straightforward:
Install pnpm 9
The root Confirm the installation:
package.json declares "packageManager": "pnpm@9.0.0". Install pnpm 9 globally:Install Turbo globally (optional)
Turbo is already listed as a devDependency in the root
package.json, so all pnpm scripts work without a global install. If you prefer running turbo directly in your terminal, install it globally:Install all workspace dependencies
A single pnpm resolves the
pnpm install from the repository root installs dependencies for every app and package defined in pnpm-workspace.yaml:workspace:* protocol used by apps that depend on shared packages such as @karo-car/ui, linking them directly from the packages/ directory instead of fetching them from a registry.Workspace Resolution
KaroCar Platform uses pnpm’sworkspace:* protocol to link internal packages. When an app’s package.json lists "@karo-car/ui": "workspace:*", pnpm resolves that dependency directly from packages/ui on your local disk. This means:
- Changes to a shared package are reflected in apps immediately without re-publishing.
- There is no need to run
pnpm buildon a package before consuming it in an app during development (Next.js transpiles workspace packages on the fly).
pnpm-workspace.yaml:
The
.npmrc file at the repository root is currently empty. pnpm’s default
workspace resolution behaviour applies — workspace:* links are resolved
directly from the packages/ directory without any additional configuration.Running a Single App
You don’t have to start every app at once. Pass a--filter flag to run only the app you’re working on:
Troubleshooting
Port already in use
Port already in use
If a Next.js app fails to start because its default port (3000, 3001, etc.) is
already occupied, find and kill the process using that port:You can also configure a different port by setting the
PORT environment
variable in the app’s .env.local file.Module not found: @karo-car/ui
Module not found: @karo-car/ui
This error usually means pnpm’s workspace symlinks are missing or stale. Run
pnpm install from the repository root (not from inside an individual
app) to regenerate them:Node version mismatch
Node version mismatch
The Consider adding a
engines field in package.json requires Node ≥ 18. If you see an
engine compatibility error, switch your active Node version with nvm:.nvmrc file to your local checkout so that nvm use
automatically picks the right version.