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
injecaat 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
tsconfigto hide import/type problems. - Prefer Vue class arrays with UnoCSS for readability.
- Build primitives on
@proj-airi/uiwhen 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.