AxiomCore / EXPLORE
Get started

Declarative software for humans + agents.

Declarative software for humans + agents

Give your agents the full picture.

Connect UI, APIs, tests, and extensions through explicit contracts. Give developers and agents a shared view of how your entire software works.

curl -fsSL https://axiomcore.dev/install | bash
Keep your stack. Start with one contract.
▪ ▪ ▪ app.axiom / shared application context
$ axiom build app.acore
✓ Versioned contract built
agent / understand this application
01 Interface pages · state · actions
02 Backend operations · types · policies
03 Behavior mocks · authored tests
04 Extensions inputs · effects · permissions
Reading the declared interface
ONE CONNECTED MODEL
⌗ UI intent
↔ API contract
A .axiom versioned + typed
✓ TESTS expectations
⌘ EXTENSIONS authority
Declared relationships.
Explicit boundaries.
CONTEXT YOUR AGENT CAN INSPECT

The pieces. Their connections. The rules between them.

Illustrative model · unknowns stay explicit
UI · declarative pages · state · actions
CONTRACT · typed operations · policies
TESTS · authored mocks · expectations
TARGETS · alpha web · emulators
EXTENSIONS · bounded explicit permissions
How AxiomCore helps

One contract connects the moving parts.

Start with existing code or author in Acore. A versioned contract gives clients, tests, Inspector, and coding agents a boundary they can inspect.

01 / CONNECT YOUR STACK INTERACTIVE PRODUCT WALKTHROUGHS
01 / CONNECT YOUR STACK

Your API. A shared contract. Every client.

Extract your service’s typed boundary, build an artifact, then pull it into an existing frontend. Your backend continues to handle the requests.

FastAPI + vanilla web · Available
main.py FASTAPI
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Task(BaseModel):
    id: str
    title: str
    completed: bool = False

@app.get("/tasks/{id}", response_model=Task)
def get_task(id: str):
    return Task(id=id, title="Review release notes")
VERSIONED BOUNDARY
A tasks.axiom One artifact. Exact identity.
GET /tasks/{id}
id
String
title
String
completed
Boolean
PULL + LOCK →
● ● ● localhost / tasks ↗
WORKSPACE / RELEASE

Today’s focus01

IN REVIEW Review release notes

Ready for your next release.

YM Release team
CONTRACT RESPONSE { id, title, completed }
01 / Extract route and response types from the existing service.

After CLI installation and alpha access, install the FastAPI extractor. Extraction imports your application; its Python dependencies must be available. React and Flutter paths are alpha.

Client integration guide ↗
STARTING PATHS

Start with the part you own.

Bring an existing API, author a new Acore interface, or make a contract easier to test and inspect. Each path gives you a versioned boundary you can build on.

01

Keep your backend. Connect your clients.

Build a contract from a supported existing service, then consume a pinned, typed operation without replacing the backend.

02

Author an Acore UI. Choose its target.

Define pages, state, actions, and contract queries in Acore. Run the authored UI for supported web, Android emulator, or iOS simulator development paths.

Distinct development targets · host behavior remains explicit · not pixel-identical output
03

Make behavior testable.

Declare stateful mock behavior and author checks for the responses your app depends on—even while parts of the backend are still being built.

Mocks declare behavior. Developers author the expectations.
04

Give developers and agents evidence.

Ask Inspector what a button can execute, what depends on an operation, or what a contract change affects. Get a bounded answer with source evidence and known limits.

What can execute—not proof that a user performed the action.
01 / Connect your backend · Scroll to explore / hover to preview
AXIOM INSPECTOR · ALPHA

Git shows the edit.
Axiom shows the impact.

A line diff is only the start. Follow what an action can do, inspect what a run reported, and review what a change means across the application.

BEFORE THE CLICK / DECLARED BEHAVIOR

See the path before you run it.

The UI names an action. The action uses a contract operation. The contract identifies the endpoint. Inspector connects those facts.

01 Complete task Button
→
02 Update task Acore action
→
03 Task service Contract operation
THE USEFUL ANSWER This button can update this task.

Each relationship has a source. External backend internals stay outside the known graph.

Bring the same evidence into CI.
Gate breaking changes and permission increases with machine-readable reports.

axiom inspect diff before.evidence.json after.evidence.json \
  --fail-on breaking,permission-increase --format json
ACORE UI · ALPHA

Write the experience.
Let the layout respond.

Pages, inputs, actions, and contract queries in one readable source. Explore the same interface across browser, Android Emulator, and iOS Simulator.

main.acore ABRIDGED ACORE UI
use contract Tasks from "tasks" audience "mobile"

page Home {
  state draft: String = ""
  query tasks = Tasks.list_tasks()
  mutation create = Tasks.create_task(title: draft)

  action submit() {
    create.run()
    draft = ""
  }

  view {
    View {
      Text("Today’s focus")
      Input(value: draft, placeholder: "Add a task")
      Button(label: "Add task", on_press: submit)
      List(items: tasks.data, key: |task| task.id) {
        task => Text(task.title)
      }
    }
  }
}
BROWSER / LIVE DESIGN PREVIEW
● ● ● ⌕ localhost:3000 / tasks ↗
9:41 ▰ ▰
WORKSPACE / MY TASKS ↗

Today’s focus

A little progress, every day.

2 tasks · shared preview state
$axiom run main.acore --target web
Interactive design preview. Add a task, then switch targets: your preview state stays with you. Run the Acore UI example ↗

Abridged Acore source. Development targets have distinct hosts and capability checks; native runs require a configured UI Host and emulator or simulator.

THE AXIOMCORE COMMUNITY Coming soon

Build once.
Give others a head start.

A reusable foundation for APIs, services, component libraries, themes, and database schemas. Build your own contract and share it through the public community Marketplace.

ONE PACKAGE FORMAT .axiom MANY BUILDING BLOCKS
A
Your application Selected version · verified artifact · committed lock
↵
TERMINAL / USE A CONTRACT
API & SERVICE CONTRACT

A typed boundary, ready to connect.

Pull a versioned service contract into the frontend you already use.

PROPOSED MARKETPLACE CLI / EXAMPLE PACKAGE
THE PART YOU CAN TRUST
Version Pinned
Artifact Exact bytes
Upgrade Semantic review
AXIOM DASHBOARD · ALPHA

Your team moves independently.
Your contracts stay in sync.

Log in, link a project, and publish immutable signed contracts. Review changes asynchronously in Axiom Dashboard; developers and agents can pull the exact version their application needs.

01 / CONNECT YOUR WORKSPACE

Your local project meets your team.

Authenticate the CLI and link this directory to a project. Project membership determines who can read, publish, and activate releases.

AXIOM CLI
axiom login
axiom project link
Explore Axiom Dashboard ↗

Connected workflows require an account, membership, and a reachable control plane. Contract releases are separate from application deployment.

A Axiom Dashboard Workspace / Release team RT
PROJECT / TASKS

Tasks API

PROJECT LINKED
CONTRACT RELEASE tasks.axiom 1.2.0
Versioned artifact
Identity Immutable version
Provenance Signed at release
Review Semantic evidence
TEAM ACTIVITY / ILLUSTRATIVE
RT

Project linked Your CLI workspace is connected.

01
BE

Backend maintainer publishes 1.2.0 Immutable artifact + release signature.

02
QA

Reviewer discusses a semantic change Context stays with the release comparison.

03
FE

Frontend developer or agent pulls 1.2.0 The application pins the reviewed version.

04
Choose your starting point

Start with your code. Make the boundary clear.

Keep an existing backend or author a new Acore UI. Build and test locally, inspect the contract, and share a reviewed version when you’re ready.

Explore runnable examples