Document Forgejo development flow

This commit is contained in:
matamune 2026-05-12 20:22:32 +00:00
parent 647e0d17da
commit 2d6d480f14
Signed by: matamune
GPG key ID: 3BB8E7D3B968A324
5 changed files with 63 additions and 53 deletions

View file

@ -1,20 +1,22 @@
---
name: codeberg-development-flow
description: Use when working in this repository on development flow, remotes, Codeberg or Forgejo CLI operations, Codeberg repo creation, branch tracking, commit signing, mirroring to GitHub, npm trusted publishing, release validation, or publishing @peezy.tech/codex-flows.
description: Use when working in this repository on development flow, remotes, Forgejo or Codeberg CLI operations, Forgejo repo creation, branch tracking, commit signing, mirroring, npm trusted publishing, release validation, or publishing @peezy.tech/codex-flows.
---
# Codeberg Development Flow
# Forgejo Development Flow
## Overview
Use Codeberg as the primary development forge. Keep GitHub as a mirror only for npm trusted publishing.
Use Forgejo at `jojo.build` as the primary development forge. Keep Codeberg as a push mirror. Keep GitHub for npm trusted publishing only.
## Core Rules
- Treat `origin` as Codeberg: `git@codeberg.org:peezy-tech/codex-flows.git`.
- Treat `github` as the GitHub mirror: `https://github.com/peezy-tech/codex-flows.git`.
- Treat `origin` as Forgejo: `git@jojo.build:peezy-tech/codex-flows.git`.
- Treat `codeberg` as the Codeberg mirror: `git@codeberg.org:peezy-tech/codex-flows.git`.
- Treat `github` as the GitHub publishing remote: `https://github.com/peezy-tech/codex-flows.git`.
- Keep `main` tracking `origin/main`, not `github/main`.
- Push normal development to Codeberg.
- Push normal development to Forgejo.
- Configure Forgejo to push-mirror to Codeberg.
- Push to GitHub only when the release workflow must publish to npm.
- Do not add npm tokens to the repo or GitHub secrets. GitHub publishes through trusted publishing.
- Use package name `@peezy.tech/codex-flows`, not `@peezy-tech/codex-flows`.
@ -25,8 +27,8 @@ When asked to set up or verify the repo, check:
```bash
git remote -v
ssh -T git@codeberg.org
fj --host codeberg.org auth list
ssh -T git@jojo.build
fj --host jojo.build auth list
gpg --list-secret-keys --keyid-format=long
git status --short --branch
```
@ -34,8 +36,8 @@ git status --short --branch
Expected local key files:
```text
~/.ssh/id_ed25519_codeberg.pub
~/.config/codeberg-keys/matamune-codeberg-gpg.asc
~/.ssh/id_ed25519_jojo_build.pub
~/.config/forgejo-keys/matamune-jojo-build-gpg.asc
```
## Release Workflow
@ -60,9 +62,10 @@ Then:
1. Bump `packages/codex-client/package.json`.
2. Commit.
3. Push to Codeberg: `git push`.
4. Push to GitHub mirror: `git push github main`.
5. Run GitHub workflow `.github/workflows/publish-codex-flows.yml` with `confirm_package=@peezy.tech/codex-flows`.
3. Push to Forgejo: `git push`.
4. Confirm Codeberg mirror has received the commit.
5. Push to GitHub: `git push github main`.
6. Run GitHub workflow `.github/workflows/publish-codex-flows.yml` with `confirm_package=@peezy.tech/codex-flows`.
6. Verify `npm dist-tag ls @peezy.tech/codex-flows`.
## References