Skip to content

TypeScript & Turbo ​

Monorepo mastery

Modern JavaScript development means TypeScript monorepos with Turborepo. These aliases make it feel native.

Turborepo Aliases ​

Basic Commands ​

AliasCommandDescription
tturboTurbo CLI
tbturbo buildBuild all packages
tdturbo devDev mode (all)
tlturbo lint:fixLint & auto-fix
ttturbo testRun all tests
tcturbo typecheckType check
tfturbo --filterFilter prefix

Most turbo commands work on all packages by default. Use filters to target specific ones.

Filter Functions ​

Run turbo commands scoped to specific packages:

bash
tdf temporal          # turbo dev --filter=temporal
tbf @packages/agents  # turbo build --filter=@packages/agents
tcf @apps/tools       # turbo typecheck --filter=@apps/tools
ttf temporal          # turbo test --filter=temporal

These save massive amounts of typing in large monorepos. Build muscle memory for your most-used packages.

Housekeeping ​

AliasCommandDescription
tkillpkill turboKill all turbo processes
tclearrm -rf .turboClear turbo cache
trestartpkill turbo; turbo devKill and restart dev servers

When turbo gets into a weird state (it happens), trestart is your friend.

pnpm Aliases ​

AliasCommandDescription
ppnpmpnpm CLI
pipnpm installInstall dependencies
papnpm addAdd dependency
padpnpm add -DAdd dev dependency
prmpnpm removeRemove package
prpnpm runRun script
puppnpm updateUpdate packages
pupipnpm update --interactiveInteractive update
poutpnpm outdatedCheck outdated packages
pauditpnpm auditSecurity audit

pnpm is faster than npm, especially in monorepos. These aliases make it even faster.

TypeScript Commands ​

Type Checking ​

AliasCommandDescription
tscpnpm exec tscTypeScript compiler
tcheckpnpm exec tsc --noEmitType check only (no build)
tcwpnpm exec tsc --noEmit --watchWatch mode type checking
tsvpnpm exec tsc --versionShow TypeScript version

tcheck is your friend. Run it before committing to catch type errors early.

Running TypeScript ​

Direct TypeScript execution with tsx:

bash
ts file.ts           # Run TypeScript file directly
tsw file.ts          # Watch mode - reruns on changes
tsx                  # Direct tsx access

No build step needed. Perfect for quick scripts and testing.

Testing ​

Vitest ​

AliasCommandDescription
vtpnpm exec vitestRun vitest
vtwpnpm exec vitest --watchWatch mode
vtupnpm exec vitest --uiUI mode (in browser)
vtcpnpm exec vitest --coverageWith coverage report
vtrpnpm exec vitest runSingle run (no watch)

Vitest is fast. Really fast. Use watch mode during development.

Linting & Formatting ​

AliasCommandDescription
lintpnpm run lint:allRun all linters
lintfpnpm run lint:fixLint with auto-fix
fmtpnpm exec prettier --writeFormat with Prettier
biopnpm exec biomeBiome CLI
biofpnpm exec biome check --writeBiome check and fix

Biome is faster than ESLint + Prettier combined. Consider it for new projects.

Git Iris Integration ​

AI-powered git workflows:

AliasCommandDescription
irisgit irisGit Iris CLI
irisggit iris genGenerate commit message
irispgit iris prGenerate PR description
irissgit iris studioOpen Iris studio interface

PR Description Functions ​

Generate PR descriptions from commits:

bash
gpr            # Generate PR desc from HEAD~1
gpr HEAD~3     # From last 3 commits
gprc HEAD~2    # Generate and copy to clipboard

Let AI write your PR descriptions. Edit as needed, but it's a great starting point.

Monorepo Navigation ​

mono — Package Jumper ​

Fuzzy-find and jump to packages in your monorepo:

bash
mono
# Shows all packages (finds all package.json files)
# Preview shows package name from package.json
# Enter to cd into selected package

Works in any monorepo with package.json files. Faster than remembering paths.

monols — List Packages ​

Display all workspace packages with SilkCircuit styling:

bash
monols
# ━━━ Workspace Packages ━━━
# ▸ @apps/web                      0.0.1
# ▸ @apps/api                      0.0.1
# ▸ @packages/agents               1.0.0
# ▸ temporal                       0.0.1

Quick overview of your monorepo structure and versions.

Project Info ​

ts-info — Project Details ​

Show comprehensive TypeScript project information:

bash
ts-info
# ━━━ Project Info ━━━
# ▸ Node: v22.0.0
# ▸ PM: pnpm (monorepo)
# ▸ TypeScript: 5.6.3
# ▸ Turbo: enabled
#
# ━━━ Tooling ━━━
#   ✓ vitest
#   ✓ biome
#   ✓ eslint

Great for onboarding or debugging environment issues.

Claude Code ​

AliasCommandDescription
ccclaudeClaude CLI
cccclaude --continueContinue session

For AI-assisted development in the terminal.

Workflows ​

Starting Development ​

bash
# Jump to package
mono
# Select the one you're working on

# Start dev server (filtered)
tdf @apps/web

# In another terminal, watch tests
ttf @apps/web

Before Commit ​

bash
# Type check
tcheck

# Lint and fix
lintf

# Run tests
vtr

# Commit with AI
gig

Managing Dependencies ​

bash
# Check outdated packages
pout

# Interactive update
pupi

# Or update all
pup

Building for Production ​

bash
# Type check first
tc

# Build all
tb

# Or filter specific packages
tbf @apps/web @apps/api

Debugging Type Errors ​

bash
# Watch mode shows errors as you fix them
tcw

# Or check specific package
tsc --noEmit -p packages/agents/tsconfig.json

Cleaning Up ​

bash
# Clear turbo cache
tclear

# Kill stuck dev servers
tkill

# Reinstall dependencies
rm -rf node_modules
pi

Pro Tips ​

Use filters aggressively: In large monorepos, tdf mypackage is way faster than td (which starts everything).

Watch mode for tests: Keep vtw running in a tmux pane. Instant feedback on changes.

Type check before build: tcheck is faster than a full build and catches type errors early.

Learn your package names: Muscle memory for filter commands pays off fast. tdf temporal becomes automatic.

AI for boilerplate: Use iris for commit messages and PR descriptions. Edit the output, but let AI do the first draft.

Navigate with mono: Stop typing paths. mono + fuzzy search is faster.

Cache awareness: Turbo cache is smart, but sometimes you need tclear to fix weird issues.

Workspace commands: Use pnpm -r for workspace-wide commands: pnpm -r build builds everything.

Released under the MIT License