# INSTALL — pi-new-project Instalación del paquete/skill `new-project` en pi, en este ordenador o en cualquier otro. ## 1. Requisitos | Componente | Versión mínima | Notas | | --- | --- | --- | | pi | 1.3.0 | Hace falta soporte de skills y de paquetes (`pi install`). | | bash | 4.0 | El script usa arrays y `${var//}`. | | git | cualquiera | Opcional: `--git` y autor por defecto. | | shellcheck | opcional | Para validar el script (`shellcheck new-project.sh`). | ## 2. Opción A — instalarlo como paquete de pi (recomendado) Desde el directorio que contiene `pi-new-project/`: ```bash pi install ./pi-new-project ``` O desde git/npm cuando se publique: ```bash pi install git:github.com//pi-new-project@v0.1.0 ``` Comprueba con `pi list` y arranca pi: la skill aparecerá como `new-project` y estará disponible la orden `/modelo-proyecto`. Para una prueba puntual sin instalarlo: `pi -e ./pi-new-project`. ## 3. Opción B — copiar la skill Copia el directorio de la skill a una de las rutas que pi descubre: ```bash mkdir -p ~/.agents/skills cp -r pi-new-project/skills/new-project ~/.agents/skills/ ``` o enlázalo para mantenerlo actualizado con el repositorio: ```bash ln -s "$PWD/pi-new-project/skills/new-project" ~/.agents/skills/new-project ``` Rutas equivalentes: `~/.pi/agent/skills/` y, por proyecto, `.agents/skills/`. La skill sola no incluye la orden `/modelo-proyecto` ni la herramienta `elegir_modelo_proyecto`; cópialas también (o la skill usará el plan B, `pi --list-models` + `--modelo`): ```bash mkdir -p ~/.pi/agent/extensions cp pi-new-project/extensions/modelo-proyecto.ts ~/.pi/agent/extensions/ ``` ## 4. Opción C — exportar a otro ordenador No hay más que copiar el directorio; no tiene dependencias. ```bash # en el ordenador origen tar -czf pi-new-project-0.1.0.tar.gz pi-new-project/ # en el ordenador destino tar -xzf pi-new-project-0.1.0.tar.gz pi install ./pi-new-project # o la opción B ``` Alternativa sin `tar`: publicar el repositorio y usar `pi install `. ## 5. Verificación ```bash bash -n pi-new-project/skills/new-project/scripts/new-project.sh pi-new-project/skills/new-project/scripts/new-project.sh --dry-run --nombre Demo /tmp/demo # prueba real en un directorio temporal pi-new-project/skills/new-project/scripts/new-project.sh \ --nombre Demo --descripcion "Proyecto de prueba" --git /tmp/demo ls -A /tmp/demo ``` Deben aparecer `AGENTS.md`, `README.md`, `CHANGELOG.md`, `TODO.md`, `INSTALL.md` y `.gitignore`, sin marcadores `{{...}}` pendientes. Modelo por defecto: ```bash pi-new-project/skills/new-project/scripts/new-project.sh \ --nombre Demo --modelo anthropic/claude-sonnet-4-5 /tmp/demo2 cat /tmp/demo2/.pi/settings.json ``` En pi, dentro de `/tmp/demo2`, `/modelo-proyecto` debe mostrar el selector de modelos y actualizar `.pi/settings.json`. ## 6. Actualización ```bash git pull pi update --extensions # si se instaló como paquete ``` ## 7. Desinstalación ```bash pi remove ./pi-new-project # si se instaló como paquete rm -rf ~/.agents/skills/new-project # si se copió o enlazó rm -f ~/.pi/agent/extensions/modelo-proyecto.ts ``` La skill no deja estado propio: no hay caché ni configuración que limpiar. ## 8. Resolución de problemas | Síntoma | Causa probable | Solución | | --- | --- | --- | | La skill no aparece | Ruta no descubierta | Comprueba la ruta con `pi list` o colócala en `~/.agents/skills/`. | | `no encuentro las plantillas` | Falta `templates/` | Reinstala el paquete completo, no solo el script. | | `no puedo deducir el nombre` | Destino `.` o `/` | Pasa `--nombre`. | | No sobreescribe mis ficheros | Protección por defecto | Usa `--force` tras revisar `--dry-run`. | | El proyecto no arranca con su modelo | Proyecto no confiado: pi ignora `.pi/settings.json` | Ejecuta `/trust` en el proyecto. | | `/modelo-proyecto` no existe | Solo se copió la skill | Instala el paquete o copia `extensions/modelo-proyecto.ts`. | | El selector sale vacío | Ningún proveedor con credenciales | `/login` o configura la API key del proveedor. |