This folder contains GitHub-specific configuration for Open Notebook's contribution workflow.
We have three issue templates to guide contributors:
For reporting bugs or unexpected behavior when the app is running but misbehaving.
Key Features:
- Structured format for bug details
- Environment and version information
- Checkbox for contributors who want to fix the issue
- Automatic
bugandneeds-triagelabels
When to Use: App is installed and running, but something doesn't work as expected.
For suggesting new features or improvements.
Key Features:
- Description of the feature
- Explanation of why it would be helpful
- Space for proposed solution
- Checkbox for contributors who want to implement it
- Automatic
enhancementandneeds-triagelabels
When to Use: You have an idea for a new feature or improvement.
For problems with installation or setup.
Key Features:
- Deployment type selection
- Environment details
- Error message collection
- Automatic
installationlabel
When to Use: Having trouble getting Open Notebook running.
The PR template (pull_request_template.md) ensures contributors provide all necessary information:
Sections:
- Description and related issue
- Type of change
- Testing details
- Design alignment with project principles
- Comprehensive checklist for code quality, testing, documentation
- Screenshots for UI changes
Key Checkpoints:
- References an approved issue
- Aligns with design principles
- Includes tests and documentation
- Follows code style guidelines
Our CI/CD workflows in .github/workflows/:
- Builds Docker images on releases
- Publishes to Docker Hub and GitHub Container Registry
- Supports multi-platform builds (amd64, arm64)
- Builds dev images on pushes to main
- Tags with commit SHA for testing
- Automated code review using Claude Code
- Runs on pull requests
- Provides AI-powered suggestions
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. Contributor identifies a bug or has a feature idea β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2. Creates an issue using appropriate template β
β - Describes the problem/feature β
β - Checks "I am a developer..." if willing to work β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3. Maintainer reviews issue (within 48 hours) β
β - Assesses alignment with design principles β
β - Labels appropriately β
β - Asks for clarification if needed β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 4. If approved: Contributor proposes solution approach β
β - Discusses implementation strategy β
β - Maintainer provides feedback β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 5. Issue is assigned to contributor β
β - Contributor forks repo β
β - Creates feature branch from main β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 6. Contributor develops solution β
β - Reads DESIGN_PRINCIPLES.md β
β - Reads docs/development/architecture.md β
β - Writes code, tests, documentation β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 7. Creates Pull Request β
β - Uses PR template β
β - References issue number β
β - Fills out all checklist items β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 8. Maintainer reviews PR β
β - Checks code quality β
β - Verifies tests pass β
β - Ensures alignment with architecture β
β - Provides feedback or approves β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 9. If approved: PR is merged! π β
β - Contributor is thanked β
β - Issue is closed β
β - Changes included in next release β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Contributors don't spend time on code that won't be merged
- Ensures alignment with project vision before coding starts
- All code reviewed against design principles
- Consistent architecture across contributions
- Proper testing and documentation
- Clear expectations upfront
- Structured feedback process
- Efficient review process
- Maintainers can guide direction
- Features align with long-term goals
- Technical debt is minimized
For contributors:
- CONTRIBUTING.md - Contribution guidelines
- DESIGN_PRINCIPLES.md - Project vision and principles
- docs/development/architecture.md - Technical architecture
For maintainers:
- MAINTAINER_GUIDE.md - How to review and manage contributions
- Join our Discord
- Open a Discussion
- Read the FAQ
Thank you for contributing to Open Notebook! Your contributions help make this the best open-source research tool available.