AkurAI Build
Menu

Public repository / ea85a4bfaa729fcd081e9ff622de7180d94a97b1

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

Latest change 2db2dd7dccca0704d27eae8a579adde62a95b820 - integrate batch 8: SSG demo (/welcome prerender), /boundaries-demo route+nav, ssg/i18n/boundaries docs, roadmap+changelogs for v0.5.0 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).
- **Atomic CSS engine** — `akurai serve`/`dev` scans your markup and emits a
  `utilities.css` of only the classes you use (regenerated live in dev).
  [Styling](/docs/styling).
- **Asset pipeline** — static assets are fingerprinted and minified, served with
  immutable long-cache headers. [Asset pipeline](/docs/assets).
- **Admin UI** — a built-in `/admin` to browse, create, edit, search, and delete
  records in any collection through the auto-API. [Admin](/docs/admin).
- **SQL writes** — the executor now runs `UPDATE` and `DELETE` (with `WHERE`) in
  addition to `CREATE`/`INSERT`/`SELECT`. [SQL executor](/docs/sql-executor).
- **Relations** — a `relation` field references another collection by id, with
  `?expand=` to inline the referenced record. [Collections](/docs/collections).
- **File uploads** — `multipart/form-data` uploads into a content-addressed blob
  store, a `file` field type, and a download endpoint. [Uploads](/docs/uploads).
- **Typed client SDK** — a generated, JSDoc-typed JS client built from
  `/api/_meta` (the tRPC analog), no build step. [Client SDK](/docs/client-sdk).
- **Static generation + ISR** — mark a route `prerender`/`revalidate`; rendered
  HTML is cached in the storage engine and incrementally regenerated
  (stale-while-revalidate). [SSG](/docs/ssg).
- **Internationalisation** — per-locale message catalogs, a `{{ t }}` template
  helper, and `Accept-Language` negotiation. [i18n](/docs/i18n).
- **Error & loading boundaries** — a navigation progress bar and a `withBoundary()`
  helper with retry for async data. [Boundaries](/docs/boundaries).

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

- **Lazy routes / code splitting** — per-route JS via native `import()` + a route
  manifest.
- **Image optimisation** and **streaming SSR**.

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

- **SQL — the rest of the engine** — a query planner, joins, indexes, and
  transactions on top of today's executor.
- **Migrations** for evolving collection schemas.
- Enforced **performance budgets** as a release gate.

## 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.