Skip to content

▸ 21 stacks with idiom-level translation · zero required

Works with your stack. Doesn't require one.

Cloud

AADM never names a cloud. The doctrine reasons about layers and AUTH controls — never vendors.

AWS Azure GCP Self-hosted = the same to AADM

Two more things are true at once. 21 named frameworks — React to Rust to Roblox — get idiom-level translation: your framework's own words turn into AADM citations automatically. And nothing else degrades. An unlisted stack still gets the full standard — Navigator, Investigator, Sentinel, every AUTH control — just without that shortcut.

Your framework's own words, turned into citations.

Paste useEffect, Expo Router, ngOnInit, or RemoteEvent and the MCP returns the matching stack role, AUTH control, and UDALI band — a deterministic keyword lookup, never a guess. Stack identity itself is only ever set by evidence you provide (a framework_hint or your own package.json / go.mod dependencies) — never inferred from free text.

Component frameworks

Frontend

  • React

    Hooks, Context, Router, React Query, Redux / Zustand / Jotai

  • Vue

    Composition + Options API, Pinia / Vuex, Router, Teleport, Suspense

  • Svelte

    Runes ($state / $derived / $effect), stores, SvelteKit

  • Next.js

    Server Components, Server Actions, Route Handlers, middleware.ts

  • Angular

    Signals, RxJS, NgRx, DI services, structural directives

One TypeScript tree, native binaries

Mobile / universal

  • Expo

    Expo Router, EAS Build / Submit / Update, CNG, Expo Go vs dev client, Metro

  • React Native (bare)

    Pressable, Platform.OS, AsyncStorage, RNTL — not Expo Router / EAS

Server frameworks

Backend

  • Express (Node.js)

    Middleware chain, Passport, CORS, Helmet, route handlers

  • NestJS

    Decorators, guards, interceptors, exception filters, queues

  • Ruby on Rails

    ActiveRecord, ActionController, Sidekiq, ActionCable

  • Django

    Views, models, serializers, signals, Celery tasks

  • Spring / Spring Boot

    Controllers, Security filters, @Transactional, Kafka listeners

  • FastAPI

    Depends, Pydantic models, background tasks, WebSockets

  • ASP.NET Core

    Middleware, DbContext, action filters, SignalR hubs

  • Rust (Axum / Actix / Tower)

    Handlers, Tower middleware, sqlx, tonic gRPC

  • Go (net/http / Gin / Echo)

    Handlers, middleware chains, goroutines, GORM, gRPC

Real-time + netcode

Game engines

  • Unity (C#)

    MonoBehaviour lifecycle, Mirror / Photon networking, Addressables

  • Unreal Engine (C++ / Blueprint)

    Actors, replication, RPCs, Blueprint

  • Godot (GDScript / C#)

    Nodes, signals, @rpc, autoloads

  • Roblox (Lua)

    RemoteEvents, DataStores, ProfileService, Knit

  • Rust (Bevy ECS)

    Components, Systems, Resources, Events

No dictionary entry doesn't mean no support.

The three workflows — Navigator, Investigator, Sentinel — and every AUTH control apply identically no matter what you're building in. A stack without a named dictionary just skips the idiom shortcut; it still gets routed, still gets gated, still gets the same evidence discipline.

Recognized languages

  • TypeScript / JavaScript
  • Python
  • Go
  • Rust
  • Java / Kotlin
  • C#
  • Swift
  • Ruby
  • PHP
  • Lua

Recognized platforms

  • Web
  • Mobile — native
  • Mobile — cross-platform
  • Universal — iOS, Android, and web
  • Server-rendered web
  • Desktop
  • Other — CLI, API, embedded

Honestly, not covered yet

  • PHP frameworks

    Laravel, Symfony. PHP is a recognized language — there's no idiom dictionary for it yet.

  • Other mobile UI kits

    Flutter, SwiftUI, Jetpack Compose. Expo and React Native now have idiom dictionaries; these do not yet.

  • Cloud SDKs and infra idioms

    Lambda handlers, IAM policies, Terraform. Not modeled at all — cloud only ever shows up as plain evidence, never a dictionary entry.

This list changes as idiom dictionaries get added — it's a snapshot, not a promise either way.

Same standard. Any stack you bring.

Connect from whatever IDE you already use — the stack underneath is never the gate.