Project Structure

A Sixb project has one configuration file and folders for its definitions. Sixb automatically loads the definitions you export from their matching folders.

Explore a project

Explore a project based on the Sixb starter. Select a file to see how the pieces fit together.

my-sixb-app
TSsatellite.ts
ontologysatellite.ts

Define the object your app works with.

import { defineObjectType, prop } from "@sixb/core/ontology"

export const Satellite = defineObjectType({
  id: "Satellite",
  name: "Satellite",
  description:
    "A spacecraft located from public orbital elements.",
  properties: [
    prop("id", "string", { required: true, primary: true }),
    prop("name", "string", { required: true }),
    prop("tleLine1", "string", { required: true }),
    prop("tleLine2", "string", { required: true }),
    prop("elementEpoch", "timestamp", { required: true }),
  ],
})

Files and folders

PathPurpose
sixb.config.tsProject configuration and providers, exported as sixb
ontology/Your domain's types, properties, and relationships
connectors/Access to external APIs, databases, and services
datasets/The structure of your source and prepared data
syncs/Importing data from connectors into datasets
pipelines/Cleaning and combining datasets
projections/Mapping dataset rows to your domain model
actions/Operations that change your domain's state
workflows/Processes with multiple steps
rules/Conditions that signal when objects need attention
schedules/Timer and event triggers for background work
security/Access control in groups/, roles/, and policies/
shares/Permissions that can be granted through a share link
app/React pages and layouts, with their own routing conventions
skills/Agent instructions in <name>/SKILL.md and supporting resources
SIXB.mdInstructions the chat agent follows in every conversation
lib/Shared helpers imported by your project

How files are loaded

  • Export backend definitions from their matching folders.
  • File names are up to you. Sixb also loads definitions from subfolders.
  • The starter creates only the folders it needs. Add optional folders as your project grows.
  • Keep tests and standalone scripts outside definition folders, since Sixb imports their modules. The exception is ontology/: Markdown files and scripts/ folders there are given to the agent, not imported.

See Organizing your project for examples of grouping related files.

Search docs

Search the documentation