Development Server
The Money monorepo uses Turborepo to manage multiple applications. You can run all apps simultaneously or run individual apps as needed.Run All Apps
To start all development servers at once:Running Individual Apps
You can run a specific app using Turborepo’s--filter flag:
Web App
The main landing/marketing website:- URL: http://localhost:3000
- Port: 3000
- Description: Main marketing and landing pages
Secure App
Password manager and secure vault application:- URL: http://localhost:3000
- Port: 3000
- Description: SecureVault password management app
- Features: Authentication, password storage, OAuth integration
CashGap App
Financial tracking and management application:- URL: http://localhost:3000
- Port: 3000
- Description: Financial tracking and cash flow management
- Features: Transaction tracking, authentication, email notifications
Docs App
Documentation site (this site):- URL: http://localhost:3001
- Port: 3001
- Description: Documentation and guides
Development Workflow
Start the development server
Choose which app(s) you want to work on and start the appropriate dev server(s).
Make your changes
Edit files in the
apps/ or packages/ directories. The dev server will automatically reload when you save changes.Hot Module Replacement (HMR) is enabled by default in Next.js, so most changes will appear instantly.Check for errors
Watch the terminal output for any errors or warnings. TypeScript errors will appear in real-time.You can also run type checking manually:
Available Scripts
These scripts are available at the root level and work across all apps:pnpm dev
Starts all development servers in watch mode. Changes to files will trigger hot reloads.
cache: false and persistent: true for optimal dev experience.
pnpm build
Builds all apps for production. See Building for details.
pnpm lint
Runs ESLint across all apps and packages:
pnpm format
Formats all TypeScript, TSX, and Markdown files using Prettier:
pnpm check-types
Runs TypeScript type checking across all apps:
App-Specific Scripts
Each app has its own scripts that can be run from within the app directory:Web, Docs, and CashGap
Secure
Working with Packages
The monorepo includes shared packages that are used across apps:@repo/ui: Shared React components@repo/auth: Authentication utilities@repo/eslint-config: Shared ESLint configuration@repo/typescript-config: Shared TypeScript configuration
Debugging
Enable Debug Logs
To see detailed Turborepo logs:Next.js Debugging
For Next.js-specific debugging, you can use the Node debugger:Common Issues
Port already in use If you see an error about port 3000 being in use:MONGODB_URI in your .env file is correct. See Database Setup.
Performance Tips
- Use filters: When working on a specific app, use
--filterto only run that app’s dev server - Turbo cache: Turborepo caches task outputs to speed up subsequent runs
- Parallel execution: Turborepo runs tasks in parallel when possible, respecting dependencies
Next Steps
Building
Learn about the production build process
Testing
Write and run tests
Environment Variables
Configure your environment
Contributing
Contribution guidelines