A-Frame
Index build engine and AI-knowledge (RAG) runtime for the A-Concept ecosystem — turn your components into a queryable, embedded, encrypted index.
A-Frame is the index build engine of the A-Concept ecosystem. It turns the decorated A_Component / A_Entity / A_Fragment definitions in your TypeScript codebase into a queryable, embedded, and optionally encrypted index, and runs the runtime side of retrieval-augmented generation (RAG) on top of that index. Built on the same primitives as @adaas/a-concept, every capability is exposed as an A_Component, A_Container, A_Entity or A_Fragment — no loose helpers, static singletons or global event buses. It ships as three surfaces: a runtime entrypoint (Node + browser), fine-grained sub-exports for tree-shaken consumers, and a globally installable a-frame CLI.
What makes A-Frame worth your time.
- Discover & embed definitions — A_FrameIndex + the @A_Frame.Define() decorator build a semantic index so an LLM can pick the right component by description.
- Dynamic knowledge (RAG) — persist long-form text, segment and embed it, then answer via keyword, vector or hybrid search.
- Schema-driven extraction — A_FrameSchema + A_FrameCompletion return structured JSON matching a typed schema.
- Encrypted browser bundle — A_FrameBundleBuilder packages .aframe/ into a single decryptable artifact your front-end can ship.
- CLI tooling — a-frame --embed / --knowledge / --query / --bundle / --explore for building and exploring knowledge bases.
- Offline mode — set A_FRAME_SYNC=false for keyword-only search with no server required.
- Composable by design — A-Frame is itself a concept you compose with your own, built on @adaas/a-concept primitives.
Install A-Frame with A-Concept, compose it into your concept, then load to discover, embed and cache your definitions.
- Install from npm
npm install @adaas/a-frame @adaas/a-concept - Compose with your concept
const concept = new A_Concept({ name: 'MyApp', components: [A_Frame], containers: [ /* ... */ ] });import { A_Frame } from '@adaas/a-frame/core';
- Load and start
await concept.load(); await concept.start();load() discovers, embeds (when A_FRAME_SYNC=true) and caches under A_FRAME_STORAGE_DIR.
- Optional: install the CLI
npm install -g @adaas/a-frame && a-frame --help
Get A-Frame on your platform.
- Runtime
- Node.js 18 LTS or newer (browser bundle also supported)
- Language
- TypeScript (built-in type declarations)
- Peer dependency
- @adaas/a-concept
- Server (sync mode)
- A-Frame Server — managed via adaas.org or self-hosted @adaas/a-server

