Plataformas y mirrors
torii habla con nueve hosts a través de siete clientes. La plataforma se detecta desde la URL del remoto, y se usa el cliente correcto sin que tú lo nombres.
Los hosts
| Cliente | Hosts | Notas |
|---|---|---|
| github | GitHub | base de API configurable, para Enterprise |
| gitlab | GitLab | incluido el autoalojado |
| gitea | Gitea, Codeberg, Forgejo | un cliente, API idéntica |
| bitbucket | Bitbucket Cloud | un token con : se trata como user:app_password |
| sourcehut | Sourcehut | incidencias y builds; las PR son flujo de parches por correo |
| radicle | Radicle | envuelve el binario rad; incidencias y patches |
| azure | Azure DevOps | rutas de tres niveles org/proyecto/repo |
No todos los hosts exponen todos los conceptos. Bitbucket Cloud no tiene objeto de release ni registro de paquetes; Radicle no tiene CI. Esos subcomandos devuelven un error explícito de «no es nativo en esta plataforma» en vez de fingir que funcionan.
Mirrors
Un árbol de trabajo, varios remotos, un comando:
torii mirror add gitlab user <username> <repo> --primary
torii mirror add github user <username> <repo>
torii mirror add codeberg user <username> <repo>
torii mirror sync
torii mirror list
torii mirror promote gitlab user
torii mirror autofetch --enable --interval 30mEl primario es donde corre la CI y donde lees las incidencias; las réplicas son copias. Cada una lleva su propio token, y una réplica que rechace un push no deshace las que salieron bien.
Crear repositorios
torii remote create github <repo> --private --description "…"
torii remote create github,gitlab,codeberg <name> --public --push
torii remote visibility github <owner> <repo> --public
torii remote configure github <owner> <repo> --default-branch main
torii remote info github <owner> <repo>Las plataformas separadas por comas crean el repositorio en cada una con una sola invocación. visibility cubre hoy GitHub y GitLab.
Elegir con qué remoto habla un comando
En un repositorio replicado, cada backend tiene sus pipelines, sus paquetes y sus releases. --remote elige uno:
torii pipeline list --remote github-paskidev
torii release edit v0.13.0 --notes new.md --remote github-paskidevLa opción es global dentro del comando, así que torii pipeline --remote NAME list y torii pipeline list --remote NAME son lo mismo. Sin ella, la plataforma se detecta desde origin.
Autoalojado
~/.config/torii/platforms.toml declara tus propios hosts —GitLab, Gitea, Forgejo, GitHub Enterprise o Bitbucket Data Center autoalojados— para que la detección por URL los envíe al cliente correcto en vez de no reconocer el dominio.