monorepolisted
Install: claude install-skill avibebuilder/claude-prime
# Monorepo
pnpm workspaces + Turborepo for scalable monorepo development.
## Core Principles (Must Remember)
### Workspace Organization
1. **Split apps from packages** - Use `apps/` for deployables, `packages/` for shared libraries
2. **Namespace packages** - Prefix with `@org/` to avoid npm conflicts (e.g., `@acme/utils`)
3. **Single lockfile** - Never commit multiple lockfiles; `pnpm-lock.yaml` at root only
4. **No cross-package file access** - Never use `../` to reach into other packages; import via dependencies
### Dependency Management
5. **Use `workspace:*` protocol** - Always use `workspace:*` for internal package dependencies
6. **Hoist common devDependencies** - Shared tooling (TypeScript, ESLint) belongs in root
7. **Peer dependencies for frameworks** - React, Vue, etc. should be peers to avoid version conflicts
8. **Consider Catalogs (pnpm 9.5+)** - Centralize versions in `pnpm-workspace.yaml` for large repos
### Turborepo Tasks
9. **Use `^` for build dependencies** - `"dependsOn": ["^build"]` ensures correct topological order
10. **Always define `outputs`** - Without outputs, nothing gets cached
11. **Mark dev servers as persistent** - Use `"persistent": true, "cache": false` for long-running tasks
12. **Be explicit about environment** - List all build-affecting vars in `env` or `globalEnv`
### Caching
13. **Enable remote cache early** - Even solo devs benefit from shared CI/local cache
14. **Use `--summarize` for debugging** - Compare task summaries whe