Begin

Introduction

What Ajo is, how its four layers fit together, and how far along each one is.

Ajo, the mark as a character, reading an open storybook.

Ajo began as a small library for building interfaces with JSX and JavaScript generators. Around it grew a platform that can take an application from its first component to a server you control. Each piece is a separate package: use Ajo alone in any page, or follow the whole path.

Four layers

LayerWhat it doesPackages
AjoRenders components. Stateful components are generators; this.next() renders them again.ajo, ajo-cloves, ajo-ui, ajo-ui-playa
Ajo KitTurns components into an application: file routes, server loaders and actions, SQLite, live updates.ajo-kit, ajo-kit-auth, ajo-kit-mail
Ajo EngineRuns a Kit application as sealed, precompiled bytecode with declared capabilities.ajo-engine, ajo-engine-compiler
Ajo ServerHosts Apps in rootless containers on an Alpine Linux image, with an administration App.ajo-kit-server

The layers are designed to fit together, but each boundary is explicit. Node runs development, builds and tests; in production a Kit application runs only on Ajo Engine. Ajo Server deploys what the engine runs.

Where things stand

These are early releases. The documentation describes what exists today, including its limits.

PackageVersionStatus
ajo0.2.0Published on npm.
ajo-kit0.5.0Published on npm. Pre-1.0: its API is still being refined.
ajo-engine0.2.0Pre-release. The native packages are verified on Linux x64 (Alpine musl and Freedesktop glibc).
ajo-kit-server0.3.1Experimental. Hosts come from signed releases, on this machine or on DigitalOcean; there is no automated host replacement yet.

How to read these docs

Start with the quick start to create a working App from the official starter. Each layer then has its own section, from first steps to a complete reference. The packages section covers authentication, mail and the component libraries. Every page after the quick start ends by naming the repository documents it is based on.