openvidu/openvidu-dashboard/openspec/config.yaml

41 lines
2.3 KiB
YAML
Raw Permalink Normal View History

schema: spec-driven
context: |
OpenVidu Dashboard (CE): the admin web app bundled with every OpenVidu deployment, reading the MongoDB analytics
database written by openvidu-livekit (`openvidu/analytics/`). The writer side is specified here under the
capabilities prefixed `server-` and implemented in openvidu-livekit; writer and dashboard share one schema contract
(`dashboard-ce/typings/contract/`) and both check its version.
These specs describe CE, including how it shows PRO features locked; every requirement states its edition. An edition
that extends CE does it through the exports and seams of its packages, never by forking them.
Code layout, stack and conventions are in the `AGENTS.md` files. All artifacts in English. On ambiguity or
infeasibility stop and ask the owner; never decide alone.
rules:
proposal:
- State scope and explicit non-scope, the edition (CE, PRO or both) and the repositories touched (dashboard, openvidu-livekit, openvidu-deployment)
- List the observable behaviour that changes and the CHANGELOG lines it implies
specs:
- Use Given/When/Then scenarios; every requirement names its edition (CE or PRO)
- Requirements about lists state the filters, sort keys, cursor behaviour and page-size limits
design:
- Data model changes list collections, fields with types, indexes, retention, schema-version impact and the migration mapping from legacy events
- API changes include the OpenAPI shape (paths, params, responses) and the index backing each query
- State the performance budget and how it is verified (dataset size, explain() plan, p95)
- Record decisions and rejected alternatives in a "Decisions" section
tasks:
- Group tasks by writer (openvidu-livekit), typings, backend, frontend, tests, docs and CHANGELOG
- Every task names its verification (test, lint, explain() check or manual step)
- Include updating the AGENTS.md files when commands, layout or conventions change
operations:
apply:
guidance:
- Run ./dashboard.sh check before reporting a task as done
- Verify library versions on npm and APIs on Context7 before adding a dependency
- Stop and ask the owner on ambiguity or when a task turns out infeasible; never guess
archive:
guidance:
- Confirm the AGENTS.md files and CHANGELOG.md reflect the change before archiving