Skip to content

Latest commit

 

History

950 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sixb

Build a live model of your operations that teams and AI agents can act on together.

Documentation · Quickstart · Atlas · Discord · Contributing

npm CI License

See what you can build

Northline Mechanical is a reference application built with Sixb.

Open the app · Explore in Atlas · View the API

A terminal runs bun create sixb northline-mechanical and bun run dev, then the Northline Mechanical dashboard it starts, showing active service cases, decisions, equipment signals, and today's work

What is Sixb?

Sixb is a TypeScript framework that turns operational data into typed objects, relationships, and actions for apps, people, and AI agents.

With Sixb, you can:

  • Build typed operational apps around your own ontology.
  • Connect existing systems and respond when their data changes.
  • Run actions, workflows, and agents with built-in permissions, approvals, and history.

Quickstart

You'll need Bun 1.3 or later.

bun create sixb my-app
cd my-app
bun install
bun run dev

The starter runs on SQLite and local files, so no external services are required.

Once it starts:

Starter app http://localhost:3001
Atlas http://localhost:3000
API documentation http://localhost:3002/docs

Follow the complete getting-started guide →

How it works

Model your operations as typed objects and relationships.

// ontology/invoice.ts
import { defineObjectType, link, prop, stringEnum } from "@sixb/core/ontology"
import { Customer } from "./customer"

export const Invoice = defineObjectType({
  id: "Invoice",
  name: "Invoice",
  properties: [
    prop("id", "string", { required: true, primary: true }),
    prop("amount", "double", { required: true }),
    prop("status", stringEnum(["draft", "sent", "paid"]), { query: { filterable: true } }),
  ],
  links: [link("customer", Customer, { cardinality: "one" })],
})

Control how they change with actions.

// actions/settle-invoice.ts
import { defineAction } from "@sixb/core"
import { Invoice } from "../ontology/invoice"

export const settleInvoice = defineAction("settleInvoice")
  .on(Invoice)
  .params({})
  .edits(({ objects, subject }) => {
    objects(Invoice).byId(subject.primaryId).update({ status: "paid" })
  })

Query the same model from your app.

// app/queries/invoices.ts
import { objects } from "@sixb/client/query"
import { Invoice } from "../../ontology/invoice"

export const sentInvoices = objects(Invoice)
  .query()
  .where((invoice) => invoice.p.status.eq("sent"))
  .expand(Invoice.l.customer)

Rules, permissions, workflows, and agents build on the same objects and actions.

Meet Atlas

Every Sixb project includes Atlas, a built-in workspace for exploring your model and following the work running through it.

Atlas ontology view showing the properties, links, actions, and projections of the Service Case object type
Browse the model. See your object types, properties, relationships, and actions in one place.
Atlas pipeline view showing source datasets flowing into service cases alongside the rows in the equipment dataset
Trace the data. Follow datasets through transformations and see how they become operational objects.
Atlas service-response workflow run waiting for human dispatch review before a controlled dispatch action
Inspect the work. Follow every workflow step, including human decisions and controlled actions.

Shown with data from the Northline reference project.

Architecture

 External systems                           Apps · Atlas · API clients
   connectors                                   HTTP + WebSocket
        │                                               │
┌───────┴───────────────────────────────────────────────┴─────────────────┐
│ Sixb                                                                    │
│                                                                         │
│ Data       syncs → datasets → pipelines → projections                   │
│ Model      ontology · objects · links · telemetry                       │
│ Control    permissions · rules · actions · workflows · agents           │
│ Execution  schedules · events · orchestrator · workers · run history    │
└────────────────────────────────────┬────────────────────────────────────┘
                                     │
┌────────────────────────────────────┴────────────────────────────────────┐
│ Providers                                                               │
│ operational storage · lake storage · blob storage · broker · queues     │
└─────────────────────────────────────────────────────────────────────────┘

Locally, sixb dev runs everything together. In production, the API and background roles can run independently against the same durable providers.

Provider options
Slot Implementations
storage SQLite · PostgreSQL
lakeStorage Local files · DuckLake
blobStorage Local files · S3-compatible
broker In-memory · Redis · NATS
queues In-memory · BullMQ
sandboxes (optional) Local · Apple Container · smolVM · Vercel
Repository map
Path Contains
packages/ Runtime, server, CLI, Atlas, client, UI, and workers
storage/, broker/, queues/, sandboxes/, auth/ Infrastructure providers
connectors/ First-party integrations
examples/ Runnable reference projects
docs/ Source for docs.sixb.ai

Learn more

Status

Sixb core is currently 0.1.3. Packages are versioned independently and publish only when they change. APIs may change between minor releases, and database upgrades may require manual migration before 1.0. See the changelog for compatibility notes.

Contributing

Contributions are welcome. See CONTRIBUTING.md for the development and review workflow.

License

MIT

Releases

Packages

Contributors

Languages