Contributor Guide¶
This guide collects everything you need to contribute code or documentation to ElasticBLAST Control Plane. If you only want to use the dashboard, start with the User Guide instead.
Pages¶
- Screenshot Workflow — capture and refresh product screenshots used across the docs.
- Archive Policy — decide when superseded plans move out of the active documentation set.
- Agent Reference — durable knowledge for AI agents (Copilot) and humans editing the codebase. See the index page below.
Agent Reference¶
The copilot/ section is the agent-facing handbook extracted from .github/copilot-instructions.md. It also serves as the deep-codebase orientation for new human contributors.
- Codebase Map
- Repo Layout
- Auth Flow
- Browser Terminal
- Resource Plane
- Monitoring UI
- Dashboard UI
- Version Management
- Security Audit Follow-up
Conventions (Quick Reference)¶
- English everywhere in source — Korean is allowed only in human conversation.
- Conventional Commits (
feat:,fix:,chore:,docs:, …). - Per-feature change notes in
docs/features_change/YYYY-MM/YYYY-MM-DD-<name>.mdbefore each behaviour-changing commit. - See .github/copilot-instructions.md for the full charter.
OpenAPI contract and generated types¶
The checked-in OpenAPI compatibility baseline and generated TypeScript declarations are validation artifacts. They do not replace the hand-written API client at runtime.
After an intentional additive API change, review the schema diff, then refresh both artifacts:
uv run python scripts/dev/check_openapi_contract.py --update
npm --prefix web run generate:api-types
CI allows additive operations and optional properties. Route removal,
operationId changes, narrower enums, required input additions, and schema
property removal require a commit with a BREAKING CHANGE:, breaking:, or
Conventional Commit ! marker. New frontend code may import generated types
from web/src/api/generated/openapi.d.ts; existing clients migrate only through
separate reviewed changes.