This directory contains GitHub-specific configuration files for the Hydra project.
ISSUE_TEMPLATE/bug_report.yml- Structured bug report template with component selection, reproduction steps, and environment detailsISSUE_TEMPLATE/feature_request.yml- Feature request template with problem statement, proposed solution, and use casesISSUE_TEMPLATE/config.yml- Issue template configuration with links to documentationpull_request_template.md- PR template with testing checklist, component marking, and reviewer guidance
dependabot.yml- Automatic dependency updates for GitHub Actions and Python packagesCODEOWNERS- Automatic reviewer assignment based on file pathsSECURITY.md- Security vulnerability reporting policy and disclosure guidelines
workflows/ci.yml- Comprehensive CI workflow with Linux, QEMU, cocotb, and FreeBSD jobs
REPOSITORY_SETTINGS.md- Recommended GitHub repository settings (branch protection, required checks, etc.)labels.yml- Recommended label structure for issue/PR managementREADME.md- This file
Follow the checklist in REPOSITORY_SETTINGS.md to set up:
- Branch protection for
main - Required status checks
- Dependabot alerts
- Private vulnerability reporting
Use the label definitions in labels.yml:
# Using github-label-sync (install from npm)
npm install -g github-label-sync
github-label-sync --access-token $GITHUB_TOKEN owner/hydra .github/labels.ymlOr apply labels manually via GitHub UI.
In repository Settings → Branches:
- Add rule for
mainbranch - Require PR reviews (1 approval minimum)
- Require status checks:
linux,cocotb,freebsd-kmod - Block force pushes and deletions
- Create a test issue to verify templates render correctly
- Open a test PR to verify the PR template appears
- Ensure CODEOWNERS triggers review requests
Use the bug report template - it will guide you through:
- Selecting the affected component
- Providing reproduction steps
- Including environment details
- Attaching logs or screenshots
Use the feature request template to describe:
- The problem you're trying to solve
- Your proposed solution
- Relevant use cases
The PR template will remind you to:
- Run the test suite (
./scripts/hydra_dev_loop.sh) - Mark which components are affected
- Provide screenshots for visual changes
- Update documentation if needed
Do not open public issues for security vulnerabilities.
Instead, follow the process in SECURITY.md:
- Use GitHub's private vulnerability reporting
- Or email maintainers directly with "SECURITY" in subject
Dependabot will automatically create PRs for:
- GitHub Actions updates (weekly on Monday)
- Python dependency updates (weekly on Monday)
Review and merge these PRs after CI passes.
When modifying workflows:
- Test changes on a feature branch first
- Ensure required checks still pass
- Update
REPOSITORY_SETTINGS.mdif required checks change
Periodically review labels:
- Archive unused labels
- Add new labels for emerging patterns
- Update
labels.ymlto reflect changes
✅ Completed:
- Issue templates (bug report, feature request)
- Pull request template
- CODEOWNERS file (configured with @dosadi)
- Security policy
- Dependabot configuration
- Label structure definition
- CI workflow consolidation (removed redundant workflows)
- Repository settings guide
- Applying branch protection rules (requires admin access via GitHub UI)
- Creating labels via GitHub UI or sync tool
- Enabling required status checks in branch protection