Polished, ship-ready bundle of BlackCat table packages. Submodules are pinned to
their main branches, docs are pre-generated, and dev-only tooling is stripped
out. Need generators, infra, or CI harnesses? Jump to dev.
👉 See SALES.md for a concise value deck and differentiators.
Release highlights
- Ready-to-run packages with generated docs (no local codegen required).
- Alignment across MySQL 8.0, MariaDB 10.4.x, PostgreSQL 16.
- Deterministic submodule SHAs; no CI workflows or infra clutter in this branch.
- Security, support, and licensing files stay first-class.
- What's inside
- Repository map
- Quick start
- Working with packages
- Compatibility & runtime notes
- Consumption patterns
- Branch model
- Docs, support, license
- Package submodules under
packages/, pinned to theirmainbranches. - Generated docs (including
PACKAGES.md) and runtime helpers insrc/. - Composer metadata for consumers; dev-only generators and infra stacks are not shipped here.
- Compliance files: LICENSE, NOTICE, SECURITY, SUPPORT, CODEOWNERS.
- Excluded: CI workflows, Terraform/K8s assets, scaffolding helpers, and PowerShell/PHP generators (all live in
dev).
| Path | Description |
|---|---|
packages/ |
Table packages (Git submodules), pinned for release. |
docs/ |
Generated documentation and package catalog (PACKAGES.md). |
src/ |
Runtime helpers and installers used by consumers. |
composer.json |
Runtime dependencies; no dev generators here. |
PACKAGES.md |
Catalog of modules included in this release. |
git clone --recursive https://github.com/blackcatacademy/blackcat-database.git -b release/main blackcat-database-release
cd blackcat-database-release
git submodule update --init --recursive
composer install --no-dev- Package READMEs live in
packages/*/README.md. - Regeneration of docs/schemas is not available here; switch to
devfor generators and CI workflows.
- Start from
PACKAGES.mdto see the included modules and jump intopackages/<name>/README.md. - Runtime entry points are under
src/(installers, helpers). Examples remain inpackages/*/docs. - To update a package pin:
git submodule update --remote packages/<name>(ensure you’re onrelease/mainand bump to the desiredmainSHA), then commit. - Need schema changes or regenerated docs? Do the work on
dev, run the generators there, and promote the result back intorelease/main.
- Engines: MySQL 8.0+, MariaDB 10.4.x, PostgreSQL 16. See per-package READMEs for engine-specific notes.
- PHP: 8.3+ with PDO drivers for MySQL and PostgreSQL.
- Line endings and SQL formatting are already normalized (LF); no additional lint steps needed in this branch.
- Upgrade path: pull latest
release/main, update submodules, and run your service migrations using the package scripts inpackages/*/schema.
| Area | Supported | Notes |
|---|---|---|
| SQL engines | MySQL 8.0+, MariaDB 10.4.x, PostgreSQL 16 | Keep engine order in DDLs from package READMEs. |
| PHP runtime | 8.3+ | Composer install uses --no-dev; PDO MySQL/Postgres required. |
| Docs | Prebuilt in docs/ + PACKAGES.md |
Regenerate only on dev. |
| Line endings | LF | Already normalized across repo. |
- App integration: require this umbrella (or individual packages) in your composer project, run
composer install --no-dev, and wire the repositories/services fromsrc/. - Migrations: apply the DDL from
packages/<name>/schema/*.sqlin engine order; per-package README tables show the right files. - Docs & definitions:
docs/andPACKAGES.mdare already built; treat them as the reference. If you need refreshed docs, switch todev, regenerate, and cherry-pick intorelease/main. - Hotfix flow: patch on
dev, backport the minimal change set torelease/main, and bump the affected submodule pins. Avoid committing regenerated assets inrelease/mainunless they belong to the hotfix.
release/main: production bundle with dev tooling removed; submodules pinned to theirmain.dev: full development branch with generators, CI workflows, and infrastructure assets. Make changes there and promote intorelease/main.
- Work on
dev: run generators, refresh docs, and bump package SHAs. - Fast-forward
release/mainto the desired SHAs (submodules + root), commit pins. - Smoke-test: install with
--no-dev, run minimal schema apply against MySQL/Postgres. - Push
release/mainand open a PR intomainif your workflow requires review gates. - Tag releases from
release/mainonly after submodule pins and docs are stable.
- Core docs remain available in
docs/(overview, usage, package catalog). CI command references and generator guides live indev. - Issues and PRs should target
dev; release updates are generated from there. - Security: see SECURITY.md. License: LICENSE. For help, check SUPPORT.md.
