Adds a mirror-it plugin/skill that registers a Gitea push mirror to GitHub via tea api against the push_mirrors endpoint.
Fixes the source draft's field names to match Gitea's real CreatePushMirrorOption schema (remote_address/remote_username/remote_password) instead of a nonexistent clone_addr with credentials embedded in the URL.
Credentials resolve from the environment first, falling back to a repo-root .env file (never printed).
Shell snippets are POSIX-compatible (not Fish-specific), since they run through whichever shell the agent's tool actually invokes.
python3 scripts/generate_plugins.py regenerates dist/** and .claude-plugin/marketplace.json cleanly
Manually verified the jq/tea api snippet produces a payload matching Gitea's CreatePushMirrorOption struct
Install the plugin and run /mirror-it against a real Gitea repo
## Summary
- Adds a `mirror-it` plugin/skill that registers a Gitea push mirror to GitHub via `tea api` against the `push_mirrors` endpoint.
- Fixes the source draft's field names to match Gitea's real `CreatePushMirrorOption` schema (`remote_address`/`remote_username`/`remote_password`) instead of a nonexistent `clone_addr` with credentials embedded in the URL.
- Credentials resolve from the environment first, falling back to a repo-root `.env` file (never printed).
- Shell snippets are POSIX-compatible (not Fish-specific), since they run through whichever shell the agent's tool actually invokes.
- Ignores `.env*` repo-wide.
- README updated to document the new plugin.
## Test plan
- [x] `python3 scripts/generate_plugins.py --check` passes
- [x] `python3 scripts/generate_plugins.py` regenerates `dist/**` and `.claude-plugin/marketplace.json` cleanly
- [x] Manually verified the `jq`/`tea api` snippet produces a payload matching Gitea's `CreatePushMirrorOption` struct
- [x] Install the plugin and run `/mirror-it` against a real Gitea repo
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
mirror-itplugin/skill that registers a Gitea push mirror to GitHub viatea apiagainst thepush_mirrorsendpoint.CreatePushMirrorOptionschema (remote_address/remote_username/remote_password) instead of a nonexistentclone_addrwith credentials embedded in the URL..envfile (never printed)..env*repo-wide.Test plan
python3 scripts/generate_plugins.py --checkpassespython3 scripts/generate_plugins.pyregeneratesdist/**and.claude-plugin/marketplace.jsoncleanlyjq/tea apisnippet produces a payload matching Gitea'sCreatePushMirrorOptionstruct/mirror-itagainst a real Gitea repo