codex-flows/.codex/skills/codeberg-development-flow/references/development-flow.md

110 lines
2.2 KiB
Markdown
Raw Normal View History

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.