projects

๐Ÿงธ AIRI

Project AIRI pnpm/Turbo TypeScript/Vue monorepo and local AI companion service surface.

Root: /home/mc/airi
Role: Project AIRI monorepo for AI companion apps, shared UI/business packages, service runtimes, plugins, integrations, and local OpenAI-compatible proxy work.

Shape#

  • Apps include desktop (stage-tamagotchi), web (stage-web), and mobile (stage-pocket) surfaces.
  • Shared logic belongs in packages/, especially packages/stage-ui, packages/stage-shared, packages/stage-pages, and server packages.
  • Runtime entrypoints should wire services instead of owning reusable logic.
  • Core patterns: Vue 3, TypeScript, Vite, Pinia, VueUse, Eventa IPC/RPC, injeca DI, Valibot schemas, UnoCSS, Vitest, ESLint.

Commands#

cd /home/mc/airi
pnpm dev
pnpm dev:web
pnpm build
pnpm test:run
pnpm lint && pnpm typecheck
pnpm -F @proj-airi/stage-web build
pnpm -F @proj-airi/stage-ui exec vitest run

Use workspace filters for targeted checks. AIRI uses Node 24.13.0 and pnpm 10.33.0 per project metadata.

Local service role#

The manifest reports AIRI Web on airi.moincraft.de with Vite behind :55466 and an OpenAI-compatible LLM proxy on :55467 (/client-config, /v1/*).

Conventions to preserve#

  • Eventa for typed IPC/RPC contracts.
  • injeca at real external boundaries.
  • Valibot near schema consumers.
  • UnoCSS over Tailwind.
  • errorMessageFrom(error) from @moeru/std for user-facing error text.

Sources: root AGENTS.md, airi/AGENTS.md, manifest/index.html.