Skip to content

@jaypie/repokit

Prerequisites: npm install -D @jaypie/repokit

@jaypie/repokit bundles common development tools to reduce dependency duplication across monorepo packages.

Terminal window
npm install -D @jaypie/repokit
Tool Purpose Command
dotenv Environment variables npx dotenv
env-cmd Run with env file npx env-cmd
rimraf Cross-platform rm -rf npx rimraf
sort-package-json Sort package.json npx sort-package-json
tsx TypeScript execution npx tsx

Load .env file:

Terminal window
npx dotenv -- node script.js
Terminal window
npx env-cmd -f .env.local npm run dev

In package.json:

{
"scripts": {
"dev": "env-cmd -f .env.local tsx watch src/server.ts"
}
}
Terminal window
npx rimraf dist

In package.json:

{
"scripts": {
"clean": "rimraf dist",
"build": "npm run clean && vite build"
}
}
Terminal window
npx sort-package-json

In package.json:

{
"scripts": {
"format:package": "sort-package-json"
}
}

Run TypeScript directly:

Terminal window
npx tsx src/script.ts

Watch mode:

Terminal window
npx tsx watch src/server.ts

Install once at root, available to all packages:

project/
├── package.json # Has @jaypie/repokit
├── packages/
│ ├── api/
│ │ └── package.json # No need for rimraf, tsx, etc.
│ └── worker/
│ └── package.json
{
"scripts": {
"build": "rimraf dist && vite build && tsc --emitDeclarationOnly",
"clean": "rimraf dist",
"dev": "env-cmd -f .env.local tsx watch src/server.ts",
"format:package": "sort-package-json"
}
}

Both are included. Prefer env-cmd for:

  • Multiple env files: env-cmd -f .env.local -f .env.secrets
  • Fallback files: env-cmd -f .env.local --fallback

Use dotenv for simple cases:

Terminal window
dotenv -- node script.js