every module is generated from one fully-commented canonical template — same structure, same API shape, auth, validation, RLS, and theming inherited automatically · committed CLAUDE.md / AGENTS.md rules steer any AI builder (Claude Code, Codex), so the architecture is enforced on the builder, not left to convention
→
ARI Module Library
premium module distribution via api.ari.software, unlocked by license key. Modules hosted on private Cloudflare R2.
→
Idempotent Module Updates
automatic self-healing updates · dependency health handled automatically, auto-installed on module install (with version-conflict detection)
→
Module semver versioning
every module declares its own major.minor.patch version · updates are compatibility-checked before install, and breaking changes require an explicit major-version upgrade
update-aware guard · stale build caches detected & cleared automatically · no manual resets after updates
→
Health diagnostics
automatic 355+ health checks to proactively detect issues.
→
Telemetry
lib/telemetry
→
Tenant Isolation
per-tenant data separation · scoped queries · isolated storage
→
Deploy anywhere
localhost · LAN · one-click Vercel Deploy Button (boots with zero env vars) · Supabase Cloud — guided /welcome setup wizard configures the database, admin account, and secrets on first visit
05STORAGE
Database - row-level security + Drizzle ORM
→
PostgreSQL
3 interchangeable backends: local Postgres · local Supabase · Supabase Cloud (ARI_DB_MODE)
→
withRLS()
on every query - defense-in-depth; API-layer filtering is the real tenant boundary
→
Idempotent schema
lib/db/setup.sql + per-module schema.sql, auto-applied on boot/enable
Media Storage Layer
→
Filesystem (default)
data/storage/{user_id}/{bucket}/
→
AWS S3 · Cloudflare R2
+ Supabase Storage (S3-compatible)
Authenticated endpoints only (/api/storage/…) - no public file URLs.