package.json and can be run from the project root.
Development Scripts
dev
api/hono: Starts the Hono API server with hot reloadweb/next: Starts the Next.js development server
^build, persistent task, cache disabled
build
api/hono: Compiles TypeScript using tsdownweb/next: Creates optimized Next.js production build- Dependencies are built first (
^build)
.next/**, dist/** (excluding .next/cache/**)
start
api/hono: Executes the compileddist/index.mjsweb/next: Runs Next.js production server
Code Quality Scripts
format
.oxfmtrc.jsonc.
Configuration:
- No semicolons (
semi: false) - Experimental import sorting enabled
- Experimental Tailwind CSS class sorting enabled
- Ignores lock files
format:check
lint
api/hono:tsc --noEmit(type checking only)web/next:tsc --noEmit(type checking only)
check-types
^build to ensure types from dependencies are available
Database Scripts
All database scripts run from thepackages/db workspace and require building the @packages/env package first.
db:generate
@packages/env to load environment variables
db:migrate
@packages/env and requires POSTGRES_URL to be set
db:studio
@packages/env and requires POSTGRES_URL to be set
Utility Scripts
clean
- All
.nextdirectories - All
.turbocache directories - All
distbuild output directories - All
node_modulesdirectories - Empty directories (using
delete-empty)
devtools
shadcn:update
.github/scripts/shadcn-update.sh.
Lifecycle Scripts
postinstall
- Scans all workspace
package.jsonfiles - Auto-moves dependencies with consistent versions to the root catalog
- Sorts catalog entries alphabetically
- Reports unused catalog entries
- Reports dependencies with conflicting versions
.github/scripts/deps-manager.ts for implementation details.
prepare
Workspace-Specific Scripts
Each workspace has its own set of scripts. Run them using Turbo’s filter syntax:Hono API (api/hono)
Next.js Web (web/next)
Turbo Configuration
The monorepo uses Turborepo with the following task configuration:^build: Build dependencies first (workspace dependencies)persistent: Long-running tasks (servers, watchers)cache: false: Don’t cache output for these tasksoutputs: Files to include in the cache