Skip to main content
JGJenks Guo

Documentación / reference

API de administración

Endpoints autenticados que editan el contenido del sitio mediante commits de git validados.

All admin endpoints need Authorization: Bearer <admin token> (Jenks keeps it in the macOS Keychain as agent-env:JENKSGUO_ADMIN_TOKEN; tools read env JENKSGUO_ADMIN_TOKEN). Writes are validated with the same schema as the build, then committed to GitHub. CI translates changed entries into every language, rebuilds and deploys: main → jenksguo.xyz, dev → dev.jenksguo.xyz.

Método Ruta Herramienta
GET /api/admin/whoami —
POST /api/admin/login · /api/admin/logout — (cookie de sesión de consola)
GET /api/admin/schema admin_schema
GET /api/admin/files admin_list_files
GET /api/admin/file admin_read_file
POST /api/admin/validate admin_validate
PUT /api/admin/file admin_write_file
DELETE /api/admin/file admin_delete_file
POST /api/admin/changes admin_commit_changes
POST /api/admin/ai-edit admin_ai_edit
GET /api/admin/deploys admin_deploy_status
POST /api/admin/promote admin_promote

Errors: 401 unauthorized, 403 forbidden_path (only content files are writable), 422 invalid with errors[], 409/502 github_error, 503 github_not_configured.

admin_schema — Esquema de contenido

El modelo de contenido: campos y reglas de las entradas, etiquetas, lentes, tipos, rutas editables, documentos y convenciones de edición. Léelo antes de escribir.

  • MCP: admin_schema on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/schema (admin token)
  • CLI: jenks admin schema

Sin argumentos.

curl -s "https://jenksguo.xyz/api/admin/schema" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_list_files — Listar archivos de contenido

Lista los archivos de contenido editables en una rama (ruta, tamaño, sha), opcionalmente dentro de una carpeta como content/corpus/experiences.

  • MCP: admin_list_files on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/files?dir=&branch= (admin token)
  • CLI: jenks admin ls [dir]
Argumento Tipo Requerido Notas
dir cadena no p. ej., content/corpus/projects (por defecto: todo el contenido)
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
curl -s "https://jenksguo.xyz/api/admin/files" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_read_file — Leer un archivo de contenido

Lee el origen bruto Markdown/JSON de un archivo de contenido (con su sha). Pasa path, o slug para una entrada, lente o habilidad.

  • MCP: admin_read_file on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/file?path=&slug=&branch= (admin token)
  • CLI: jenks admin get <slug|path>
Argumento Tipo Requerido Notas
path cadena no
slug cadena no
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
curl -s "https://jenksguo.xyz/api/admin/file" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_validate — Validar un cambio

Valida el contenido de un archivo contra el esquema de contenido sin hacer commit. Devuelve una lista de problemas (vacía = válido).

  • MCP: admin_validate on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/validate (admin token)
  • CLI: jenks admin validate <path> <file>
Argumento Tipo Requerido Notas
path cadena sí
content cadena sí
curl -s -X POST https://jenksguo.xyz/api/admin/validate \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"path":"content/corpus/projects/example.md","content":"<content>"}'

admin_write_file — Crear o actualizar un archivo de contenido

Valida y hace commit de un archivo de contenido (crear o reemplazar). La publicación es automática: CI vuelve a traducir las entradas cambiadas a todos los idiomas, recompila y despliega (main → jenksguo.xyz, dev → dev.jenksguo.xyz) en unos minutos.

  • MCP: admin_write_file on https://jenksguo.xyz/mcp/admin
  • REST: PUT /api/admin/file (admin token)
  • CLI: jenks admin put <path> <file> -m <message>
Argumento Tipo Requerido Notas
path cadena sí
content cadena sí
message cadena sí Mensaje de commit
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
curl -s -X PUT https://jenksguo.xyz/api/admin/file \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"path":"content/corpus/projects/example.md","content":"<content>","message":"<message>"}'

admin_delete_file — Eliminar un archivo de contenido

Elimina un archivo de contenido (p. ej., quitar una entrada) con un mensaje de commit. El historial de Git lo mantiene recuperable.

  • MCP: admin_delete_file on https://jenksguo.xyz/mcp/admin
  • REST: DELETE /api/admin/file?path=&message=&branch= (admin token)
  • CLI: jenks admin rm <path> -m <message>
Argumento Tipo Requerido Notas
path cadena sí
message cadena sí
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
curl -s -X DELETE https://jenksguo.xyz/api/admin/file \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"path":"content/corpus/projects/example.md","message":"<message>"}'

admin_commit_changes — Hacer commit de varios archivos a la vez

Valida y hace commit de varios cambios de archivos como UN solo commit. Cada cambio es {path, content} o {path, delete: true}.

  • MCP: admin_commit_changes on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/changes (admin token)
  • CLI: jenks admin commit <changes.json> -m <message>
Argumento Tipo Requerido Notas
changes arreglo sí
message cadena sí
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
curl -s -X POST https://jenksguo.xyz/api/admin/changes \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"changes":"<changes>","message":"<message>"}'

admin_ai_edit — Redactar una edición con IA

Pídele al modelo del sitio que reescriba un archivo de contenido a partir de una instrucción en inglés llano. Devuelve el contenido propuesto, un diff y problemas de validación. NO hace commit: revísalo y luego llama a admin_write_file.

  • MCP: admin_ai_edit on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/ai-edit (admin token)
  • CLI: jenks admin ai-edit <slug|path> "<instruction>" [--apply]
Argumento Tipo Requerido Notas
path cadena no
slug cadena no
instruction cadena sí
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
content cadena no Texto opcional no guardado del archivo desde el cual redactar (por defecto: el archivo guardado).
curl -s -X POST https://jenksguo.xyz/api/admin/ai-edit \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"instruction":"<instruction>"}'

admin_deploy_status — Estado de despliegue

Ejecuciones recientes de CI (translate → build → deploy) con estado, rama, commit y enlaces.

  • MCP: admin_deploy_status on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/deploys?branch= (admin token)
  • CLI: jenks admin deploys
Argumento Tipo Requerido Notas
branch main · dev no main publica en jenksguo.xyz; dev previsualiza en dev.jenksguo.xyz (por defecto main).
curl -s "https://jenksguo.xyz/api/admin/deploys" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_promote — Promocionar dev a producción

Fusiona la rama dev en main, publicando todo lo previsualizado en dev.jenksguo.xyz en jenksguo.xyz.

  • MCP: admin_promote on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/promote (admin token)
  • CLI: jenks admin promote
Argumento Tipo Requerido Notas
message cadena no
curl -s -X POST https://jenksguo.xyz/api/admin/promote \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{}'

.mdEsta página está traducida con ayuda de IA; los títulos oficiales permanecen en inglés.