Thank you for your interest in contributing to DreamQuest! This document provides guidelines and instructions for contributing.
Please be respectful and constructive in all interactions. We're building a welcoming community.
- Use the GitHub issue tracker
- Use the bug report template
- Include steps to reproduce
- Include screenshots if applicable
- Mention your environment (OS, browser, etc.)
- Use the GitHub issue tracker
- Use the feature request template
- Describe the use case clearly
- Consider providing mockups or examples
- Fork the repository
- Create a branch from
main:git checkout -b feature/my-feature
- Make your changes following the code style guidelines
- Write tests for your changes
- Run tests locally:
npm run test # Frontend cd api && pytest # Backend
- Commit your changes with a clear message:
git commit -m "feat: add new feature X" - Push to your fork:
git push origin feature/my-feature
- Open a Pull Request against
main
See README.md for detailed setup instructions.
Quick start:
# Install dependencies
npm install
cd frontend && npm install && cd ..
cd api && pip install -r requirements.txt && cd ..
# Start Redis
redis-server
# Start all services
npm run dev- Use TypeScript for all new code
- Follow the existing ESLint configuration
- Use functional components and hooks
- Use Tailwind CSS for styling
- Format with Prettier before committing
npm run lint
npm run format- Follow PEP 8
- Use type hints (mypy)
- Use Pydantic for data validation
- Format with Ruff
cd api
ruff check .
ruff format .
mypy .We follow Conventional Commits:
feat: add new feature
fix: fix bug in X
docs: update documentation
style: format code
refactor: refactor component X
test: add tests for Y
chore: update dependencies
All new features and bug fixes should include tests.
cd frontend
# Unit tests (Vitest)
npm run test
# E2E tests (Playwright)
npm run test:e2ecd api
# Run pytest
pytest -v
# With coverage
pytest --cov=. --cov-report=html- Update README.md if you change functionality
- Update API.md if you add/change endpoints
- Add JSDoc comments for complex functions
- Update ARCHITECTURE.md for architectural changes
- PRs require at least 1 approval
- All CI checks must pass
- Code must be formatted and linted
- Tests must pass
- No merge conflicts with
main
Feel free to:
- Open a GitHub issue with the "question" label
- Join our Discord server
- Email support@dreamquest.example.com
Thank you for contributing! 🙏