Thank you for your interest in contributing to this VLM-based image annotation system for Natural Scene Dataset (NSD) research!
- Fork and clone the repository
- Set up the development environment:
conda activate torch-312 # or create: conda create -n torch-312 python=3.12
pip install -e .- Install pre-commit hooks:
pip install pre-commit
pre-commit installsrc/image_annotation/- Core Python packagefrontend/- Next.js web dashboardtests/- Test suite (real data only, NO MOCKS).context/- Development context files.rules/- Development standards and patterns
- Create feature branches:
git checkout -b feature/short-description - Make atomic commits with descriptive messages (<50 chars, no emojis)
- Test thoroughly before pushing
- Submit pull requests to main branch
- Follow
.rules/python.mdstandards - Use ruff for formatting:
ruff check --fix . && ruff format . - Type hints required for all functions
- Real tests only - absolutely NO MOCKS (see
.rules/testing.md)
- Use real NSD images for testing
- Real OLLAMA/LLM API calls only
- Docker containers for test databases
- Test against actual behavior, not mocked interfaces
- Examples over explanations
- Keep README concise - details go in separate docs
- Update
.context/files for development context
- Bug fixes and feature implementations
- Performance optimizations
- Test coverage improvements
- Documentation updates
- New VLM model integrations
- Annotation quality improvements
- NSD processing enhancements
- Performance benchmarking
- CI/CD improvements
- Docker configurations
- Deployment optimizations
- Check Context: Review
.context/plan.mdfor current priorities - Research: Update
.context/research.mdif exploring new approaches - Document Failures: Log attempts in
.context/scratch_history.md - Test: Run
pytest tests/ --covwith real data - Format: Run
ruff check --fix . && ruff format . - Commit: Atomic commits, descriptive messages
- PR: Reference relevant issues and context files
- All tests pass with real data
- Code coverage maintained or improved
- Documentation updated where needed
- No breaking changes without discussion
- Performance implications considered
- Include environment details (Python version, OS, dependencies)
- Provide minimal reproduction case with real data
- Include relevant log output
- Reference specific NSD images if applicable
- Describe the research use case
- Consider impact on 25k+ annotation processing
- Discuss integration with existing VLM models
- Provide implementation suggestions if possible
- System handles 25k+ annotations efficiently
- Database queries optimized for large datasets
- Memory usage monitored during batch processing
- Token usage tracking for cost management
- No API keys in code or commits
- Environment variables for sensitive configuration
- Secure handling of research data
- Respect NSD dataset usage guidelines
- Consider annotation quality and bias
- Document model performance characteristics
- Check
.context/files for current development context - Review
.rules/directory for detailed standards - Open issues for questions or discussions
- Reference existing code patterns in the codebase
Contributors will be acknowledged in:
- README.md contributor section
- Release notes for significant contributions
- Research publications where applicable (with permission)
By contributing, you agree that your contributions will be licensed under the project's CC-BY-NC-SA 4.0 license.