Configuración pública de Pi: presets, extensiones y skills; instalación reproducible y sin datos personales.
  • TypeScript 83.3%
  • Python 8.9%
  • JavaScript 3.9%
  • Shell 3.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-29 03:15:07 +01:00
bin Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
extensions Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
git-hooks Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
intercom Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
prompts Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
scripts Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
skills Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
tests Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
.gitignore Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
APPEND_SYSTEM.md Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
check.sh Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
debate.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
forks.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
hooks.sh Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
install.sh Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
keybindings.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
LICENSE Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
mcp.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
mcp.json.example Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
models.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
NOTICE.md Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
presets.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
README.md Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
settings.json Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00
smoke.sh Publish sanitized reproducible Pi configuration 2026-10-29 03:15:07 +01:00

pi-config-public

Configuración pública y reproducible para @earendil-works/pi-coding-agent 1.4.0. Esta versión es una exportación saneada de una configuración personal: no incluye credenciales, estado de sesión, direcciones de red privadas, nombres de máquinas ni historial git.

Qué incluye

Ruta Qué es
presets.json Modos de trabajo (code, plan, review, worker, local/cloud genéricos)
models.json Endpoints de ejemplo para proveedores propios (localhost por defecto)
settings.json Defaults, compactación, paquetes npm
APPEND_SYSTEM.md Reglas globales que carga Pi en cada turno
extensions/ 20 extensiones; las que dependen de infraestructura privada son opt-in
skills/ 8 skills de documentación y procedimientos
prompts/ Plantillas de prompt
bin/ Wrappers y utilidades (pi, pi-revisa-cambios, pi-coste stub)
git-hooks/ Hook commit-msg opt-in (no se instala global por defecto)
mcp.json.example Ejemplo de servidores MCP; el mcp.json activo arranca vacío
intercom/config.json Configuración de intercom (opcional)

Qué NO incluye

  • auth.json ni ninguna credencial.
  • sessions/, npm/, telemetria.csv, cachés ni estado del agente.
  • Endpoints de red privada ni nombres de hosts personales.

Requisitos

Node.js >=22.19.0, npm, Python 3, Git y shell POSIX (Bash para bin/pi). Añade ~/.local/bin a PATH. El wrapper usa PI_CLI_JS si está definido; en otro caso resuelve el CLI con npm root -g. No depende de mise. Los cuatro paquetes npm están fijados en settings.json a las mismas versiones que aparecen abajo; instalarlos requiere acceso a npm.

Instalación rápida

# 1. Clona en donde prefieras
git clone https://git.okvicio.club/vicio/pi-config-public.git ~/Projects/pi-config-public

# 2. Instala enlaces simbólicos; rechaza cualquier destino en conflicto
cd ~/Projects/pi-config-public
./install.sh

# 3. Instala el paquete base y las extensiones npm con las versiones exactas
npm install -g @earendil-works/pi-coding-agent@1.4.0
pi install npm:cc-safety-net@2.7.0
pi install npm:pi-claude-subscription@0.2.4
pi install npm:pi-web-access@0.45.0
pi install npm:pi-intercom@0.18.1

# 4. Configura credenciales
pi           # dentro de la interfaz, usa /login para conectar tu provider

# 5. Si tienes endpoints locales, edita models.json
#    Ejemplo: baseUrl "http://localhost:8080/v1" con apiKey "local".

La instalación enlaza archivos y directorios al checkout: consérvalo en su ruta. Editar un archivo enlazado desde el agent-dir modifica este checkout. Para otro destino: PI_BIN_DIR=/ruta/bin ./install.sh /ruta/agent. pi auth --help describe consultas de credenciales/readiness; el login se hace con /login dentro de Pi, según la documentación instalada de 1.4.0. Los presets qwen-max y ctf-qwen-max usan local-proxy/qwen3.8-flash-max mediante un proxy de ejemplo en http://localhost:8317/v1; configura tu propio proxy antes de usarlos.

Seguridad y permisos

  • No se instala ningún hook global automáticamente. Si quieres el revisor de commits, ejecuta ./install.sh --with-hooks (o enlaza manualmente git-hooks/commit-msg).
  • No se sobreescribe ~/.pi/agent sin avisar. install.sh rechaza conflictos antes de escribir. Para reemplazarlos usa ./install.sh --force: guarda cada destino con un sufijo .bak.<id único>. Respeta PI_CODING_AGENT_DIR, PI_BIN_DIR y PI_HOOKS_DIR; los enlaces existentes que ya apuntan al checkout no cambian. Rechaza padres que sean enlaces o no sean directorios incluso con --force.
  • Cloud = dinero real. Cada preset de nube consume tu cupo/tarjeta. Revisa models.json y presets.json antes de usarlos.
  • Extensiones opt-in:
    • strata-engine.ts: requiere PI_STRATA_DIR o PI_STRATA_URL.
    • cuota.ts: requiere PI_CUOTA_ENABLED=1 y lee credenciales de providers.
    • forks-herdr.ts: requiere herdr y un panel (HERDR_PANE_ID).
  • MCP: mcp.json arranca vacío. Copia mcp.json.example y pon tus propios comandos/argumentos. El ejemplo del vault apunta a /path/to/your/vault_mcp.py; no a ningún sistema privado.

Consultas automáticas cloud

Desactivadas por defecto. PI_AUTO_CLOUD=1 habilita únicamente los callbacks automáticos de compacta, revisa y bloqueo: compacta envía la conversación a resumir, el prefijo de turno y el resumen anterior; revisa al cerrar envía el objetivo, rama, diff HEAD y nombres de archivos nuevos (hasta 14 000 caracteres); bloqueo envía el motivo y los últimos seis mensajes de usuario/asistente (hasta 6 000 caracteres). Pueden contener código o información sensible y consumir cupo o generar cargos del proveedor configurado.

Este consentimiento es independiente de PI_CUOTA_ENABLED=1 y de configurar credenciales: ninguno de ellos activa las consultas automáticas. Los comandos explícitos como /revisa, /bloqueo (estado/reset), /debate y /paralelo siguen disponibles; los que consultan modelos envían su contexto y pueden costar. El hook de revisión de commits es otro opt-in: ./install.sh --with-hooks. Una vez instalado, puede enviar el diff staged y primera línea del mensaje de commit al revisor y consumir cupo en cada commit; no depende de PI_AUTO_CLOUD. Las credenciales de cada proveedor se configuran manualmente con /login o el mecanismo del proveedor; el instalador no las crea ni las copia.

Tests

node tests/audit.cjs # regresiones locales de seguridad y gates; usa jiti instalado con Pi
python3 tests/wrapper.py # resolución real del CLI y forwarding
./tests/install.sh   # instala en un HOME/agent-dir aislado y verifica
./tests/scan.sh      # busca referencias privadas, secretos o paths absolutos
./tests/smoke.sh     # RPC get_commands y registro de worker; sin prompts ni auth
./tests/smoke-negative.sh # rechaza CLI inexistente, falso, con errores o salida no cero

Ver tests/ para detalles.

Contribuir

Si haces commit en este repo público, usa una dirección noreply para no exponer tu email personal.

Las contribuciones originales están bajo MIT, Copyright 2026 vicio: ver LICENSE. Ver NOTICE.md para atribuciones y licencia del código de terceros.