Skip to content

Flujo OpenSpec ​

OpenPencil usa OpenSpec para desarrollo dirigido por especificaciones. Las especificaciones son la fuente de verdad.

Estructura ​

openspec/
├── specs/              # Source of truth
│   ├── scene-graph/
│   ├── canvas-rendering/
│   ├── auto-layout/
│   └── ...             # 19 capability specs
├── changes/
│   └── archive/
└── config.yaml

Especificaciones actuales ​

CapabilityDescription
scene-graphFlat Map, CRUD, hit testing
canvas-renderingCanvasKit WASM rendering
auto-layoutYoga WASM flexbox
fig-import.fig file import
kiwi-codecKiwi binary codec
editor-uiVue 3 panels, toolbar
desktop-appTauri v2
testingPlaywright + bun:test
toolingVite, oxlint, tsgo

Flujo de trabajo ​

1. Proponer un cambio ​

/opsx:propose change-name

→ proposal.md, design.md, specs/, tasks.md

2. Implementar ​

/opsx:apply

3. Archivar ​

/opsx:archive

Formato de especificaciones ​

markdown
# capability-name Specification
## Requirements
### Requirement: Name
#### Scenario: Name
- **WHEN** condition
- **THEN** expected outcome

Comandos CLI ​

sh
openspec list
openspec show <name>
openspec status --change <name>
openspec archive <name>

Released under the MIT License.