Thank you for your interest in contributing to jijiv2! This document provides guidelines for contributing to the project.
This project follows a simple principle: Be respectful and constructive. We're all here to build something useful together.
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Environment details (OS, Node version, browser)
- Check Discussions first
- Create a new discussion with:
- Clear use case
- Proposed solution
- Alternative approaches considered
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/jijiv2.git
cd jijiv2- Install dependencies:
npm install- Create a branch:
git checkout -b feature/my-feature- Make your changes
- Follow the code style
- Test your changes locally
- Run linter:
npm run lint- Format code:
npm run formatFollow Conventional Commits:
git commit -m "feat: add transaction export feature"
git commit -m "fix: resolve date formatting bug"
git commit -m "docs: update API documentation"Types:
feat- New featurefix- Bug fixdocs- Documentation onlystyle- Code style (formatting, no logic change)refactor- Code restructuringtest- Adding testschore- Maintenance tasks
- Push to your fork:
git push origin feature/my-feature- Create Pull Request on GitHub
- Fill out the PR template
- Link related issues
- Wait for review
- Formatting: Prettier (2 spaces, no semicolons)
- Linting: ESLint with Next.js config
- TypeScript: Strict mode enabled
- Naming:
- Components: PascalCase
- Files: lowercase or camelCase
- Constants: UPPERCASE
src/
├── app/ # Next.js pages
├── components/ # React components
├── lib/ # Core logic
├── constants/ # Constants
└── stores/ # Zustand stores
Update /src/constants/TRANSACTIONS.ts:
export const CATEGORIES = [
// ... existing
'Your Category',
] as const;Update /src/constants/AI.ts:
export const AVAILABLE_MODELS = [
// ... existing
{ id: 'provider/model', name: 'Model Name', provider: 'Provider' },
];- Create
/src/app/page-name/page.tsx - Add to
/src/constants/ROUTES.ts - Update navigation
- Update relevant docs in
/docs - Add JSDoc comments for complex functions
- Include examples for new features
Currently no automated tests. Manual testing checklist:
- Feature works as expected
- No console errors
- Mobile responsive
- Dark mode works
- Accessibility (keyboard navigation)
- Maintainer reviews PR
- Request changes if needed
- Approve and merge
- Thank you! 🎉
- Open a Discussion
- Tag maintainers in PR/issue comments
By contributing, you agree that your contributions will be licensed under the MIT License.