Files
stack/packages/mosaic/framework/skills/mosaic-gitea/SKILL.md
T
fargo 1a822493ba format: apply repo prettier (3.8.1) to the folded skills tree
963 markdown files reformatted with the repository's pinned prettier so
pnpm format:check covers the folded tree like every other repo file.

The formatter's embedded-language pass also normalized code fences
(TS semicolons, closed HTML tags in examples, lowercased CSS hex colors,
one renumbered list that skipped an index). Alphanumeric token deltas vs
the fold commit were audited file-by-file; all are formatter-equivalent
markup normalizations plus the four sanitized skills.
2026-08-19 14:37:17 -05:00

4.5 KiB

name, description
name description
mosaic-gitea Interact with Gitea repositories on git.mosaicstack.dev — create/merge/close PRs, manage issues, milestones, and CI queue waits. Use when working with Mosaic Stack git repos. Wraps scripts in ~/.config/mosaic/tools/git/. Works on both Gitea and GitHub (auto-detected via detect-platform.sh).

mosaic-gitea

Git operations via Mosaic wrapper scripts. Platform-aware (Gitea or GitHub).

Setup

Scripts auto-detect platform from git remote. Run from inside the repo directory.

For force-merge (branch protection bypass):

GITEA_TOKEN=$(cat ~/.config/mosaic/credentials/gitea.env | grep TOKEN | cut -d= -f2)

Or use the credentials loader:

source ~/.config/mosaic/tools/_lib/credentials.sh
load_credentials gitea-mosaicstack
# Exports: GITEA_TOKEN, GITEA_URL

Script Reference

All scripts in ~/.config/mosaic/tools/git/.

Pull Requests

Script Purpose Key flags
pr-create.sh Create a PR -t "Title" [-b "Body"] [-B base] [-H head] [-i issue#]
pr-list.sh List open PRs [-s state]
pr-view.sh View PR details -n <pr#>
pr-merge.sh Squash-merge a PR -n <pr#> [-d] (delete branch)
pr-close.sh Close a PR -n <pr#>
pr-diff.sh Show PR diff -n <pr#>
pr-review.sh Submit a review -n <pr#> [-a approve|request-changes]
pr-ci-wait.sh Wait for CI on PR -n <pr#>
pr-metadata.sh Get PR metadata as JSON -n <pr#>

Issues

Script Purpose Key flags
issue-create.sh Create an issue -t "Title" [-b "Body"] [-l labels] [-m milestone]
issue-list.sh List issues [-s state] [-l label]
issue-view.sh View issue -n <issue#>
issue-close.sh Close issue -n <issue#>
issue-comment.sh Add comment -n <issue#> -c "Comment"
issue-assign.sh Assign issue -n <issue#> -u username
issue-edit.sh Edit issue -n <issue#> [-t title] [-b body]

Milestones

Script Purpose Key flags
milestone-create.sh Create milestone -t "Title" [-d "due date"]
milestone-list.sh List milestones
milestone-close.sh Close milestone -n <number>

CI / Queue

Script Purpose Key flags
ci-queue-wait.sh Wait for CI queue slot [-t timeout] [-B branch]
detect-platform.sh Detect git platform outputs gitea or github

Common Workflows

Create PR from current branch:

cd ~/src/<repo>
~/.config/mosaic/tools/git/pr-create.sh -t "feat: my feature" -b "Description" -i <issue#>

Merge a PR (squash, with CI queue guard):

cd ~/src/<repo>
~/.config/mosaic/tools/git/pr-merge.sh -n <pr#> -d

Force-merge bypassing branch protection:

GITEA_TOKEN=$(cat ~/.config/mosaic/credentials/gitea.env | grep TOKEN | cut -d= -f2)
curl -X POST "https://git.mosaicstack.dev/api/v1/repos/<org>/<repo>/pulls/<PR>/merge" \
  -H "Authorization: token $GITEA_TOKEN" -H "Content-Type: application/json" \
  -d '{"Do":"squash","force_merge":true}'

Notes

  • Mosaic policy: squash merges only, targeting main
  • Gitea SSH: [email protected] → resolves via ~/.ssh/config to 10.1.1.90:2222
  • Workers push branches and open PRs but never merge — orchestrator handles merges