specatlas 0.1.32 → 0.1.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -0
- package/dist/{approvals-2PO6223I-DENKLEXU.js → approvals-WT4XSLLC-XPNZH33Z.js} +2 -2
- package/dist/bin.js +25021 -2176
- package/dist/{chunk-L2BWIT44.js → chunk-G22X4DNW.js} +4 -2
- package/dist/{chunk-DKFIPJ74.js → chunk-JQ7XEZUO.js} +6 -1
- package/dist/{fsx-VF2P7ALA-XKEWTMDH.js → fsx-G7YJLBF2-6DPWU44X.js} +3 -1
- package/package.json +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# specatlas
|
|
2
|
+
|
|
3
|
+
**El kernel determinista del Spec-Driven Development.** Specs vivas, trazabilidad ejecutable y gates reales para cualquier stack, cualquier agente y cualquier proyecto — incluido el que ya existe.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm i -g specatlas # instala los binarios `specatlas` y `satlas`
|
|
7
|
+
npx specatlas@latest version
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
> Requiere Node ≥ 20. La documentación completa, la extensión de VS Code y el tutorial viven en [el repositorio](https://github.com/AlonsoAM/specatlas).
|
|
11
|
+
|
|
12
|
+
## Qué problema resuelve
|
|
13
|
+
|
|
14
|
+
Escribir software con un asistente es rápido hasta que hay que responder tres preguntas: **qué se acordó**, **por qué está así** y **cómo sabemos que funciona**. SpecAtlas guarda esas respuestas en archivos versionados dentro de `.sdd/`, y las comprueba con un núcleo determinista: el estado de un cambio no lo decide un modelo interpretando texto, se **deriva** de los artefactos.
|
|
15
|
+
|
|
16
|
+
- La **especificación** se escribe en lenguaje de negocio, sin tecnología.
|
|
17
|
+
- Cada requisito tiene escenarios; cada escenario, una tarea que lo cubre y una **evidencia** con su comando y su huella.
|
|
18
|
+
- Aprobar y archivar son **actos humanos** firmados con nombre, fecha y hash.
|
|
19
|
+
- Todo comando acepta `--json` y devuelve códigos de salida estables: sirve igual a una persona, a un pipeline y a un agente.
|
|
20
|
+
|
|
21
|
+
## El ciclo, en cinco minutos
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
satlas init --name mi-proyecto # crea .sdd/ y los comandos de tu agente
|
|
25
|
+
satlas new reset-password --domain auth --title "Restablecer contraseña"
|
|
26
|
+
|
|
27
|
+
# escribe la spec funcional en .sdd/changes/reset-password/spec.md
|
|
28
|
+
satlas validate # lenguaje de negocio, estructura, plantilla sin completar
|
|
29
|
+
satlas present reset-password # propuesta HTML para el stakeholder
|
|
30
|
+
satlas approve reset-password --by "Nombre Apellido" # firma con hash
|
|
31
|
+
|
|
32
|
+
# plan y tareas en plan.md / tasks.md, luego a construir
|
|
33
|
+
satlas waves --change reset-password # olas paralelas sin colisión de archivos
|
|
34
|
+
satlas verify reset-password --scenario REQ-AUTH-001-S1 --command "npm test" --by "Nombre Apellido"
|
|
35
|
+
satlas trace --require-evidence # ¿algún escenario sin respaldo?
|
|
36
|
+
|
|
37
|
+
satlas analyze reset-password # consistencia entre artefactos
|
|
38
|
+
satlas archive reset-password # pliega el delta en la spec viva
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`satlas status` y `satlas next` responden en cualquier momento dónde está cada cambio y qué toca hacer — y `satlas next --run` lo ejecuta.
|
|
42
|
+
|
|
43
|
+
## Lo que hace distinto
|
|
44
|
+
|
|
45
|
+
**Las specs vivas saben dónde viven en el código.** Al archivar, cada requisito hereda los archivos de las tareas que cubrieron sus escenarios. Después:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
satlas drift # ¿alguna referencia dejó de existir tras un refactor?
|
|
49
|
+
satlas impact src/auth/reset.ts # ¿qué requisitos toca este archivo?
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Cualquier agente, sus propios comandos.** Los prompts viven una sola vez y se compilan al formato nativo de cada asistente: opencode, Claude Code, Cursor, Copilot, Gemini CLI, Codex y genérico. Lo que la herramienta te dice que copies existe de verdad en el agente que configuraste.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
satlas adapters --targets opencode,claude-code,cursor
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Gates que de verdad detienen.** Aprobación firmada, evidencia obligatoria, trazabilidad sin huecos, packs de cumplimiento (seguridad, datos, auditoría, accesibilidad) y contratos del cambio (OpenAPI, GraphQL, protobuf). Cada gate se configura `off | advisory | blocking`.
|
|
59
|
+
|
|
60
|
+
**Sirve en un proyecto que ya existe.** `satlas adopt` levanta el inventario, propone dominios y deja las specs base para completarlas con el agente.
|
|
61
|
+
|
|
62
|
+
## Comandos
|
|
63
|
+
|
|
64
|
+
| | |
|
|
65
|
+
|---|---|
|
|
66
|
+
| **Estado** | `status` · `next [--run]` · `watch` · `metrics` · `doctor` · `explain <código>` |
|
|
67
|
+
| **Ciclo** | `new` · `validate` · `trace` · `waves` · `verify` · `analyze` · `review` · `approve` · `amend` · `pause` · `resume` · `archive` |
|
|
68
|
+
| **Salidas** | `present` · `mockup` · `docs` · `issue` |
|
|
69
|
+
| **Código** | `drift` · `impact` · `contracts` · `link` |
|
|
70
|
+
| **Proyecto** | `init` · `adopt` · `adapters` · `profile` · `packs` · `upgrade` · `hash` · `run` |
|
|
71
|
+
| **Integración** | `ci [--strict] [--sarif <ruta>]` · `mcp` |
|
|
72
|
+
|
|
73
|
+
`satlas help` lista todo con su uso; `satlas explain <código>` explica cualquier hallazgo.
|
|
74
|
+
|
|
75
|
+
## En integración continua
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
- uses: AlonsoAM/specatlas@v1
|
|
79
|
+
with:
|
|
80
|
+
strict: 'false' # 'true' para que los avisos también bloqueen
|
|
81
|
+
upload: 'true' # publica el informe SARIF en Code Scanning
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Equivalente local: `satlas ci --sarif specatlas.sarif`. El gate bloquea exactamente igual en tu máquina y en el pipeline.
|
|
85
|
+
|
|
86
|
+
## Para asistentes (MCP, solo lectura)
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
satlas mcp # vía de consulta por stdio: estado, siguiente acción, hallazgos,
|
|
90
|
+
# cobertura, impacto, glosario, fixes, contratos y enlaces
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Las respuestas salen del mismo núcleo que la terminal, así que un asistente puede consultar el estado real antes de actuar, sin modificar nada.
|
|
94
|
+
|
|
95
|
+
## Editor
|
|
96
|
+
|
|
97
|
+
La extensión de VS Code (`specatlas.specatlas-vscode`, en Marketplace y Open VSX) añade el panel lateral con lo que toca hacer ahora, la salud del proyecto, el panel principal con trazabilidad y métricas, y un servidor de lenguaje con diagnósticos, navegación y quick fixes dentro de `.sdd/`.
|
|
98
|
+
|
|
99
|
+
## Licencia
|
|
100
|
+
|
|
101
|
+
MIT © SpecAtlas
|