- Fork the repository
- Clone your fork
- Create a feature branch:
git checkout -b feature/your-feature - Install dependencies:
npm install - Create a
.env.localfile with required variables
- Language: TypeScript (strict mode)
- Framework: Next.js 14+ with App Router
- Styling: Tailwind CSS
- State Management: Zustand
- Testing: Jest + React Testing Library
Use conventional commits:
feat:New featurefix:Bug fixdocs:Documentationstyle:Code style changesrefactor:Code refactoringtest:Adding testschore:Maintenance
Example: feat: add portfolio rebalancing widget
- Update tests
- Update documentation
- Add entry to CHANGELOG.md
- Ensure all tests pass:
npm test - Run type checking:
npm run type-check - Submit PR with clear description
# Start dev server
npm run dev
# Run tests
npm test
# Type checking
npm run type-check
# Build for production
npm run buildKeep components modular and organized:
src/components/feature/
├── Feature.tsx # Main component
├── Feature.test.tsx # Tests
├── useFeature.ts # Custom hook (if needed)
└── index.ts # Exports
All PRs require:
- At least one approval
- All tests passing
- No lint errors
- Documentation updated
Open an issue or discuss in the Discord channel.