NAS: one document that IS the app
Every Nibor app is a single JSON document, the Nibor App Spec. Models, pages, permissions, navigation, automations and theme live in one place, and everything else (database, API, UI) is compiled from it.
Why one document
- The AI always sees the whole app. Chat edits are made against the full spec, never a partial view, which is why targeted changes do not break unrelated pages.
- Security is compiled, not hand-written. Row-level security policies, tenant isolation and per-role access rules are generated from the spec for every model, uniformly.
- It is portable. The spec ships with every export; the same document can be re-compiled on your infrastructure.
What is inside (excerpt)
{
"app": { "name": "Warehouse Stock Manager", "description": "..." },
"models": [
{ "name": "Product",
"fields": [ { "name": "sku", "type": "text", "required": true }, ... ],
"access": { "read": "authenticated", "write": "staff" } }
],
"views": [
{ "route": "/", "title": "Dashboard", "layout": "dashboard", ... }
],
"appAuth": { "enabled": true, "roles": ["admin", "staff"] },
"routing": { ... },
"automations": [ ... ]
}
Working with it directly
The Studio's NAS Editor shows the live document; Code View shows what it compiles to. Most people never need either, but nothing is hidden.