feat: repositorio de distribución pi-new-project-dist y versión 0.3.0

This commit is contained in:
sargatxet committed 2026-10-18 18:58:48 +02:00
1 parent 0a6b2af1d7
commit c00f020056
7 files changed
+215 -27

No files matched your search

+43 -15
View File
@@ -3,7 +3,12 @@
Instalación del paquete/skill `new-project` en pi, en este ordenador o en
cualquier otro.
Repositorio: <https://git.sargatxet.cloud/sargatxet/pi-new-project>
Repositorios:
- **Distribución** (para usarlo): <https://git.sargatxet.cloud/sargatxet/pi-new-project-dist>.
Solo contiene lo que pi necesita: `package.json`, `LICENSE`, `extensions/`,
`skills/` y un `README.md` mínimo. Se genera con `scripts/publicar-dist.sh`.
- **Desarrollo** (para modificarlo): <https://git.sargatxet.cloud/sargatxet/pi-new-project>.
## 1. Requisitos
@@ -16,27 +21,32 @@ Repositorio: <https://git.sargatxet.cloud/sargatxet/pi-new-project>
## 2. Opción A — instalarlo como paquete de pi desde git (recomendado)
pi clona el repositorio y lo instala directamente:
pi clona el repositorio de distribución y lo instala directamente:
```bash
pi install git:git.sargatxet.cloud/sargatxet/pi-new-project
pi install git:git.sargatxet.cloud/sargatxet/pi-new-project-dist
# equivalente, con la URL completa:
pi install https://git.sargatxet.cloud/sargatxet/pi-new-project
pi install https://git.sargatxet.cloud/sargatxet/pi-new-project-dist
```
Para fijar una versión concreta, añade una etiqueta o un commit:
`pi install git:git.sargatxet.cloud/sargatxet/pi-new-project@<etiqueta-o-commit>`.
Para fijar una versión concreta, añade una etiqueta (`v0.3.0`, …) o un commit:
`pi install git:git.sargatxet.cloud/sargatxet/pi-new-project-dist@<etiqueta-o-commit>`.
Añade `-l` (`--local`) para declararlo solo en el proyecto actual
(`.pi/settings.json`) en lugar de en `~/.pi/agent/settings.json`.
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 git:git.sargatxet.cloud/sargatxet/pi-new-project`.
`pi -e git:git.sargatxet.cloud/sargatxet/pi-new-project-dist`.
### Desde una copia local
> Si ya lo tenías instalado desde el repositorio de desarrollo
> (`git:git.sargatxet.cloud/sargatxet/pi-new-project`), pi lo considera otro
> paquete: quítalo antes con `pi remove git:git.sargatxet.cloud/sargatxet/pi-new-project`
> para que la skill no se cargue dos veces.
Si prefieres descargar antes el repositorio (para revisarlo o modificarlo):
### Desde una copia local del repositorio de desarrollo
Si vas a revisarlo o modificarlo:
```bash
git clone https://git.sargatxet.cloud/sargatxet/pi-new-project.git
@@ -64,7 +74,8 @@ ln -s "$PWD/pi-new-project/skills/new-project" ~/.agents/skills/new-project
Rutas equivalentes: `~/.pi/agent/skills/` y, por proyecto, `.agents/skills/`.
En estos ejemplos, `pi-new-project/` es una copia del repositorio obtenida con
`git clone https://git.sargatxet.cloud/sargatxet/pi-new-project.git`.
`git clone https://git.sargatxet.cloud/sargatxet/pi-new-project-dist.git pi-new-project`
(o del de desarrollo, `.../pi-new-project.git`; ambos tienen `skills/` y `extensions/`).
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,
@@ -78,15 +89,16 @@ cp pi-new-project/extensions/modelo-proyecto.ts ~/.pi/agent/extensions/
## 4. Opción C — exportar a otro ordenador sin acceso al repositorio
Si el ordenador destino tiene acceso a
<https://git.sargatxet.cloud/sargatxet/pi-new-project>, basta con la opción A.
Si no, copia el directorio; no tiene dependencias.
<https://git.sargatxet.cloud/sargatxet/pi-new-project-dist>, basta con la opción A.
Si no, copia el directorio (mejor el de distribución, que solo trae lo necesario);
no tiene dependencias.
```bash
# en el ordenador origen
tar -czf pi-new-project-0.2.0.tar.gz pi-new-project/
tar -czf pi-new-project-0.3.0.tar.gz pi-new-project/
# en el ordenador destino
tar -xzf pi-new-project-0.2.0.tar.gz
tar -xzf pi-new-project-0.3.0.tar.gz
pi install ./pi-new-project # o la opción B
```
@@ -132,7 +144,8 @@ mueve: reinstala con la nueva referencia.
## 7. Desinstalación
```bash
pi remove git:git.sargatxet.cloud/sargatxet/pi-new-project # paquete desde git
pi remove git:git.sargatxet.cloud/sargatxet/pi-new-project-dist # paquete desde git
pi remove git:git.sargatxet.cloud/sargatxet/pi-new-project # instalaciones antiguas
pi remove ./pi-new-project # paquete desde una copia local
rm -rf ~/.agents/skills/new-project # si se copió o enlazó
rm -f ~/.pi/agent/extensions/modelo-proyecto.ts
@@ -140,6 +153,21 @@ rm -f ~/.pi/agent/extensions/modelo-proyecto.ts
La skill no deja estado propio: no hay caché ni configuración que limpiar.
## Publicar una versión (mantenedores)
El repositorio de distribución se genera desde el de desarrollo; no se edita a
mano. Con los cambios ya commiteados y la versión subida en `package.json` y
`CHANGELOG.md`:
```bash
scripts/publicar-dist.sh --dry-run # prepara y muestra el contenido sin subir nada
scripts/publicar-dist.sh # commit + etiqueta vX.Y.Z en pi-new-project-dist
```
El script toma el contenido de `HEAD` (no del directorio de trabajo), se niega a
publicar si hay cambios sin commitear en lo que se publica o si la etiqueta ya
existe, y necesita permiso de escritura en el repositorio de distribución.
## 8. Resolución de problemas
| Síntoma | Causa probable | Solución |