This guide explains how to keep your project up to date with the latest boilerplate improvements.
# Update all @packages/* dependencies
pnpm update @packages/ddd-kit @packages/ui @packages/drizzleThat's it for most updates. Your custom code is never touched.
| Package | Contains | Auto-update? |
|---|---|---|
@packages/ddd-kit |
Result, Option, Entity, Aggregate, ValueObject | Yes |
@packages/ui |
shadcn/ui components | Yes |
@packages/drizzle |
Database schema helpers | Yes |
| Your domain code | Your entities, VOs, events | Never |
| Your app code | Your pages, components | Never |
packages/ # Updatable via pnpm
├── ddd-kit/ # DDD primitives
├── ui/ # UI components
└── drizzle/ # DB schema
apps/nextjs/src/ # YOUR CODE (never touched)
├── domain/ # Your domain entities
├── application/ # Your use cases
└── adapters/ # Your implementations
Reference code: # Examples to learn from
├── domain/user/ # Example aggregate
├── use-cases/auth/ # Example use cases
└── app/(auth)/ # Example pages
Check your current versions:
pnpm list @packages/ddd-kit @packages/ui @packages/drizzleCheck for available updates:
pnpm outdated @packages/*When there are breaking changes:
- Check CHANGELOG.md for the version
- Look for the "Breaking Changes" section
- Follow the migration guide provided
// Before (v0.x)
async signIn(user: User, password: Password): Promise<Result<AuthResponse>>
// After (v1.x)
async signIn(user: User, password: Password): Promise<Result<AuthSession>>Config files (biome.json, turbo.json, tsconfig.json) rarely change.
When they do:
- The CHANGELOG will note what changed
- Review the diff on GitHub
- Manually apply changes you want
The reference implementation (domain/user/, use-cases/auth/) may improve over time.
To benefit from improvements:
- Check the GitHub diff for changes
- Decide if you want the improvement
- Manually apply to your code
These are templates to learn from, not dependencies.
MAJOR.MINOR.PATCH
PATCH (1.0.x) - Bug fixes, safe to update without checking
MINOR (1.x.0) - New features, backward compatible
MAJOR (x.0.0) - Breaking changes, read migration guide first
- Weekly: Run
pnpm outdated @packages/*to check for updates - Before new features: Update to latest to get bug fixes
- Major versions: Read the migration guide before updating
pnpm update @packages/ddd-kit --force# Restart TypeScript server
# VS Code: Cmd+Shift+P -> "TypeScript: Restart TS Server"
# Or rebuild
pnpm buildOpen an issue on GitHub with:
- Previous version
- New version
- Error message