Metadata-Version: 2.5
Name: axiom-appkit
Version: 0.5.1
Summary: Domain-agnostic front-end and application framework for Axiom (AEOS)
Project-URL: Homepage, https://github.com/b-tree-labs/axiom-appkit
Project-URL: Repository, https://github.com/b-tree-labs/axiom-appkit
Author: B-Tree Labs
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: aeos,axiom,fastapi,framework,frontend
Requires-Python: >=3.11
Provides-Extra: axiom
Requires-Dist: axiom-os-lm>=0.10; extra == 'axiom'
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# axiom-appkit

The domain-agnostic **front-end and application framework** for Axiom (AEOS) — the
tier above Axiom's HTTP primitives (`http`, `webgate`, the mount registry) that turns
declared surfaces into one coherent application: a shared design system (design
tokens), a React + Vite + TypeScript app shell and component library (nav rail,
workbench layout, chat dock and overlay, file library, detail drawer, inline
editing), and FastAPI application conventions with a composition hook that mounts
appkit into an Axiom node. Further surfaces arrive feature by feature per the
extraction ledger in `docs/specs/spec-appkit-migration.md`.

## Position

```
React app shell + component library     (this repo, frontend/)
        │
FastAPI app conventions + mounts        (this repo, src/axiom_appkit/)
        │  composes via the extension registry into
Axiom node — http / webgate / registry  (axiom core)
        │
axiom.infra.db  (ORM + OLTP)  ←  routine upsert from the medallion gold layer
```

- **Standalone, but it composes.** appkit is its own package with its own release
  cadence; it registers into the *one* Axiom node via the extension manifest, never a
  separate runtime.
- **Domain-agnostic by construction.** No reactor, no agriculture — appkit is proven by
  two independent tenants and carries neither's domain. Consumers supply their brand,
  their surfaces, and their data.
- **Extend, don't fork.** Persistence rides `axiom.infra.db`; HTTP rides Axiom's mount
  registry. appkit is the application tier on top.

## Layout

| Path | What |
|---|---|
| `frontend/` | React 18 + Vite + TypeScript + Tailwind — design tokens, app shell, components |
| `src/axiom_appkit/` | FastAPI app conventions + the composition hook that mounts appkit into an Axiom node |
| `src/axiom_appkit/extensions/builtins/appkit/` | the `axiom-extension.toml` manifest for discovery |
| `docs/` | documentation — see the map in [`docs/README.md`](docs/README.md) |

## Documentation

Docs follow the portfolio documentation standard (one folder per document kind;
the canonical standard lives in the axiom repo at
`docs/conventions/doc-standards.md`).

- [`docs/README.md`](docs/README.md) — the docs map
- [`docs/specs/spec-appkit-migration.md`](docs/specs/spec-appkit-migration.md) —
  the extraction plan and per-feature adoption ledger (the repo's roadmap of
  record)

Apache-2.0. Copyright (c) 2026 B-Tree Labs.
