Central source of truth for all projects in the haribo1976 portfolio. This repository maintains a machine-readable catalog of all projects, their metadata, and compliance status.
- Discoverability: Quickly find any project by category, technology, or purpose
- Consistency: Enforce naming conventions and documentation standards
- Compliance: Track which projects have proper CI, tests, and documentation
- Maintenance: Identify stale, archived, or deprecated projects
Projects are organised by domain prefix:
| Prefix | Domain | Description |
|---|---|---|
m365- |
Microsoft 365 | M365 administration, governance, and migration tools |
azure- |
Azure | Azure infrastructure, monitoring, and management |
grc- |
GRC | Governance, Risk, and Compliance tools |
sec- |
Security | Security auditing, monitoring, and compliance |
ops- |
Operations | IT operations and service management |
fin- |
Finance | Financial and budget management |
hr- |
Human Resources | HR, onboarding, and people management |
doc- |
Documents | Document processing and classification |
lib- |
Libraries | Reusable libraries and design systems |
personal- |
Personal | Personal and portfolio projects |
fca- |
FCA | Financial Conduct Authority related tools |
<domain>-<product>[-<component>][-<qualifier>]
- All lowercase with kebab-case
- No spaces or underscores
- Standard component suffixes:
-portal= Web application with dashboard/UI-hub= Central management interface-api= Backend API service-cli= Command-line tool-lib= Library/SDK-toolbox= Collection of related tools-monitor= Monitoring/alerting tool-checker= Validation/checking tool
- Optional qualifier suffixes:
-mvp= Minimum viable product/prototype-poc= Proof of concept-v2= Major version indicator
| Name | Breakdown |
|---|---|
m365-admin-hub |
m365 (domain) + admin (product) + hub (component) |
sec-cyberessentials-monitor |
sec (domain) + cyberessentials (product) + monitor (component) |
ops-serviceflow-mvp |
ops (domain) + serviceflow (product) + mvp (qualifier) |
project-catalog/
├── README.md # This file
├── catalog/
│ ├── projects.yaml # Machine-readable project catalog
│ └── projects.md # Human-readable project listing
├── docs/
│ └── VERSIONING.md # Versioning and release standards
└── scripts/
├── refresh_catalog.sh # Script to update catalog from local repos
└── create_releases.sh # Script to create releases across all projects
See catalog/projects.md for a human-readable listing.
./scripts/refresh_catalog.shThis will:
- Scan the projects directory
- Update
catalog/projects.yamlwith current metadata - Regenerate
catalog/projects.md - Flag any naming convention violations
- Create repo following the naming convention
- Run
./scripts/refresh_catalog.shto add it to the catalog - Commit and push the updated catalog
All projects follow semantic versioning. See docs/VERSIONING.md for the full specification.
# Create a new release for all projects
./scripts/create_releases.sh --version v0.2.0-alpha --stage alpha
# Dry run to preview
./scripts/create_releases.sh --version v0.2.0-alpha --dry-runCurrent Portfolio Version: v0.1.0-alpha (February 2026)
Each project is evaluated on DORA-aligned quality indicators:
| Indicator | Description |
|---|---|
| CI Present | Has GitHub Actions or other CI configured |
| Tests Present | Has test files or test commands |
| Lint/Format | Has linting or formatting configured |
| README Quality | Has comprehensive documentation |
| Security Scan | Has security scanning workflow |
- Weekly: Run refresh script to catch new projects
- Monthly: Review archived/stale projects
- Quarterly: Audit naming convention compliance
Private repository - internal use only.