2026-05-12 20:22:32 +00:00
|
|
|
# Forgejo Development Flow Reference
|
2026-05-12 17:09:22 +00:00
|
|
|
|
|
|
|
|
## Remotes
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git remote -v
|
2026-05-12 20:22:32 +00:00
|
|
|
# origin git@jojo.build:peezy-tech/codex-flows.git
|
|
|
|
|
# codeberg git@codeberg.org:peezy-tech/codex-flows.git
|
|
|
|
|
# github https://github.com/peezy-tech/codex-flows.git
|
2026-05-12 17:09:22 +00:00
|
|
|
```
|
|
|
|
|
|
2026-05-12 20:22:32 +00:00
|
|
|
`main` should track Forgejo:
|
2026-05-12 17:09:22 +00:00
|
|
|
|
|
|
|
|
```bash
|
2026-05-12 17:18:57 +00:00
|
|
|
git branch --set-upstream-to=origin/main main
|
|
|
|
|
git status --short --branch
|
|
|
|
|
# ## main...origin/main
|
|
|
|
|
```
|
|
|
|
|
|
2026-05-12 20:22:32 +00:00
|
|
|
Use Forgejo for day-to-day work. Forgejo should push-mirror to Codeberg:
|
2026-05-12 17:18:57 +00:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git pull
|
|
|
|
|
git push
|
2026-05-12 20:22:32 +00:00
|
|
|
git ls-remote codeberg refs/heads/main
|
2026-05-12 17:09:22 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Use GitHub only to run npm trusted publishing:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git push github main
|
|
|
|
|
gh workflow run publish-codex-flows.yml --repo peezy-tech/codex-flows --ref main -f confirm_package='@peezy.tech/codex-flows'
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Keys
|
|
|
|
|
|
|
|
|
|
SSH public key:
|
|
|
|
|
|
|
|
|
|
```text
|
2026-05-12 20:22:32 +00:00
|
|
|
~/.ssh/id_ed25519_jojo_build.pub
|
2026-05-12 17:09:22 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
GPG public key:
|
|
|
|
|
|
|
|
|
|
```text
|
2026-05-12 20:22:32 +00:00
|
|
|
~/.config/forgejo-keys/matamune-jojo-build-gpg.asc
|
2026-05-12 17:09:22 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Git signing is expected:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git config --global commit.gpgsign true
|
|
|
|
|
git config --global user.signingkey E3B0D5FB2E5CF11FAFB2EA113BB8E7D3B968A324
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Forgejo CLI
|
|
|
|
|
|
|
|
|
|
`forgejo-cli` is installed as `fj`.
|
|
|
|
|
|
2026-05-12 20:22:32 +00:00
|
|
|
The configured Forgejo login should be visible for `jojo.build`:
|
2026-05-12 17:18:57 +00:00
|
|
|
|
|
|
|
|
```bash
|
2026-05-12 20:22:32 +00:00
|
|
|
fj --host jojo.build auth list
|
2026-05-12 17:18:57 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
If authentication needs to be recreated:
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-12 20:22:32 +00:00
|
|
|
fj --host jojo.build auth add-key matamune <token>
|
|
|
|
|
fj --host jojo.build auth use-ssh true
|
2026-05-12 17:18:57 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Create the organization repo when missing:
|
2026-05-12 17:09:22 +00:00
|
|
|
|
|
|
|
|
```bash
|
2026-05-12 20:22:32 +00:00
|
|
|
fj --host jojo.build org repo create peezy-tech codex-flows \
|
2026-05-12 17:18:57 +00:00
|
|
|
-d "Public monorepo for @peezy.tech/codex-flows" \
|
|
|
|
|
-S true
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Verify the repository:
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-12 20:22:32 +00:00
|
|
|
fj --host jojo.build repo view peezy-tech/codex-flows
|
2026-05-12 17:18:57 +00:00
|
|
|
git ls-remote origin HEAD refs/heads/main
|
2026-05-12 17:09:22 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Package Release Gate
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
bun run --filter @peezy.tech/codex-flows release:check
|
|
|
|
|
bun run check:types
|
|
|
|
|
bun run test
|
|
|
|
|
git diff --check
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Verify npm after GitHub Actions publishing:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
npm dist-tag ls @peezy.tech/codex-flows
|
|
|
|
|
npm view @peezy.tech/codex-flows version repository --json
|
|
|
|
|
```
|
2026-05-12 17:18:57 +00:00
|
|
|
|
|
|
|
|
## Current Constructed State
|
|
|
|
|
|
2026-05-12 20:22:32 +00:00
|
|
|
- Forgejo repo: `https://jojo.build/peezy-tech/codex-flows`
|
|
|
|
|
- Codeberg mirror: `https://codeberg.org/peezy-tech/codex-flows`
|
|
|
|
|
- GitHub publishing repo: `https://github.com/peezy-tech/codex-flows`
|
|
|
|
|
- `origin/main`, `codeberg/main`, and `github/main` should be kept aligned for release commits.
|