103 lines
4.0 KiB
Markdown
103 lines
4.0 KiB
Markdown
# pi-new-project
|
|
|
|
Paquete de [pi](https://pi.dev) que genera la base documental de un proyecto
|
|
nuevo: `AGENTS.md`, `README.md`, `CHANGELOG.md`, `TODO.md`, `INSTALL.md` y
|
|
`.gitignore`, listos para versionar y con las secciones de reglas reservadas
|
|
para acordarlas después. Al crear el proyecto, el usuario elige el **modelo por
|
|
defecto** de entre los disponibles; se guarda en `.pi/settings.json` y se puede
|
|
cambiar en cualquier momento con la orden `/modelo-proyecto`.
|
|
|
|
## Contenido
|
|
|
|
```text
|
|
pi-new-project/
|
|
├── package.json # manifiesto de paquete pi
|
|
├── README.md # este documento
|
|
├── INSTALL.md # instalación en otro ordenador
|
|
├── CHANGELOG.md
|
|
├── TODO.md
|
|
├── LICENSE # licencia MIT
|
|
├── scripts/
|
|
│ └── publicar-dist.sh # publica la versión instalable en pi-new-project-dist
|
|
├── extensions/
|
|
│ └── modelo-proyecto.ts # orden /modelo-proyecto y herramienta elegir_modelo_proyecto
|
|
└── skills/
|
|
└── new-project/
|
|
├── SKILL.md # instrucciones para el agente
|
|
├── scripts/new-project.sh # andamiaje (bash, sin dependencias)
|
|
├── templates/ # plantillas con {{MARCADORES}}
|
|
└── references/plantillas.md # qué es cada documento
|
|
```
|
|
|
|
## Uso
|
|
|
|
En una sesión de pi, pide crear un proyecto nuevo; la skill `new-project` se
|
|
activa sola. También puedes forzarla:
|
|
|
|
```text
|
|
/skill:new-project crea el proyecto "gestor-gastos" en ~/src/gestor-gastos
|
|
```
|
|
|
|
O ejecutar el script directamente:
|
|
|
|
```bash
|
|
skills/new-project/scripts/new-project.sh --help
|
|
skills/new-project/scripts/new-project.sh \
|
|
--nombre "Gestor de gastos" \
|
|
--descripcion "API para registrar y consultar gastos personales" \
|
|
--git ~/src/gestor-gastos
|
|
```
|
|
|
|
### Modelo por defecto del proyecto
|
|
|
|
- **Al crear el proyecto**: la skill llama a la herramienta
|
|
`elegir_modelo_proyecto`, que muestra los modelos disponibles (los que tienen
|
|
credenciales en pi) para que elijas uno.
|
|
- **Dónde se guarda**: en `<proyecto>/.pi/settings.json` (`defaultProvider` y
|
|
`defaultModel`). pi lo aplica en cada sesión nueva iniciada en ese
|
|
directorio, siempre que el proyecto sea de confianza (`/trust`).
|
|
- **Para cambiarlo**: dentro del proyecto, `/modelo-proyecto` abre el selector;
|
|
`/modelo-proyecto proveedor/id` lo fija directamente (con autocompletado).
|
|
Conserva los demás ajustes del fichero y activa el modelo en la sesión actual.
|
|
- **Sin pi**: `new-project.sh --modelo proveedor/id destino` (lista con
|
|
`pi --list-models`).
|
|
|
|
El script nunca sobreescribe ficheros existentes salvo con `--force`, y admite
|
|
`--dry-run` para revisar antes.
|
|
|
|
## Instalación
|
|
|
|
Para usarlo, instala la **versión de distribución**
|
|
(<https://git.sargatxet.cloud/sargatxet/pi-new-project-dist>), que contiene solo
|
|
los ficheros que necesita pi (`package.json`, `LICENSE`, `extensions/` y `skills/`):
|
|
|
|
```bash
|
|
pi install git:git.sargatxet.cloud/sargatxet/pi-new-project-dist
|
|
# o una versión fija:
|
|
pi install git:git.sargatxet.cloud/sargatxet/pi-new-project-dist@v0.3.1
|
|
```
|
|
|
|
Este repositorio (<https://git.sargatxet.cloud/sargatxet/pi-new-project>) es el
|
|
de desarrollo. Para modificar el paquete, clónalo e instala la copia local:
|
|
|
|
```bash
|
|
git clone https://git.sargatxet.cloud/sargatxet/pi-new-project.git
|
|
pi install ./pi-new-project
|
|
```
|
|
|
|
Ver [`INSTALL.md`](INSTALL.md) para el resto de opciones (copiar solo la skill,
|
|
exportar sin acceso al repositorio, actualizar y desinstalar). La orden
|
|
`/modelo-proyecto` solo está disponible al instalarlo como paquete (o copiando
|
|
también `extensions/`).
|
|
|
|
## Requisitos
|
|
|
|
- pi 1.3.0+ (la extensión usa la API de extensiones y `typebox`, incluidos en pi).
|
|
- `bash` 4+ y `git` (opcional, solo para `--git` y el autor por defecto).
|
|
- El script no usa Python, Node ni dependencias externas: es `bash` con
|
|
biblioteca estándar.
|
|
|
|
## Licencia
|
|
|
|
Distribuido bajo la licencia MIT. Ver [`LICENSE`](LICENSE).
|