feat: add bash infra functions — Gitea, Android SDK, Mantine, Capacitor
Nuevas funciones bash: gestión Gitea (create_repo, list_repos, add_collaborator, push_directory), install_android_sdk, install_mantine, frontend_doctor. Pipelines: capacitor_build_apk y gitea_init_app. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
---
|
||||
name: gitea_push_directory
|
||||
kind: function
|
||||
lang: bash
|
||||
domain: infra
|
||||
version: "1.0.0"
|
||||
purity: impure
|
||||
signature: "gitea_push_directory(directory: string, owner: string, repo: string, branch: string) -> void"
|
||||
description: "Inicializa git en un directorio local y lo sube a un repositorio Gitea existente. Si el directorio ya tiene .git, actualiza el remote y pushea cambios pendientes. Protege registry.db añadiéndolo al .gitignore antes del commit."
|
||||
tags: [gitea, git, push, directory, sync, infra, repo]
|
||||
uses_functions: []
|
||||
uses_types: []
|
||||
returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: []
|
||||
params:
|
||||
- name: directory
|
||||
desc: "ruta absoluta o relativa al directorio local a subir"
|
||||
- name: owner
|
||||
desc: "usuario u organización propietaria del repositorio Gitea destino"
|
||||
- name: repo
|
||||
desc: "nombre del repositorio Gitea destino (debe existir previamente)"
|
||||
- name: branch
|
||||
desc: "rama en la que hacer push (default: main)"
|
||||
output: "vacío — efectos observables en el repositorio Gitea destino"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
file_path: "bash/functions/infra/gitea_push_directory.sh"
|
||||
---
|
||||
|
||||
## Ejemplo
|
||||
|
||||
```bash
|
||||
source bash/functions/infra/gitea_push_directory.sh
|
||||
|
||||
export GITEA_URL="https://git.example.com"
|
||||
export GITEA_TOKEN="$(pass agentes/dataforge-token)"
|
||||
|
||||
# Subir directorio a repo existente
|
||||
gitea_push_directory "/home/lucas/myproject" "myorg" "my-app"
|
||||
|
||||
# Subir a rama específica
|
||||
gitea_push_directory "/home/lucas/myproject" "myorg" "my-app" "develop"
|
||||
```
|
||||
|
||||
## Notas
|
||||
|
||||
- Requiere `GITEA_URL` y `GITEA_TOKEN` seteadas.
|
||||
- El token se embebe en la URL del remote para autenticación (nunca se imprime a stdout/stderr, se enmascara con ***).
|
||||
- Si `registry.db` existe en el directorio, se añade automáticamente al `.gitignore` local.
|
||||
- Si el `.git` ya existe con un remote diferente, se redirige al repo indicado sin perder el historial local.
|
||||
- Usa `--force-with-lease` para el primer push y fallback a push normal (para repos vacíos recién creados).
|
||||
- El commit se firma con `agent@fn-registry` si no hay configuración git en el entorno.
|
||||
Reference in New Issue
Block a user