This guide covers everything you need to contribute to the project.
- Read Getting Started Guide
- Set up your development environment
- Check Project Blueprint
# Clone and install
git clone <repo>
cd DocuNote
npm install
# Set up environment
cp .env.example .env.local
# Add your API keys
# Start dev server
npm run devBefore starting, check Dev Issue Log for:
- Known bugs
- Common problems
- Workarounds
# Feature branches
git checkout -b feature/your-feature-name
# Bug fix branches
git checkout -b fix/bug-description# Run linter
npm run lint
# Run tests
npm test
# Check coverage
npm run test:coverage
# Build verification
npm run buildSee CI/CD Pipeline for automated quality checks.
# Make your changes
# ...
# Run tests
npm test # Jest
npm run test:e2e # Playwright
npm run test:coverage # Coverage- Update docs in
docs/ - Add feature docs in
docs/03-features/if applicable - Update
README.mdif needed - Document new issues in
dev-issue-log.md
Follow the Git Commit Guide for:
- Commit message format
- How to organize changes
- Best practices
# Push your branch
git push origin feature/your-feature-name
# Create PR on GitHubWe track development work in daily logs for context and progress:
- Daily Logs Directory - Overview and templates
- Summary - End of day accomplishments and metrics
- Sessions - Detailed session notes and decisions
- Analysis - In-depth project reviews
- Daily Summary - Today's work
- Session Notes - Development sessions
- Project Analysis - Comprehensive review
Add entries when:
- Completing a development day (summary)
- Making important decisions (sessions)
- Solving complex problems (sessions)
- Conducting project reviews (analysis)
When you encounter a bug:
- Check Dev Issue Log to see if it's known
- Document the issue:
- Description
- Steps to reproduce
- Expected vs actual behavior
- Workaround (if any)
- Update the dev issue log
- Create GitHub issue if needed
See Dev Issue Log for:
- Active bugs
- Resolved issues
- Workarounds
- All Jest tests pass (
npm test) - No ESLint errors
- TypeScript compiles
- Code follows project conventions
- E2E tests pass (relevant ones)
- Documentation updated
- Manual testing completed
- No console errors/warnings
See Testing Guide.
- Use strict type checking
- Avoid
anytypes - Document complex types
- Functional components with hooks
- Props interfaces defined
- Proper error boundaries
src/
├── app/ # Next.js pages
├── components/ # Reusable components
├── ai/ # AI integration
├── lib/ # Utilities
└── hooks/ # Custom hooks
- Components: PascalCase (
ChatHeader.tsx) - Utilities: camelCase (
formatDate.ts) - Hooks: camelCase with 'use' (
useChat.ts) - Tests: Same as file +
.test.tsxor.spec.ts
See Git Commit Guide for detailed instructions.
Format:
type(scope): brief description
- Detailed change 1
- Detailed change 2
Types:
feat: New featurefix: Bug fixdocs: Documentationtest: Testsrefactor: Code refactoringchore: Maintenance
main- Production-readyfeature/*- New featuresfix/*- Bug fixesdocs/*- Documentation
- Documentation - Check
docs/folder - Issue Log - dev-issue-log.md
- Testing Guide - Testing docs
- Blueprint - Project vision
- Build errors → Installation Warnings
- Test failures → Test Cleanup Summary
- Feature questions → Features docs
Ready to contribute?
- ✅ Read this guide
- ✅ Set up your environment
- ✅ Pick an issue or feature
- ✅ Follow the workflow above
- ✅ Submit your PR!
Happy coding! 🚀