airi

๐Ÿ“ AIRI Conventions

Coding, styling, module, testing, and naming conventions that matter when touching AIRI.

Code shape#

  • Shared logic belongs in packages, not one-off app surfaces.
  • Prefer functional patterns and injeca at real boundaries.
  • Avoid shallow pass-through services and dependency bags.
  • Keep cohesive modules together until a split owns a real policy, IO boundary, lifecycle, or reusable contract.

TypeScript and Vue#

  • Use explicit shared types from owning modules.
  • Do not change tsconfig to hide import/type problems.
  • Prefer Vue class arrays with UnoCSS for readability.
  • Build primitives on @proj-airi/ui when applicable.

Tests#

  • Reproduce bugs before changing production code when feasible.
  • Test through stable public behavior.
  • Do not export private helpers just for tests.
  • Avoid mocks that mask real import/runtime boundary problems.

Sources: airi/AGENTS.md.