Skip to main content

Documentation 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.

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 single 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

1

Install Node.js ≥ 18

Download and install the LTS release from nodejs.org. Verify the version after installation:
node --version
# v22.x.x  (must be ≥ 18)
If you manage multiple Node versions, nvm makes switching straightforward:
nvm install 22
nvm use 22
2

Install pnpm 9

The root package.json declares "packageManager": "pnpm@9.0.0". Install pnpm 9 globally:
npm install -g pnpm@9
Confirm the installation:
pnpm --version
# 9.x.x
3

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:
npm install -g turbo
4

Clone the repository

Clone the KaroCar Platform repository and navigate into it:
git clone https://github.com/Codefied-CodePix/KaroCar-platform.git
cd KaroCar-platform
5

Install all workspace dependencies

A single pnpm install from the repository root installs dependencies for every app and package defined in pnpm-workspace.yaml:
pnpm install
pnpm resolves the 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.
6

Start the development servers

Run all apps in watch mode with a single command:
pnpm dev
Alternatively, if you installed Turbo globally:
turbo dev
Turborepo starts every app in the apps/* workspace concurrently and streams their output to your terminal, colour-coded by package name.

Workspace Resolution

KaroCar Platform uses pnpm’s workspace:* 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 build on a package before consuming it in an app during development (Next.js transpiles workspace packages on the fly).
The workspace glob patterns are defined in pnpm-workspace.yaml:
packages:
  - "apps/*"
  - "packages/*"
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:
turbo dev --filter=web
turbo dev --filter=admin
turbo dev --filter=auth
--filter accepts any package name (as declared in that workspace’s package.json) or a glob. Use turbo dev --filter=web... (with trailing ...) to also start any packages that web depends on.

Troubleshooting

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:
# macOS / Linux
lsof -ti tcp:3000 | xargs kill

# Windows (PowerShell)
Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess | Stop-Process
You can also configure a different port by setting the PORT environment variable in the app’s .env.local file.
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:
cd KaroCar-platform   # make sure you're at the root
pnpm install
The engines field in package.json requires Node ≥ 18. If you see an engine compatibility error, switch your active Node version with nvm:
nvm install 22
nvm use 22
node --version   # should print v22.x.x
Consider adding a .nvmrc file to your local checkout so that nvm use automatically picks the right version.

Build docs developers (and LLMs) love