AkurAI Build
Menu

Public repository / 4cc6de08579edc5b304241d20812604cee60ee8f

AkurAI-Framework / site/content/docs/roadmap.md

Latest change 8f31d028271e5b840e6d3c4bd005fde6c2eb6b68 - integrate batch 5: auto-API + semantic search live; landing/roadmap/changelogs updated; breaking-changes policy + AGENTS domain split wired into nav by Ólafur Búi Ólafsson

# Roadmap & status

An honest map of what the framework does today and what's still ahead. The bar
for "shipped" is high: implemented, tested, and running on this very site. The
guiding principle is **win by subtraction** — match the capabilities of Next,
Vue, and Svelte without a bundler and without a single runtime dependency.

## Shipped

- **Single static binary**, pure `std`, zero runtime dependencies.
- **HTTP/1.1 server** — request/response, thread pool, connection upgrade, request
  bodies, middleware chain.
- **WebSockets** (RFC 6455) and **Server-Sent Events** — from scratch.
- **JSON** value/parser/serializer; **template engine** (SSR, `if`/`for`/`include`,
  HTML-escaping); **Markdown** → HTML, with **live component previews** in docs.
- **Embedded database** — crash-safe copy-on-write B+tree, atomic commits.
  [Storage](/docs/storage).
- **SQL** — a from-scratch lexer + parser ([SQL](/docs/sql)) and an
  **executor** that runs `CREATE TABLE`, `INSERT`, and `SELECT` (with
  `WHERE`/`ORDER BY`/`LIMIT`) over the B+tree and persists.
  [SQL executor](/docs/sql-executor).
- **Auto-generated REST API** — declare collections in `collections.toml`; get
  CRUD endpoints, validation, and a self-describing `/api/_meta` with no handler
  code. [Collections & auto-API](/docs/auto-api).
- **Semantic search** — `?search=` ranks records by embedding similarity against
  any OpenAI-compatible endpoint, with substring search as the fallback.
  [Semantic search](/docs/semantic-search).
- **Auth & sessions** — cookie-based login, a protected page, and logout, on the
  storage engine. [Auth](/docs/auth).
- **Dynamic routing** — declarative `routes.json`, `:param`/`*wildcard`, params in
  templates. [Routing](/docs/routing).
- **Layouts** — shared shell templates that wrap pages, composed per route.
  [Layouts](/docs/layouts).
- **Per-route data loaders** — a route names a JSON file whose contents feed the
  template. [Data loaders](/docs/loaders).
- **Form actions** — POST bodies, validation, Post/Redirect/Get, durable
  persistence. [Forms](/docs/forms).
- **Client reactivity** — a tiny signals + directives runtime in native ES
  modules, no build step. [Reactivity](/docs/reactivity).
- **SSR islands / hydration** — server-render, then hydrate only the regions you
  mark, seeded from server state with no flicker. [Islands](/docs/islands).
- **Client-side SPA router** — link-intercept + content swap with View
  Transitions, progressive enhancement. [SPA router](/docs/spa-router).
- **Middleware** — security headers, logging, timing, custom layers.
  [Middleware](/docs/middleware).
- **SEO** — `sitemap.xml`, `robots.txt`, per-route metadata. [SEO](/docs/seo).
- **Dev live-reload** over SSE, plus **`akurai update`** self-update and a
  one-line `curl … | sh` installer. [CLI](/docs/cli) · [Updating](/docs/updating).
- A documented **design system** and component catalog. [Styling](/docs/styling).

## In progress

Built as tested crates, not yet wired into the `serve`/`dev` pipeline:

- **Atomic CSS engine** (`crates/css`) — scans markup and emits only the utilities
  you use. Available as a library; auto-emitting `utilities.css` on build/reload is
  the remaining step. [Styling](/docs/styling).
- **Asset pipeline** (`crates/assets`) — content-hash fingerprinting and CSS/JS
  minification. The crate is done; build-time hashing + immutable cache headers in
  the CLI are the remaining step. [Asset pipeline](/docs/assets).

## Planned — frontend platform (vs Next / Vue / Svelte)

- **Static generation (SSG) + incremental regeneration (ISR)** — optional
  pre-render, cached in the database with revalidation.
- **Lazy routes / code splitting** — per-route JS via native `import()` + a route
  manifest.
- **Typed client SDK** — a generated, typed JS client from the schema and
  `/api/_meta` (the tRPC analog).
- **Internationalisation**, **error/loading boundaries**, **image optimisation**,
  and **streaming SSR**.

## Planned — the data engine (PocketBase-style)

- **SQL — the rest of the engine** — a query planner, `UPDATE`/`DELETE` execution,
  joins, indexes, and transactions on top of today's executor.
- **Relations**, **file uploads / blobs**, **migrations**.
- **Admin UI** for browsing and editing collections.
- **Admin UI** and enforced **performance budgets**.

## Following along

Every shipped item lands with its docs in the same commit, and the
[Changelog](/changelog) records each release. This page is the high-level view;
`AGENTS.md` in the repository is the contributor-level map.