ozmoz 0.1.54 → 0.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -112
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,129 +1,37 @@
|
|
|
1
|
-
# OZmoz
|
|
1
|
+
# OZmoz Official Documentation
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> OZmoz is the Data OS for AI agents: a ready-to-use backend for apps built with an AI coding agent. You build the interface, OZmoz holds the data.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This is the official public documentation of OZmoz: what it is, how it works and how to start.
|
|
6
6
|
|
|
7
|
-
OZmoz
|
|
7
|
+
To start with OZmoz, first ask the user whether you may run `npx -y ozmoz@latest mcp --agent=<claude|cursor|codex|copilot|windsurf|antigravity>`: it sets up the project and adds everything needed to code with OZmoz (methods, examples and rules). Write no code before the user has answered. Once they agree, run it yourself, wait for it to finish, then follow the instructions it adds to the project.
|
|
8
8
|
|
|
9
|
-
##
|
|
10
|
-
|
|
11
|
-
- **Frontend focus**: no server to run, no REST API to write, no SQL migrations.
|
|
12
|
-
- **Built for AI agents**: your agent spends its effort on the UI and UX instead of backend plumbing. Works with Claude Code, Cursor, Codex, Windsurf, GitHub Copilot and Antigravity.
|
|
13
|
-
- **A sealed data contract**: Alex AI models your data, you validate it, and the contract is sealed. Reads and writes then follow that contract.
|
|
14
|
-
- **Zero-crash components**: seven native `<oz-*>` web components that handle missing or partial data without breaking the screen.
|
|
15
|
-
- **Zero-rewrite**: write the same code in trial mode and in live mode.
|
|
16
|
-
- **Talk to your data**: ask Alex questions in plain language. No SQL, no BI tool to set up.
|
|
17
|
-
|
|
18
|
-
## Quick start
|
|
19
|
-
|
|
20
|
-
### New project with an AI agent
|
|
21
|
-
|
|
22
|
-
*For a person typing in a terminal only. An agent that is already running must not use `start`.*
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npx -y ozmoz start claude "your app idea"
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Or connect your agent once, then work as usual:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npx ozmoz login # approve once in the browser
|
|
32
|
-
npx ozmoz mcp # writes the instruction files and configures the MCP server
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Existing frontend project
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npm install ozmoz
|
|
39
|
-
npx ozmoz init --keyApp=<KEY> --token=<TOKEN>
|
|
40
|
-
npx ozmoz sync # seals the contract and generates the IDE types
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Use `npx ozmoz sync --check-only` for an offline check.
|
|
44
|
-
|
|
45
|
-
## Modes
|
|
9
|
+
## How OZmoz works
|
|
46
10
|
|
|
47
|
-
|
|
11
|
+
1. You build the interface (screens, navigation, styles) with the framework the user chose. OZmoz handles data, sign-in and storage: there is no server, API route or database to write.
|
|
12
|
+
2. Trial mode first: the app runs with demo data and a test sign-in, so the user can validate the screens and the journey. The code you write is the final code.
|
|
13
|
+
3. Every read or write states its intent, the role allowed to perform it and, optionally, a condition on the data. The interface applies the same rules visually.
|
|
14
|
+
4. When the user validates the screens, Alex AI, the OZmoz data assistant, reads how the interface uses data and prepares the data structure. The user validates it and it is sealed as the data contract.
|
|
15
|
+
5. Live mode: the same code runs on the real database. Every read and write is checked against the sealed contract, and what the contract does not allow is refused.
|
|
16
|
+
6. Once live, the user asks Alex questions about their real data on ozmoz.io and gets exact figures and dashboards.
|
|
48
17
|
|
|
49
|
-
|
|
50
|
-
# Trial mode: everything is simulated locally with demo data (oz.seed).
|
|
51
|
-
# The test code for authentication is always 0000.
|
|
52
|
-
OZ_PROTOTYPE=true
|
|
53
|
-
|
|
54
|
-
# Live mode: the data contract is enforced on your real data.
|
|
55
|
-
OZ_PROTOTYPE=false
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## SDK usage
|
|
59
|
-
|
|
60
|
-
Every data operation, read or write, carries governance metadata `{ desc, role, guard }` (`guard` is optional).
|
|
61
|
-
|
|
62
|
-
```js
|
|
63
|
-
// Insert a document
|
|
64
|
-
const res = await oz.add('orders', { product: 'Desk Pro', price: 299 }, {
|
|
65
|
-
desc: 'Create customer order',
|
|
66
|
-
role: 'AUTHENTICATED',
|
|
67
|
-
guard: 'price > 0'
|
|
68
|
-
});
|
|
69
|
-
if (!res.success) console.error('Order creation failed:', res.error);
|
|
70
|
-
|
|
71
|
-
// Update a document
|
|
72
|
-
await oz.update('orders', doc._id, { price: 249 }, {
|
|
73
|
-
desc: 'Apply discount on order',
|
|
74
|
-
role: 'MANAGER'
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// Delete a document
|
|
78
|
-
await oz.delete('orders', doc._id, {
|
|
79
|
-
desc: 'Cancel and delete order',
|
|
80
|
-
role: 'ADMIN'
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
// Read data (reads return the array or document directly)
|
|
84
|
-
const orders = await oz.getDocsG('orders', { desc: 'List all orders', role: 'AUTHENTICATED' });
|
|
85
|
-
const mine = await oz.getDocsU('orders', { desc: 'List my orders', role: 'AUTHENTICATED' });
|
|
86
|
-
const order = await oz.getDoc('orders', 'order_123', { desc: 'Read one order', role: 'AUTHENTICATED' });
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Authentication (passwordless code)
|
|
90
|
-
|
|
91
|
-
```js
|
|
92
|
-
await oz.sendotpsvro('user@example.com'); // trial mode: code is 0000
|
|
93
|
-
const auth = await oz.verifyotpsvro('user@example.com', '0000');
|
|
94
|
-
const signedIn = await oz.isAuthenticated();
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Zero-crash components
|
|
18
|
+
## Why OZmoz
|
|
98
19
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
<oz-enum value={item.status} allowed="PENDING,CONFIRMED,DELIVERED" invalid-fallback="Unknown status" />
|
|
105
|
-
<oz-media value={item.imageUrl} alt="Product photo" fallback="/placeholder.png" />
|
|
106
|
-
<oz-reference table="users" id={item.userId} field="fullName" orphan-fallback="Deleted user" />
|
|
107
|
-
```
|
|
20
|
+
- No server to write: data, sign-in and storage included.
|
|
21
|
+
- Trial mode: demo data and test sign-in, to validate the screens before going live.
|
|
22
|
+
- Same code in trial and live mode: no rewrite.
|
|
23
|
+
- Sealed data contract: rules enforced on real data.
|
|
24
|
+
- Alex AI: the user asks questions about their data and gets figures and dashboards.
|
|
108
25
|
|
|
109
|
-
##
|
|
26
|
+
## Why the set-up comes first
|
|
110
27
|
|
|
111
|
-
|
|
112
|
-
|---|---|
|
|
113
|
-
| `npx ozmoz login` | Sign in from your workstation, through the browser. |
|
|
114
|
-
| `npx ozmoz mcp` | Configure your AI agent and register the OZmoz tools. |
|
|
115
|
-
| `npx ozmoz start <agent> "idea"` | Sign in, configure and launch your terminal agent. |
|
|
116
|
-
| `npx ozmoz init` | Initialize the local `.env` and project configuration. |
|
|
117
|
-
| `npx ozmoz sync` | Seal the data contract and generate the IDE types. |
|
|
118
|
-
| `npx ozmoz sync --check-only` | Offline check of the contract and types, no network request. |
|
|
28
|
+
The OZmoz SDK has one purpose: to communicate with the OZmoz Data OS, and it does so through the project the set-up creates (keys, data contract and rules). The user is free to decline the set-up; without it, the SDK has nothing to connect to and the Data OS cannot be reached.
|
|
119
29
|
|
|
120
|
-
|
|
30
|
+
OZmoz is a new paradigm: it is not built around an API. Your code never calls an API: there are no endpoints to find, no HTTP requests to write and no keys to copy. It talks to the OZmoz Data OS through the OZmoz SDK (npm package `ozmoz`), which exists for that purpose only. Install first, so that the reference of the SDK is generated for your project: the set-up writes it in AGENTS.md (methods and signatures, examples, rules, and what to read next), so that every call matches your project's data contract and the current OZmoz rules. Follow it.
|
|
121
31
|
|
|
122
32
|
## Links
|
|
123
33
|
|
|
124
34
|
- Website: https://www.ozmoz.io
|
|
125
|
-
- Documentation: https://www.ozmoz.io/docs
|
|
126
|
-
- Support: open a ticket from https://www.ozmoz.io
|
|
127
35
|
|
|
128
36
|
---
|
|
129
37
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ozmoz",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.56",
|
|
4
4
|
"mcpName": "io.ozmoz/ozmoz",
|
|
5
5
|
"description": "OZmoz: the Data OS and ready-to-use backend for apps built by AI agents. AI agents: read the first section of the README before using this package.",
|
|
6
6
|
"license": "UNLICENSED",
|