73 lines
2.1 KiB
Markdown
73 lines
2.1 KiB
Markdown
---
|
|
name: codeberg-development-flow
|
|
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.
|
|
---
|
|
|
|
# Forgejo Development Flow
|
|
|
|
## Overview
|
|
|
|
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 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 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`.
|
|
|
|
## Setup Checks
|
|
|
|
When asked to set up or verify the repo, check:
|
|
|
|
```bash
|
|
git remote -v
|
|
ssh -T git@jojo.build
|
|
fj --host jojo.build auth list
|
|
gpg --list-secret-keys --keyid-format=long
|
|
git status --short --branch
|
|
```
|
|
|
|
Expected local key files:
|
|
|
|
```text
|
|
~/.ssh/id_ed25519_jojo_build.pub
|
|
~/.config/forgejo-keys/matamune-jojo-build-gpg.asc
|
|
```
|
|
|
|
## Release Workflow
|
|
|
|
Normal development:
|
|
|
|
```bash
|
|
git pull
|
|
git push
|
|
```
|
|
|
|
Before release, run:
|
|
|
|
```bash
|
|
bun run --filter @peezy.tech/codex-flows release:check
|
|
bun run check:types
|
|
bun run test
|
|
git diff --check
|
|
```
|
|
|
|
Then:
|
|
|
|
1. Bump `packages/codex-client/package.json`.
|
|
2. Commit.
|
|
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
|
|
|
|
- Read `references/development-flow.md` for exact setup and command details.
|