Projects
Overview
A project is the fundamental unit of organization in Oblax. Every application you build lives inside a project. A project owns a deterministic local /app directory layout, an oblax.json manifest, and a set of module definitions that describe your data model. On the platform side, a project owns a remote workspace that stores your deployed resources, access rules, and runtime configuration.
Projects sit inside organizations. When you create an account, the platform provisions a default organization and assigns you the ORG_OWNER role. You can then create multiple projects within that organization, each with its own modules, ACL rules, and environment configuration.
Project Structure
Every project root contains two core components:
The oblax.json Manifest
The manifest is your project’s single source of truth. It declares the project name, description, and version.
{
"name": "my-first-project",
"description": "My first Oblax project",
"version": "0.1.0"
}The /app Filesystem
All application data plane definitions live inside your local /app directory. Each module maps to a subdirectory:
/app
/forms → ID-based CRUD collections (<form_id>.json)
/bookmarks → ID-based CRUD collections (<bookmark_id>.json)
/flux → Key-based semantic singletons (<event_name>.json)
/templates → Key-based semantic singletons (<template_name>.json)
/acl → HTTP-key-based route maps (<method_route>.json)Your local /app directory is the single source of truth. Changes you make locally sync to the platform when you run obx app <module> push, and updates made online mirror back when you run obx app <module> pull.
Creating a Project
Oblax supports two creation paths: a quick CLI command for developers who want to start immediately, and a guided web flow for teams that need more configuration up front.
Simple Create (CLI)
The CLI path provisions both your remote platform workspace and your local filesystem scaffold in one command.
obx project create my-first-projectOutput:
| SUCCESS: Project created
| Project "my-first-project" created successfully.
|
| Details:
| - Directory: ./my-first-project
| - Config: oblax.json
| - Data Plane: ./app
|
| → Run `cd my-first-project` to enter your workspaceGuided Create (Web Interface)
The web interface walks you through project creation with a form-based flow. You choose a project name, select modules, and configure environments before the platform provisions your workspace.
Project Lifecycle
| Stage | Description |
|---|---|
| Creation | Provision remote workspace and local scaffold |
| Development | Define modules, write flux scripts, configure ACL rules |
| Push | Sync local definitions to the platform |
| Deploy | Publish your application to a production environment |
| Iterate | Pull remote changes, update locally, push again |
Projects and Organizations
A project always belongs to exactly one organization. The creator of a project is automatically assigned the PROJ_ADMIN role. Organization owners and admins can invite other users to collaborate on a project, each receiving a project-level role that determines their access.
| Role | Capabilities |
|---|---|
PROJ_ADMIN | Full access to project settings, can manage project members |
PROJ_MEMBER | Can view project settings, cannot manage members |
Where to next
| Section | Description |
|---|---|
| Modules | Define your data model with composable backend building blocks |
| Environments | Configure isolated scopes for development, staging, and production |
| Clients | Connect your application to the project API |