Definition of Done
A task is done only if all items below are satisfied. Use this checklist before merge and release decisions.
Code quality
- Functional style only (arrow functions, no classes, no
this). - ES6 only.
- No loop keywords; use declarative array methods.
- Avoid
anyunless explicitly justified. - No chained scripts in
package.json(&&,||,;). - English only in code, comments, and docs.
Typing rules
- Use
interfacefor object shapes. - No inline object types.
- No inline function type signatures.
- Every function type must be a named interface.
- Inline types are allowed only for primitives.
Architecture rules
- Follow package-level architecture rules.
- Keep module boundaries strict (
runtime, schema,transport). - Do not add business logic to transports.
Tooling and quality gates
Required checks:
pnpm check:policies
pnpm lint
pnpm typecheck
pnpm test
pnpm build
Parameters
The quality-gate commands above are executed at repository root and do not require additional parameters.
Tests
- Add or update unit tests when applicable.
- Add integration tests when applicable.
- Keep package test commands green for changed scope.
Documentation
- Update Docusaurus pages for public API or behavior changes.
- Keep root/package markdown files as redirect stubs only.