Skip to Content
Apso is in public beta. Get started
Get startedIntroduction

Get started

Apso turns a version-controlled schema into a backend service you can run, test, extend, and deploy. Start from a small product workflow, inspect the generated API, and add custom behavior after the data model is stable.

Pick a path

The Apso workflow

  1. Model the domain. Record entities, fields, and relationships in .apsorc.
  2. Generate the service. Run apso generate for TypeScript, Python, or Go.
  3. Inspect the API. Start the service locally and verify the generated routes and OpenAPI output.
  4. Add product behavior. Put custom endpoints, hooks, and workflows in src/extensions/.
  5. Evolve the schema. Run apso migrate to preview and generate database changes.
  6. Connect and deploy. Use REST or @apso/sdk from the frontend, then choose Apso Cloud or your own infrastructure.

Minimal schema

.apsorc
{ "version": 2, "language": "typescript", "rootFolder": "src", "entities": [ { "name": "Project", "created_at": true, "updated_at": true, "fields": [ { "name": "name", "type": "text" }, { "name": "status", "type": "enum", "values": ["Active", "Archived"] } ] } ], "relationships": [] }
apso generate apso dev

Treat .apsorc as the source of truth. Generated files belong in src/autogen/; code you expect to preserve belongs in src/extensions/.

What the generator creates

AreaGenerated output
DataORM models, relationships, constraints, and migration support
APIREST controllers, request DTOs, validation, filters, and OpenAPI documentation
ApplicationServices, auth guards, tenant context, and extension hooks
OperationsLocal database configuration, tests, Docker files, and deployment configuration

Continue

Last updated on