Kaneo Commands for Development: Essential CLI Scripts Explained
The basic Kaneo commands are pnpm dev, pnpm build, pnpm lint, pnpm test, and pnpm typecheck, all defined in the root package.json and orchestrated by TurboRepo.
Kaneo is structured as a pnpm monorepo managed by TurboRepo. All development workflows—starting servers, building for production, running tests, and code quality checks—are exposed as npm scripts in the repository's top-level package.json. These commands coordinate tasks across the apps/ and packages/ directories, enabling parallel execution with correct environment variable propagation.
Essential Kaneo Development Commands
These core commands handle day-to-day development tasks. Each invokes TurboRepo to run operations across the workspace efficiently.
pnpm dev — Start Development Servers
Starts both the API server (@kaneo/api) and the web client (@kaneo/web) in watch mode with hot reloading. This is the primary command for local development.
pnpm dev
Defined in [package.json](https://github.com/usekaneo/kaneo/blob/main/package.json#L5-L8), this script uses TurboRepo to parallelize the startup process.
pnpm build — Production Build
Runs a production build for every workspace package, generating optimized bundles for deployment.
pnpm build
This command processes all packages in dependency order, ensuring shared libraries build before apps that depend on them.
pnpm lint — Code Quality with Biome
Executes Biome linting across the entire repository, automatically fixing style issues where possible.
pnpm lint
Biome provides fast, unified formatting and linting without requiring separate Prettier and ESLint configurations.
pnpm test — Unit Test Suite
Runs all unit tests defined across packages (API, web, and shared libraries).
pnpm test
pnpm test:integration — API Integration Tests
Executes the integration test suite for the API. Requires a running PostgreSQL instance.
pnpm test:integration
This command is defined in [package.json](https://github.com/usekaneo/kaneo/blob/main/package.json#L15) and validates end-to-end API functionality.
pnpm typecheck — TypeScript Validation
Performs a full TypeScript type-check across the workspace to catch type errors before commits.
pnpm typecheck
Found in [package.json](https://github.com/usekaneo/kaneo/blob/main/package.json#L16), this ensures type safety without emitting compiled files.
Internationalization Commands
Kaneo includes dedicated scripts for managing translation files, located in [package.json](https://github.com/usekaneo/kaneo/blob/main/package.json#L8-L12).
pnpm i18n:check— Validates translation files for missing keys or formatting problemspnpm i18n:check:fix— Same validation with automatic fixes appliedpnpm i18n:report— Generates statistics and identifies unused translation keyspnpm i18n:report:fix— Generates report with automatic cleanuppnpm i18n:schema— Recreates the i18n schema and formats with Biome
# Validate translations
pnpm i18n:check
# Fix translation issues automatically
pnpm i18n:check:fix
# Regenerate schema
pnpm i18n:schema
Configuration Files Behind Kaneo Commands
Understanding these files helps troubleshoot command behavior:
| File | Purpose |
|---|---|
[package.json](https://github.com/usekaneo/kaneo/blob/main/package.json) |
Central script registry defining all available commands |
[turbo.json](https://github.com/usekaneo/kaneo/blob/main/turbo.json) |
TurboRepo pipeline configuration orchestrating task dependencies and caching |
[ENVIRONMENT_SETUP.md](https://github.com/usekaneo/kaneo/blob/main/ENVIRONMENT_SETUP.md) |
Documents required environment variables (KANEO_API_URL, KANEO_CLIENT_URL, etc.) |
apps/api/ |
Hono/Node API implementation started by development commands |
apps/web/ |
React + Vite web client started by development commands |
Common Kaneo Command Workflows
Daily Development Cycle
# 1. Start both servers
pnpm dev
# 2. In another terminal, run type checks
pnpm typecheck
# 3. Before committing, lint and test
pnpm lint
pnpm test
Pre-Deployment Verification
# Full validation pipeline
pnpm typecheck
pnpm test
pnpm test:integration # if PostgreSQL available
pnpm build
Summary
pnpm devstarts the API and web client simultaneously with hot reloadingpnpm buildcreates production-ready bundles across all packagespnpm lintruns Biome for unified formatting and lintingpnpm testandpnpm test:integrationexecute unit and integration testspnpm typecheckvalidates TypeScript types workspace-wide- i18n commands manage translation file validation and schema generation
- All commands are defined in
package.jsonand orchestrated by TurboRepo viaturbo.json
Frequently Asked Questions
What package manager does Kaneo require?
Kaneo requires pnpm. The repository uses pnpm workspaces for monorepo management, and all documented commands assume pnpm is installed.
Why does Kaneo use TurboRepo instead of running scripts directly?
TurboRepo provides intelligent task orchestration with parallel execution, dependency-aware ordering, and aggressive caching. This means pnpm build automatically builds shared packages before apps that depend on them, and repeated builds skip unchanged packages entirely.
Where are the actual API and web applications located?
The API server code lives in apps/api/ and the web client in apps/web/. When you run pnpm dev, TurboRepo starts both applications and manages their interdependencies, environment variables, and port allocations as configured in turbo.json.
Do I need special environment variables for Kaneo commands to work?
Yes. Commands that start servers or run integration tests require environment variables documented in [ENVIRONMENT_SETUP.md](https://github.com/usekaneo/kaneo/blob/main/ENVIRONMENT_SETUP.md), including KANEO_API_URL, KANEO_CLIENT_URL, and PostgreSQL connection details for integration tests.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →