@notis_ai/cli 0.2.0-beta.32.1 → 0.2.0-beta.35.1

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.
Files changed (68) hide show
  1. package/README.md +41 -106
  2. package/dist/scaffolds/notes/app/globals.css +3 -0
  3. package/dist/scaffolds/notes/app/layout.tsx +6 -0
  4. package/dist/scaffolds/notes/app/page.tsx +1465 -0
  5. package/dist/scaffolds/notes/components/ui/badge.tsx +28 -0
  6. package/dist/scaffolds/notes/components/ui/button.tsx +53 -0
  7. package/dist/scaffolds/notes/components/ui/card.tsx +56 -0
  8. package/dist/scaffolds/notes/components.json +20 -0
  9. package/dist/scaffolds/notes/lib/utils.ts +6 -0
  10. package/dist/scaffolds/notes/notis.config.ts +31 -0
  11. package/dist/scaffolds/notes/package.json +31 -0
  12. package/dist/scaffolds/notes/postcss.config.mjs +8 -0
  13. package/dist/scaffolds/notes/tailwind.config.ts +58 -0
  14. package/dist/scaffolds/notes/tsconfig.json +22 -0
  15. package/dist/scaffolds/notes/vite.config.ts +10 -0
  16. package/dist/scaffolds.json +13 -0
  17. package/package.json +7 -3
  18. package/skills/notis-apps/SKILL.md +168 -0
  19. package/skills/notis-apps/cli.md +208 -0
  20. package/skills/notis-cli/SKILL.md +263 -0
  21. package/skills/notis-query/cli.md +40 -0
  22. package/src/cli.js +1 -1
  23. package/src/command-specs/apps.js +211 -46
  24. package/src/command-specs/helpers.js +0 -60
  25. package/src/command-specs/index.js +0 -6
  26. package/src/command-specs/meta.js +7 -6
  27. package/src/command-specs/tools.js +1 -33
  28. package/src/runtime/app-dev-server.js +30 -2
  29. package/src/runtime/app-platform.js +376 -24
  30. package/src/runtime/profiles.js +2 -2
  31. package/src/runtime/transport.js +2 -2
  32. package/template/.harness/index.html.tmpl +1 -50
  33. package/template/app/page.tsx +41 -6
  34. package/template/metadata/cover.png +0 -0
  35. package/template/metadata/screenshot-1.png +0 -0
  36. package/template/metadata/screenshot-2.png +0 -0
  37. package/template/metadata/screenshot-3.png +0 -0
  38. package/template/notis.config.ts +10 -6
  39. package/template/package.json +2 -2
  40. package/template/packages/{notis-sdk → sdk}/src/components/MultiSelectActionBar.tsx +2 -1
  41. package/template/packages/{notis-sdk → sdk}/src/components/MultiSelectCheckbox.tsx +2 -2
  42. package/template/packages/{notis-sdk → sdk}/src/components/MultiSelectDragOverlay.tsx +2 -2
  43. package/template/packages/{notis-sdk → sdk}/src/config.ts +1 -1
  44. package/template/packages/{notis-sdk → sdk}/src/hooks/useMultiSelect.ts +4 -3
  45. package/template/packages/sdk/src/hooks/useNotis.ts +30 -0
  46. package/template/packages/{notis-sdk → sdk}/src/hooks/useNotisNavigation.ts +3 -3
  47. package/template/packages/{notis-sdk → sdk}/src/hooks/useTool.ts +22 -7
  48. package/template/packages/{notis-sdk → sdk}/src/index.ts +3 -24
  49. package/template/packages/{notis-sdk → sdk}/src/provider.tsx +1 -1
  50. package/template/packages/sdk/src/runtime.ts +80 -0
  51. package/src/command-specs/auth.js +0 -178
  52. package/src/command-specs/db.js +0 -163
  53. package/template/packages/notis-sdk/src/helpers.ts +0 -131
  54. package/template/packages/notis-sdk/src/hooks/useAppState.ts +0 -50
  55. package/template/packages/notis-sdk/src/hooks/useCollectionItem.ts +0 -58
  56. package/template/packages/notis-sdk/src/hooks/useDatabase.ts +0 -88
  57. package/template/packages/notis-sdk/src/hooks/useDocument.ts +0 -61
  58. package/template/packages/notis-sdk/src/hooks/useNotis.ts +0 -33
  59. package/template/packages/notis-sdk/src/hooks/useUpsertDocument.ts +0 -58
  60. package/template/packages/notis-sdk/src/runtime.ts +0 -182
  61. /package/template/packages/{notis-sdk → sdk}/package.json +0 -0
  62. /package/template/packages/{notis-sdk → sdk}/src/hooks/useBackend.ts +0 -0
  63. /package/template/packages/{notis-sdk → sdk}/src/hooks/useTools.ts +0 -0
  64. /package/template/packages/{notis-sdk → sdk}/src/hooks/useTopBarSearch.ts +0 -0
  65. /package/template/packages/{notis-sdk → sdk}/src/styles.css +0 -0
  66. /package/template/packages/{notis-sdk → sdk}/src/ui.ts +0 -0
  67. /package/template/packages/{notis-sdk → sdk}/src/vite.ts +0 -0
  68. /package/template/packages/{notis-sdk → sdk}/tsconfig.json +0 -0
package/README.md CHANGED
@@ -1,21 +1,23 @@
1
1
  # @notis_ai/cli
2
2
 
3
- Agent-first Notis CLI for apps, databases, and generic tool execution.
3
+ Agent-first Notis CLI for apps and generic tool execution.
4
4
 
5
5
  ## Install
6
6
 
7
- The Notis CLI is bundled automatically with the Notis desktop app.
7
+ The Notis CLI is bundled automatically with the Notis desktop app. Install and sign into Notis Desktop to install the `notis` command, write the local CLI config, and keep the bundled CLI, `notis-cli`, and `notis-apps` skills updated.
8
+
9
+ For CI, hosted agents, or internal scripts, pass a non-persisted token with `NOTIS_JWT=<token>`.
8
10
 
9
11
  ## Quick Start
10
12
 
11
13
  ```bash
12
14
  notis --help
13
- notis auth status
15
+ notis doctor
14
16
  notis apps list
15
- notis db list
17
+ notis tools search "list Notis databases"
16
18
  ```
17
19
 
18
- If you're using the desktop app, login and logout keep the CLI profile in sync automatically.
20
+ The desktop app owns sign-in and keeps the CLI profile in sync automatically.
19
21
 
20
22
  The CLI defaults to `json` output in agent or non-TTY contexts and `table` output in interactive terminals.
21
23
 
@@ -29,45 +31,6 @@ The CLI defaults to `json` output in agent or non-TTY contexts and `table` outpu
29
31
  - `--timeout-ms <n>` — HTTP timeout in milliseconds
30
32
  - `--idempotency-key <key>` — Override the generated idempotency key for mutating commands
31
33
 
32
- ## Auth
33
-
34
- ### `notis auth login`
35
-
36
- Store credentials for a named CLI profile.
37
-
38
- When to use: Use this before authenticated commands, especially in fresh environments or CI profiles.
39
-
40
- Options:
41
- - `--jwt <token>` — JWT token to store for the profile.
42
-
43
- Examples:
44
- - `notis auth login --jwt <token>`
45
- - `notis auth login --profile staging --api-base http://localhost:3001`
46
-
47
- ### `notis auth logout`
48
-
49
- Remove the stored JWT for the active profile.
50
-
51
- When to use: Use this to clear local credentials without touching other profiles.
52
-
53
- Examples:
54
- - `notis auth logout`
55
- - `notis auth logout --profile staging`
56
-
57
- ### `notis auth status`
58
-
59
- Inspect local auth configuration and optionally verify it against the API.
60
-
61
- When to use: Use this before automating commands to confirm the active profile and token health.
62
-
63
- Options:
64
- - `--verify` — Perform a live authenticated roundtrip to the API.
65
-
66
- Examples:
67
- - `notis auth status`
68
- - `notis auth status --verify --json`
69
-
70
-
71
34
  ## Apps
72
35
 
73
36
  ### `notis apps list`
@@ -84,35 +47,46 @@ Examples:
84
47
 
85
48
  Scaffold a new Notis app project.
86
49
 
87
- When to use: Start a new Notis app. Creates a Vite + React project with @notis/sdk pre-configured.
50
+ When to use: Start a new Notis app. Use --from with a bundled scaffold when one is close to the desired app; otherwise creates the bare Vite + React project.
51
+
52
+ Options:
53
+ - `--from <slug>` — Start from a bundled scaffold listed by `notis apps scaffolds list`.
88
54
 
89
55
  Examples:
56
+ - `notis apps scaffolds list`
90
57
  - `notis apps init "Mind the Flo"`
58
+ - `notis apps init "My CRM" --from notis-database`
91
59
  - `notis apps init "My App" ./my-app`
92
60
 
61
+ ### `notis apps scaffolds list`
62
+
63
+ List bundled Notis app scaffolds.
64
+
65
+ When to use: Discover the fixed scaffold catalog shipped with the CLI before starting a new app.
66
+
67
+ Examples:
68
+ - `notis apps scaffolds list`
69
+ - `notis apps init "My App" --from notis-database`
70
+
93
71
  ### `notis apps create <name> [dir]`
94
72
 
95
73
  Create a new remote Notis app and optionally link a local project to it.
96
74
 
97
75
  When to use: Provision a fresh remote app before the first deploy. Pass a project directory to link it immediately.
98
76
 
99
- Options:
100
- - `--description <text>` — Optional app description.
101
- - `--icon <lucide:icon>` — Optional Lucide icon, for example lucide:dices.
102
-
103
77
  Examples:
104
78
  - `notis apps create "My App"`
105
- - `notis apps create "My App" . --description "Internal tool" --icon lucide:layout-dashboard`
79
+ - `notis apps create "My App" .`
106
80
 
107
81
  ### `notis apps dev [dir]`
108
82
 
109
83
  Develop Notis apps inside the Electron desktop Portal with automatic local bundle reloads.
110
84
 
111
- When to use: Run this inside a single app or a monorepo root with apps/<name>/notis.config.ts. It discovers every app, starts the local bundle server, registers desktop-local dev sessions, and opens the Electron Portal Development tab.
85
+ When to use: Run this inside a single app or a monorepo root with apps/<name>/notis.config.ts. It discovers every app, starts the local bundle server, registers desktop-local dev sessions, and opens the Electron Portal to the local development app.
112
86
 
113
87
  Options:
114
88
  - `--port <number>` — Local bundle server port (default: 5173).
115
- - `--no-open` — Do not auto-open the desktop Portal Development tab.
89
+ - `--no-open` — Do not auto-open the desktop Portal local development app.
116
90
 
117
91
  Examples:
118
92
  - `notis apps dev`
@@ -163,7 +137,7 @@ Examples:
163
137
 
164
138
  Download a Notis app source snapshot into a local project folder.
165
139
 
166
- When to use: Edit an installed app locally. Pulls the persisted source and links the directory to the app.
140
+ When to use: Edit an installed app locally. Pulls the persisted source, links the directory to the app/version, then continue with npm install, notis apps dev, notis apps build, and notis apps deploy.
167
141
 
168
142
  Options:
169
143
  - `--force` — Overwrite a non-empty target directory.
@@ -201,54 +175,6 @@ Examples:
201
175
  - `notis apps doctor ./my-app`
202
176
 
203
177
 
204
- ## Databases
205
-
206
- ### `notis db list`
207
-
208
- List native Notis databases.
209
-
210
- When to use: Use this to find database ids and slugs before querying or updating schemas.
211
-
212
- Examples:
213
- - `notis db list`
214
- - `notis db list --json`
215
-
216
- ### `notis db upsert`
217
-
218
- Create or update a native database schema.
219
-
220
- When to use: Use this when you need to provision a new database or adjust an existing schema.
221
-
222
- Options:
223
- - `--operation <create|update>` — Create a new database or update an existing one.
224
- - `--database-id <id>` — Database id for update operations.
225
- - `--title <text>` — Database title.
226
- - `--description <text>` — Database description.
227
- - `--icon <lucide-icon-name>` — Database icon (Lucide icon name, e.g. database).
228
- - `--properties <json>` — JSON array of property definitions.
229
-
230
- Examples:
231
- - `notis db upsert --operation create --title "Tasks"`
232
- - `notis db upsert --operation update --database-id db_123 --title "Tasks V2"`
233
-
234
- ### `notis db query <database-slug>`
235
-
236
- Run a structured query against a native Notis database.
237
-
238
- When to use: Use this when the database slug is known and you need direct filters, sorts, or pagination.
239
-
240
- Options:
241
- - `--filter <json>` — Structured query filter JSON.
242
- - `--sort <json>` — Sort JSON object or array.
243
- - `--page-size <n>` — Page size between 1 and 100.
244
- - `--offset <n>` — Zero-based offset.
245
- - `--cursor <value>` — Pagination cursor alias for next_offset.
246
-
247
- Examples:
248
- - `notis db query tasks --page-size 50`
249
- - `notis db query tasks --filter '{"property":"Status"}'`
250
-
251
-
252
178
  ## Generic Tools
253
179
 
254
180
  ### `notis tools toolkits`
@@ -297,16 +223,15 @@ Options:
297
223
  - `--arguments <json>` — JSON object, @file path, or - for stdin.
298
224
  - `--get-schema` — Display the tool parameter schema without executing.
299
225
  - `--dry-run` — Validate arguments against the tool schema without executing.
300
- - `--watch <seconds>` — Re-execute on an interval and stream results.
301
226
  - `--toolkits <csv-or-json>` — Optional toolkit namespace(s) to use when resolving the tool.
302
227
 
303
228
  Examples:
304
229
  - `notis tools exec notis-default-query --arguments '{"database_slug":"tasks","query":{}}'`
230
+ - `notis tools exec notis-default-get_database --arguments '{"database_slug":"tasks"}'`
305
231
  - `notis tools exec notis-default-query --get-schema`
306
232
  - `notis tools exec notis-default-query --dry-run --arguments '{"database_slug":"tasks","query":{}}'`
307
233
  - `notis tools exec notis-default-query --arguments @query.json`
308
234
  - `notis tools exec notis-default-query --arguments - < query.json`
309
- - `notis tools exec notis-default-query --watch 10 --arguments '{"database_slug":"tasks","query":{}}'`
310
235
 
311
236
  ### `notis tools exec-parallel <calls>`
312
237
 
@@ -340,6 +265,16 @@ Examples:
340
265
  - `notis doctor`
341
266
  - `notis doctor --json`
342
267
 
268
+ ### `notis whoami`
269
+
270
+ Display the active profile, user, and available toolkits.
271
+
272
+ When to use: Use this to quickly confirm which account and environment a command will target.
273
+
274
+ Examples:
275
+ - `notis whoami`
276
+ - `notis whoami --json`
277
+
343
278
  ### `notis describe <command...>`
344
279
 
345
280
  Describe a first-class CLI command in detail.
@@ -347,14 +282,14 @@ Describe a first-class CLI command in detail.
347
282
  When to use: Use this when an agent or human needs the exact shape, examples, and semantics of a command.
348
283
 
349
284
  Examples:
350
- - `notis describe apps push`
351
- - `notis describe db query`
285
+ - `notis describe apps deploy`
286
+ - `notis describe tools exec`
352
287
 
353
288
 
354
289
  ## Local Development
355
290
 
356
291
  ```bash
357
- cd cli/npm
292
+ cd packages/cli
358
293
  npm install
359
294
  node ./bin/notis.js --help
360
295
  npm run docs:generate
@@ -0,0 +1,3 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
@@ -0,0 +1,6 @@
1
+ import '@notis/sdk/styles.css';
2
+ import './globals.css';
3
+
4
+ export default function AppShell({ children }: { children: React.ReactNode }) {
5
+ return children;
6
+ }