Pull requests only, squash-merged, titled as conventional commits (checked); release-bot keeps a chore(release) pull request open, worked out by git-cliff, and merging it tags the release. Co-Authored-By: Claude Opus 5.5 <[email protected]>
20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
# t5de-catalog
|
|
|
|
T5DE's catalog server (see README.md). Part of T5DE; the contract with the hub is t5de-hub's `docs/products.md`
|
|
(git.t5de.dev/t5de/t5de-hub, usually checked out beside this one), product file rules are t5de-api's `pack`
|
|
package (`docs/pack.md`).
|
|
|
|
## Rules
|
|
|
|
- Never commit IMVU's files: tests make their product files in code (a minimal `index.xml`, fake textures).
|
|
- Never commit secrets (catalog keys, tokens).
|
|
- Commits: author "dhkatz <dev@t5de.dev>"; never the user's real name or email.
|
|
- Changes reach main only through pull requests, squash-merged: the PR's title becomes the commit on main, so it must
|
|
be a conventional commit (`feat(api): …`, `fix(web): …`, `docs: …`; `!` before the colon for a breaking change),
|
|
checked by `.gitea/workflows/pull-request.yml`. Commits on the branch can be anything. Push a branch and open the
|
|
pull request on git.t5de.dev (web UI or API); the user merges.
|
|
- Releases: release-bot keeps a `chore(release): vX.Y.Z` pull request open (`release.yml`, git-cliff from those
|
|
titles); merging it tags vX.Y.Z, which builds the image and deploys prod. Never tag by hand (v* tags are
|
|
release-bot's).
|
|
- Follow `docs/products.md` exactly; change it there (in t5de-hub) first if the contract needs to change.
|