feat: add mirror-it plugin for Gitea to GitHub push mirroring
Generate plugin manifests / validate (pull_request) Successful in 20s
Generate plugin manifests / generate (pull_request) Skipped

Adds a mirror-it skill that registers a Gitea push mirror via `tea api`
against the push_mirrors endpoint, using Gitea's actual
remote_address/remote_username/remote_password fields (never embedding
credentials in the mirror URL). Credentials can come from the
environment or fall back to a repo-root .env file, and all shell
snippets are POSIX-compatible so the skill isn't tied to any one shell.

Also ignores .env* files repo-wide.
This commit is contained in:
2026-08-24 23:35:34 -04:00
parent 63314a0284
commit 9b0c76a95c
11 changed files with 473 additions and 0 deletions
+11
View File
@@ -18,6 +18,7 @@ from one source tree and published as a native marketplace for both tools.
- [date-time](#date-time)
- [technical-devlog-scribe](#technical-devlog-scribe)
- [ship-it](#ship-it)
- [mirror-it](#mirror-it)
- [core-essentials](#core-essentials)
- [github-mcp](#github-mcp)
- [gitea-mcp](#gitea-mcp)
@@ -129,6 +130,16 @@ Two sequential phases — Phase 2 is blocked until Phase 1 succeeds:
---
### `mirror-it`
**Purpose:** Register a Gitea push mirror so a repository's commits are automatically forwarded to a corresponding GitHub repository.
Uses `tea api` against Gitea's `push_mirrors` endpoint, with credentials passed as `remote_username`/`remote_password` fields — never embedded in the mirror URL. Defaults to an `8h` sync interval with sync-on-commit enabled; both are overridable per request, as is the destination repository name. `GITHUB_USER`/`GITHUB_TOKEN` can come from the environment or, as a fallback, a repo-root `.env` file. All shell snippets are POSIX-compatible so the skill works under bash, zsh, or any shell the agent's tool happens to invoke — not just Fish.
**Use when:** you say "Mirror this repository to GitHub," or invoke `/mirror-it`. Only relevant for repositories hosted on Gitea — GitHub can't push-mirror to itself.
---
### `core-essentials`
**Purpose:** Cross-tool utilities that don't belong to a single workflow.