pnpm workspace. TypeScript strict mode everywhere.
- Read
docs/architecture/design-principles.mdbefore touching code. - Before any non-trivial change, check
openspec listor create a change. - Do not expand scope beyond what was requested.
- When confused or blocked, surface it — do not silently pick an interpretation.
- Follow functional programming style: see
docs/architecture/fp.md. - Follow design principles: see
docs/architecture/design-principles.md. packages/contractsand*.test.tsare exempt fromeslint-plugin-functional.- Tests: Vitest co-located (
foo.ts→foo.test.ts); contracts use Hardhat + Chai. - Spec & interface sync: see
docs/architecture/spec-sync.md.