@notis_ai/cli 0.2.0-beta.19.1 → 0.2.0-beta.196.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.
- package/README.md +822 -135
- package/bin/check-runtime.js +15 -0
- package/bin/notis.js +2 -0
- package/config/notis_app_boundary_rules.json +50 -0
- package/config/notis_app_design_rules.json +135 -0
- package/config/portal-route-roots.json +48 -0
- package/dist/agent-hooks/notis-agent-hook.mjs +45587 -0
- package/dist/base-skills/notis-apps/SKILL.md +93 -0
- package/dist/base-skills/notis-apps/references/architecture.md +114 -0
- package/dist/base-skills/notis-apps/references/context.md +81 -0
- package/dist/base-skills/notis-apps/references/design.md +97 -0
- package/dist/base-skills/notis-apps/references/memory.md +58 -0
- package/dist/base-skills/notis-apps/references/reading.md +67 -0
- package/dist/base-skills/notis-apps/references/release.md +107 -0
- package/dist/base-skills/notis-apps/references/sdk.md +116 -0
- package/dist/base-skills/notis-apps/references/troubleshooting.md +24 -0
- package/dist/base-skills/notis-apps/references/views.md +142 -0
- package/dist/base-skills/notis-cli/SKILL.md +154 -0
- package/dist/base-skills/notis-cli/references/app-delivery.md +19 -0
- package/dist/base-skills/notis-cli/references/intelligence.md +94 -0
- package/dist/base-skills/notis-cli/references/native-databases.md +21 -0
- package/dist/base-skills/notis-cli/references/tool-examples.md +56 -0
- package/dist/base-skills/notis-cli/references/troubleshooting.md +39 -0
- package/dist/base-skills/notis-query/SKILL.md +41 -0
- package/dist/base-skills/notis-query/references/database-discovery.md +60 -0
- package/dist/base-skills/notis-query/references/documents.md +63 -0
- package/dist/base-skills/notis-query/references/query.md +76 -0
- package/{template/packages/notis-sdk → dist/sdk}/package.json +14 -4
- package/dist/sdk/src/agentContext.ts +36 -0
- package/dist/sdk/src/bundleModule.ts +79 -0
- package/dist/sdk/src/components/Dialog.tsx +46 -0
- package/dist/sdk/src/components/DocumentEditor.tsx +106 -0
- package/dist/sdk/src/components/DocumentPage.tsx +141 -0
- package/dist/sdk/src/components/Markdown.tsx +60 -0
- package/dist/sdk/src/components/MarkdownEditor.tsx +121 -0
- package/dist/sdk/src/components/MultiSelectActionBar.tsx +285 -0
- package/dist/sdk/src/components/MultiSelectCheckbox.tsx +97 -0
- package/dist/sdk/src/components/MultiSelectDragOverlay.tsx +39 -0
- package/dist/sdk/src/components/NotisCommentBoundary.tsx +172 -0
- package/dist/sdk/src/components/NotisSelectionBoundary.tsx +59 -0
- package/dist/sdk/src/components/RecordComponents.tsx +33 -0
- package/dist/sdk/src/components/RenderChartData.tsx +19 -0
- package/dist/sdk/src/components/ShortcutHints.tsx +56 -0
- package/dist/sdk/src/components/Skeleton.tsx +24 -0
- package/dist/sdk/src/config.ts +239 -0
- package/dist/sdk/src/documents.ts +258 -0
- package/dist/sdk/src/hooks/useAction.ts +28 -0
- package/dist/sdk/src/hooks/useActiveResource.ts +19 -0
- package/dist/sdk/src/hooks/useAgentContext.ts +23 -0
- package/dist/sdk/src/hooks/useCloudComputer.ts +95 -0
- package/dist/sdk/src/hooks/useCloudComputerShell.ts +114 -0
- package/dist/sdk/src/hooks/useCollectionInteractions.ts +838 -0
- package/dist/sdk/src/hooks/useDatabaseSchema.ts +49 -0
- package/dist/sdk/src/hooks/useDatabaseSubscription.ts +76 -0
- package/dist/sdk/src/hooks/useDocument.ts +43 -0
- package/dist/sdk/src/hooks/useDocuments.ts +84 -0
- package/dist/sdk/src/hooks/useHandover.ts +78 -0
- package/dist/sdk/src/hooks/useLongPressSelection.ts +79 -0
- package/dist/sdk/src/hooks/useMultiSelect.ts +95 -0
- package/dist/sdk/src/hooks/useNativeDocumentBody.ts +50 -0
- package/dist/sdk/src/hooks/useNativeDocuments.ts +83 -0
- package/dist/sdk/src/hooks/useNotis.ts +42 -0
- package/dist/sdk/src/hooks/useNotisNavigation.ts +67 -0
- package/dist/sdk/src/hooks/useQuery.ts +74 -0
- package/dist/sdk/src/hooks/useTool.ts +65 -0
- package/dist/sdk/src/hooks/useToolQuery.ts +12 -0
- package/dist/sdk/src/hooks/useTopBarSearch.ts +81 -0
- package/dist/sdk/src/hooks/useUpsertDocument.ts +95 -0
- package/dist/sdk/src/hooks/useViewParams.ts +121 -0
- package/dist/sdk/src/hooks/useViewerReads.ts +129 -0
- package/dist/sdk/src/index.ts +200 -0
- package/dist/sdk/src/interactions/actions.ts +59 -0
- package/dist/sdk/src/interactions/shortcuts.tsx +740 -0
- package/dist/sdk/src/interactions/visibility.ts +13 -0
- package/dist/sdk/src/interactions.ts +45 -0
- package/dist/sdk/src/nativeData.ts +39 -0
- package/dist/sdk/src/presentation.tsx +82 -0
- package/dist/sdk/src/provider.tsx +49 -0
- package/dist/sdk/src/queryCache.ts +172 -0
- package/dist/sdk/src/queryErrors.ts +51 -0
- package/dist/sdk/src/runtime.ts +603 -0
- package/dist/sdk/src/space.ts +425 -0
- package/dist/sdk/src/styles.css +290 -0
- package/dist/sdk/src/tailwind.ts +66 -0
- package/dist/sdk/src/vite.ts +83 -0
- package/dist/skill-sync/index.js +2143 -0
- package/dist/skill-sync/index.js.map +7 -0
- package/dist/skill-sync-worker.mjs +3487 -0
- package/dist/space-harness/host.js +66 -0
- package/dist/view-renderer/dist/host.css +1 -0
- package/dist/view-renderer/dist/host.js +1042 -0
- package/dist/view-renderer/dist/theme.css +73 -0
- package/dist/view-renderer/src/dom.js +180 -0
- package/dist/view-renderer/src/errors.js +8 -0
- package/dist/view-renderer/src/host.tsx +173 -0
- package/dist/view-renderer/src/index.js +4 -0
- package/dist/view-renderer/src/pool.js +76 -0
- package/dist/view-renderer/src/remote-broker.js +59 -0
- package/dist/view-renderer/src/renderer.js +201 -0
- package/package.json +25 -8
- package/skills/notis-apps/cli.md +406 -0
- package/skills/notis-cli/AGENT_INSTRUCTIONS.md +39 -0
- package/skills/notis-onboarding/BRIEF.md +133 -0
- package/skills/notis-query/cli.md +39 -0
- package/src/agent-hook-entry.js +5 -0
- package/src/cli.js +294 -25
- package/src/command-specs/agents.js +392 -0
- package/src/command-specs/apps.js +1476 -203
- package/src/command-specs/auth.js +114 -137
- package/src/command-specs/diagnostics.js +730 -0
- package/src/command-specs/files.js +29 -0
- package/src/command-specs/handover.js +374 -0
- package/src/command-specs/helpers.js +86 -82
- package/src/command-specs/index.js +31 -6
- package/src/command-specs/meta.js +150 -18
- package/src/command-specs/onboarding.js +290 -0
- package/src/command-specs/profile.js +358 -0
- package/src/command-specs/skills.js +304 -0
- package/src/command-specs/smoke.js +386 -0
- package/src/command-specs/spaces.js +572 -0
- package/src/command-specs/tools.js +455 -139
- package/src/command-specs/views.js +69 -0
- package/src/runtime/agent-browser.js +700 -0
- package/src/runtime/agent-memory-state.js +126 -0
- package/src/runtime/agent-setup.js +383 -0
- package/src/runtime/app-boundary-validator.js +407 -0
- package/src/runtime/app-changelog.js +79 -0
- package/src/runtime/app-data-literals.js +82 -0
- package/src/runtime/app-platform.js +2752 -237
- package/src/runtime/app-registry-scaffolds.js +367 -0
- package/src/runtime/app-test-server.js +293 -0
- package/src/runtime/assets/store-screenshot-dark.png +0 -0
- package/src/runtime/auth-recovery.js +110 -0
- package/src/runtime/base-skills.d.ts +20 -0
- package/src/runtime/base-skills.js +167 -0
- package/src/runtime/channel.js +133 -0
- package/src/runtime/confined-space-build.js +74 -0
- package/src/runtime/confined-space-verify.js +49 -0
- package/src/runtime/delegated-context.js +68 -0
- package/src/runtime/errors.js +1 -0
- package/src/runtime/git.js +233 -0
- package/src/runtime/login-listener.js +15 -0
- package/src/runtime/native-record-files.js +47 -0
- package/src/runtime/oauth.js +2622 -0
- package/src/runtime/output.js +37 -5
- package/src/runtime/ports.js +31 -0
- package/src/runtime/profiles.js +906 -55
- package/src/runtime/retired-sdk-files.js +20 -0
- package/src/runtime/screenshot-framing.js +85 -0
- package/src/runtime/skill-sync/cloud-client.ts +121 -0
- package/src/runtime/skill-sync/index.ts +905 -0
- package/src/runtime/skill-sync/local-scanner.ts +1259 -0
- package/src/runtime/skill-sync/native-identity.ts +102 -0
- package/src/runtime/skill-sync/native-plan.ts +59 -0
- package/src/runtime/skill-sync/symlink-manager.ts +433 -0
- package/src/runtime/skill-sync/sync-plan.ts +54 -0
- package/src/runtime/skill-sync/types.ts +157 -0
- package/src/runtime/skill-sync/write-cloud-skill.ts +50 -0
- package/src/runtime/skill-sync-service.js +109 -0
- package/src/runtime/source-root.js +32 -0
- package/src/runtime/space-collection-scaffold.js +66 -0
- package/src/runtime/space-database-structures.js +229 -0
- package/src/runtime/space-fixture-broker.js +50 -0
- package/src/runtime/space-lock.js +337 -0
- package/src/runtime/space-platform.js +105 -0
- package/src/runtime/space-source.js +281 -0
- package/src/runtime/space-test-server.js +327 -0
- package/src/runtime/space-verification.js +89 -0
- package/src/runtime/space-verify-browser-worker.js +51 -0
- package/src/runtime/space-view-manifest.js +254 -0
- package/src/runtime/store-screenshot.js +146 -0
- package/src/runtime/sync-skills.d.ts +37 -0
- package/src/runtime/sync-skills.js +231 -0
- package/src/runtime/telemetry.js +92 -0
- package/src/runtime/transport.js +331 -45
- package/src/runtime/view-render.js +49 -0
- package/src/skill-sync-worker-entry.js +2 -0
- package/src/skill-sync-worker.js +50 -0
- package/src/space-harness-host.ts +103 -0
- package/template/.harness/index.html.tmpl +435 -0
- package/template/CHANGELOG.md +5 -0
- package/template/app/globals.css +29 -3
- package/template/app/layout.tsx +6 -3
- package/template/app/page.tsx +49 -42
- package/template/components/page-heading.tsx +23 -0
- package/template/components/ui/badge.tsx +7 -4
- package/template/components/ui/button.tsx +1 -1
- package/template/components/ui/card.tsx +24 -11
- package/template/components/ui/native-select.tsx +24 -0
- package/template/notis.config.ts +24 -6
- package/template/package-lock.json +3642 -0
- package/template/package.json +19 -16
- package/template/postcss.config.mjs +1 -1
- package/template/tailwind.config.ts +1 -6
- package/template/tsconfig.json +1 -0
- package/src/command-specs/db.js +0 -163
- package/src/runtime/app-preview-server.js +0 -312
- package/template/packages/notis-sdk/src/config.ts +0 -48
- package/template/packages/notis-sdk/src/helpers.ts +0 -131
- package/template/packages/notis-sdk/src/hooks/useAppState.ts +0 -50
- package/template/packages/notis-sdk/src/hooks/useCollectionItem.ts +0 -58
- package/template/packages/notis-sdk/src/hooks/useDatabase.ts +0 -87
- package/template/packages/notis-sdk/src/hooks/useDocument.ts +0 -61
- package/template/packages/notis-sdk/src/hooks/useNotis.ts +0 -31
- package/template/packages/notis-sdk/src/hooks/useNotisNavigation.ts +0 -49
- package/template/packages/notis-sdk/src/hooks/useTool.ts +0 -49
- package/template/packages/notis-sdk/src/hooks/useUpsertDocument.ts +0 -57
- package/template/packages/notis-sdk/src/index.ts +0 -47
- package/template/packages/notis-sdk/src/provider.tsx +0 -44
- package/template/packages/notis-sdk/src/runtime.ts +0 -159
- package/template/packages/notis-sdk/src/styles.css +0 -123
- package/template/packages/notis-sdk/src/vite.ts +0 -54
- package/template/packages/notis-sdk/tsconfig.json +0 -15
- /package/{template/packages/notis-sdk → dist/sdk}/src/hooks/useBackend.ts +0 -0
- /package/{template/packages/notis-sdk → dist/sdk}/src/hooks/useTools.ts +0 -0
- /package/{template/packages/notis-sdk → dist/sdk}/src/ui.ts +0 -0
package/README.md
CHANGED
|
@@ -1,21 +1,56 @@
|
|
|
1
1
|
# @notis_ai/cli
|
|
2
2
|
|
|
3
|
-
Agent-first Notis CLI for
|
|
3
|
+
Agent-first Notis CLI for Spaces, Skills and generic tool execution.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Requires Node.js 22.12.0 or newer (Node 24 LTS recommended). Update Node.js before installing or running the CLI; the CLI never upgrades your host runtime.
|
|
8
|
+
|
|
9
|
+
Use the Notis CLI through NPX; do not rely on an installed `notis` command. Run `notis login` once to authorize a scoped, revocable OAuth credential in the browser — that is how the CLI signs in everywhere, including on a machine that also runs Notis Desktop.
|
|
10
|
+
|
|
11
|
+
After local login, the CLI idempotently adds static Notis guidance to detected Codex and Claude Code user instruction files without changing their hooks. Run `notis agents install` when you explicitly want memory hooks that load the user's profile at session start, recall only new relevant memories before prompts, and save completed turns as automatic cross-session context. Codex then asks you to review and trust those hooks once in `/hooks`.
|
|
12
|
+
|
|
13
|
+
For CI, hosted agents, or internal scripts, pass a non-persisted token with `NOTIS_JWT=<token>`.
|
|
8
14
|
|
|
9
15
|
## Quick Start
|
|
10
16
|
|
|
11
17
|
```bash
|
|
12
|
-
notis --help
|
|
13
|
-
notis
|
|
14
|
-
notis
|
|
15
|
-
notis
|
|
18
|
+
npx --package @notis_ai/cli@latest -- notis --help
|
|
19
|
+
npx --package @notis_ai/cli@latest -- notis login
|
|
20
|
+
npx --package @notis_ai/cli@latest -- notis doctor
|
|
21
|
+
npx --package @notis_ai/cli@latest -- notis spaces list
|
|
22
|
+
npx --package @notis_ai/cli@latest -- notis tools search "list Notis databases"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Use `notis login --paste-code` for the HTTPS copy-paste fallback on a remote machine.
|
|
26
|
+
|
|
27
|
+
## Release channels
|
|
28
|
+
|
|
29
|
+
`@latest` is the only tag worth documenting, for beta accounts too.
|
|
30
|
+
|
|
31
|
+
The npm tag has to be chosen before the CLI starts, and the CLI only learns which Notis it talks to once it reads the profile — so no single install command can be right for both environments on its own. Instead the deployment answers the question: `/.well-known/oauth-protected-resource/cli` reports its channel, `notis login` pins it on the profile, and any later run that finds itself on the wrong build hands the whole invocation to the right one before it does anything else.
|
|
32
|
+
|
|
33
|
+
- `notis doctor` reports `release_channel`, `cli_version`, and a `channel` check.
|
|
34
|
+
- `--api-base <url>` decides the build for that one run, so a one-off call against another environment uses the matching CLI.
|
|
35
|
+
- `./dev.sh` profiles and source checkouts are never re-executed: whatever you started stays in control.
|
|
36
|
+
- `NOTIS_CLI_AUTO_CHANNEL=0` disables the hand-off; `doctor` then reports the mismatch instead of correcting it.
|
|
37
|
+
|
|
38
|
+
## Profiles
|
|
39
|
+
|
|
40
|
+
A profile is one account paired with one API endpoint. Every profile keeps its own credential, so switching between them never signs any of them out.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx --package @notis_ai/cli@latest -- notis login --profile work
|
|
44
|
+
npx --package @notis_ai/cli@latest -- notis profile list
|
|
45
|
+
npx --package @notis_ai/cli@latest -- notis profile use work
|
|
46
|
+
npx --package @notis_ai/cli@latest -- notis --profile default tools search "..."
|
|
16
47
|
```
|
|
17
48
|
|
|
18
|
-
|
|
49
|
+
`notis logout` revokes and removes the OAuth grant for one profile; `--all-profiles` clears every one.
|
|
50
|
+
|
|
51
|
+
Credential precedence within the selected profile is: an active `./dev.sh` worktree credential, then `NOTIS_JWT`, then the profile's OAuth grant.
|
|
52
|
+
|
|
53
|
+
`./dev.sh` exposes its test account as a lease-backed `dev-<workspace>-<hash>` profile bound to its loopback backend. The credential stays in the worktree rather than the shared account config. That synthetic profile is the default only inside its active worktree; naming any stored profile with `--profile` runs against that real account instead.
|
|
19
54
|
|
|
20
55
|
The CLI defaults to `json` output in agent or non-TTY contexts and `table` output in interactive terminals.
|
|
21
56
|
|
|
@@ -24,244 +59,828 @@ The CLI defaults to `json` output in agent or non-TTY contexts and `table` outpu
|
|
|
24
59
|
- `--json` — Shortcut for `--output json`
|
|
25
60
|
- `--output <table|json|yaml|ndjson>` — Output mode override
|
|
26
61
|
- `--non-interactive` — Disable prompts
|
|
27
|
-
- `--profile <name>` —
|
|
62
|
+
- `--profile <name>` — Run as a stored profile instead of the active one
|
|
28
63
|
- `--api-base <url>` — Override the API base for one invocation
|
|
29
64
|
- `--timeout-ms <n>` — HTTP timeout in milliseconds
|
|
30
65
|
- `--idempotency-key <key>` — Override the generated idempotency key for mutating commands
|
|
31
66
|
|
|
32
|
-
##
|
|
67
|
+
## Authentication
|
|
68
|
+
|
|
69
|
+
### `npx --package @notis_ai/cli@latest -- notis login`
|
|
70
|
+
|
|
71
|
+
Authorize a CLI profile in a browser with scoped OAuth access.
|
|
72
|
+
|
|
73
|
+
When to use: Run this once per account you want the CLI to reach. Pass --profile to add a second account without signing the first one out.
|
|
74
|
+
|
|
75
|
+
Options:
|
|
76
|
+
- `--no-browser` — Print the authorization URL without opening a browser.
|
|
77
|
+
- `--print-url` — Print the authorization URL even when opening a browser.
|
|
78
|
+
- `--mode <mode>` — auto (default) hands the browser callback to a background listener when this command cannot wait; browser waits in-process; code shows a one-time code to copy.
|
|
79
|
+
- `--paste-code` — Alias for --mode code.
|
|
80
|
+
- `--timeout-seconds <n>` — Authorization lifetime in seconds (default 300 while waiting in a terminal; 1800 for detached or code hand-offs).
|
|
81
|
+
- `--scope <scope>` — OAuth permission to request (repeatable).
|
|
82
|
+
- `--code <code>` — Redeem the code shown in the browser after a non-interactive login.
|
|
83
|
+
|
|
84
|
+
Examples:
|
|
85
|
+
- `npx --package @notis_ai/cli@latest -- notis login`
|
|
86
|
+
- `npx --package @notis_ai/cli@latest -- notis login --profile work`
|
|
87
|
+
- `npx --package @notis_ai/cli@latest -- notis login --profile beta --api-base https://api-beta.notis.ai`
|
|
88
|
+
- `npx --package @notis_ai/cli@latest -- notis login --no-browser --print-url`
|
|
89
|
+
- `npx --package @notis_ai/cli@latest -- notis login --mode browser`
|
|
90
|
+
- `npx --package @notis_ai/cli@latest -- notis login --mode code`
|
|
91
|
+
- `npx --package @notis_ai/cli@latest -- notis login --code 4f3c2b1a`
|
|
92
|
+
|
|
93
|
+
### `npx --package @notis_ai/cli@latest -- notis logout`
|
|
94
|
+
|
|
95
|
+
Revoke and remove the OAuth credential for one CLI profile.
|
|
96
|
+
|
|
97
|
+
When to use: Use this to disconnect a single account. Other profiles keep their credentials unless you pass --all-profiles.
|
|
98
|
+
|
|
99
|
+
Options:
|
|
100
|
+
- `--all-profiles` — Clear OAuth credentials and pending authorizations from every CLI profile.
|
|
101
|
+
|
|
102
|
+
Examples:
|
|
103
|
+
- `npx --package @notis_ai/cli@latest -- notis logout`
|
|
104
|
+
- `npx --package @notis_ai/cli@latest -- notis logout --profile work`
|
|
105
|
+
- `npx --package @notis_ai/cli@latest -- notis logout --all-profiles`
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## Coding-agent context
|
|
109
|
+
|
|
110
|
+
### `npx --package @notis_ai/cli@latest -- notis agents install`
|
|
111
|
+
|
|
112
|
+
Install Notis instructions and recall/capture hooks for local Codex and Claude Code.
|
|
113
|
+
|
|
114
|
+
When to use: Run after login to give local coding agents durable Notis CLI guidance, session-start profile context, deduplicated relevant recall, and automatic completed-turn capture. Hosted Notis sandboxes already receive prompt context and are skipped.
|
|
115
|
+
|
|
116
|
+
Options:
|
|
117
|
+
- `--codex-only` — Configure only Codex.
|
|
118
|
+
- `--claude-only` — Configure only Claude Code.
|
|
119
|
+
- `--no-memory-hooks` — Install static instructions and remove Notis recall/capture hooks.
|
|
120
|
+
|
|
121
|
+
Examples:
|
|
122
|
+
- `npx --package @notis_ai/cli@latest -- notis agents install`
|
|
123
|
+
- `npx --package @notis_ai/cli@latest -- notis agents install --codex-only`
|
|
124
|
+
- `npx --package @notis_ai/cli@latest -- notis agents install --claude-only`
|
|
125
|
+
- `npx --package @notis_ai/cli@latest -- notis agents install --no-memory-hooks`
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
## Skills
|
|
129
|
+
|
|
130
|
+
### `npx --package @notis_ai/cli@latest -- notis skills list`
|
|
131
|
+
|
|
132
|
+
List every Skill you can see, with its kind, editability and Space links.
|
|
133
|
+
|
|
134
|
+
When to use: Find a Skill and its exact edit target before reading or editing it, or see what a Space and its sub-Spaces list. Links to Spaces you cannot open are omitted; an unavailable link gives no access.
|
|
135
|
+
|
|
136
|
+
Options:
|
|
137
|
+
- `--space <id>` — Only Skills listed by this Space and, by default, its sub-Spaces.
|
|
138
|
+
- `--no-child-spaces` — With --space: direct links of that Space only.
|
|
139
|
+
- `--include-disabled` — Include Skills you disabled.
|
|
140
|
+
- `--after <cursor>` — Continue from the next cursor of the previous page.
|
|
141
|
+
- `--limit <n>` — Page size between 1 and 100 (default 50).
|
|
142
|
+
|
|
143
|
+
Examples:
|
|
144
|
+
- `npx --package @notis_ai/cli@latest -- notis skills list`
|
|
145
|
+
- `npx --package @notis_ai/cli@latest -- notis skills list --space <space-id> --no-child-spaces --json`
|
|
146
|
+
|
|
147
|
+
### `npx --package @notis_ai/cli@latest -- notis skills create <file>`
|
|
148
|
+
|
|
149
|
+
Create a native Skill, standalone or linked to an editable Space.
|
|
150
|
+
|
|
151
|
+
When to use: Create complete instructions or files without provider installation. Choose an optional Space destination, dry-run, and keep the exact request key on retry.
|
|
152
|
+
|
|
153
|
+
Options:
|
|
154
|
+
- `--request-id <key>` — Stable creation intent key; reuse after an uncertain reply.
|
|
155
|
+
- `--dry-run` — Validate without creating an identity or uploading files.
|
|
156
|
+
|
|
157
|
+
Examples:
|
|
158
|
+
- `npx --package @notis_ai/cli@latest -- notis skills create ./skill.json --request-id create-1 --dry-run`
|
|
159
|
+
|
|
160
|
+
### `npx --package @notis_ai/cli@latest -- notis skills settings read <skill-id>`
|
|
161
|
+
|
|
162
|
+
Read a native Skill personal enablement, agent targets and settings revision.
|
|
163
|
+
|
|
164
|
+
When to use: Inspect direct-owner preferences without changing shared instructions or Space access.
|
|
165
|
+
|
|
166
|
+
Examples:
|
|
167
|
+
|
|
168
|
+
### `npx --package @notis_ai/cli@latest -- notis skills settings update <file>`
|
|
169
|
+
|
|
170
|
+
Update personal native Skill settings with a current revision and stable retry key.
|
|
171
|
+
|
|
172
|
+
When to use: Enable or disable your agents without changing a shared Skill definition or another Space.
|
|
173
|
+
|
|
174
|
+
Options:
|
|
175
|
+
- `--request-id <key>` — Stable settings intent; reuse after a lost reply.
|
|
176
|
+
- `--dry-run` — Validate current ownership and revision without changing settings.
|
|
177
|
+
|
|
178
|
+
Examples:
|
|
179
|
+
|
|
180
|
+
### `npx --package @notis_ai/cli@latest -- notis skills read [skill-id]`
|
|
181
|
+
|
|
182
|
+
Inspect a native Skill through direct ownership or an editable Space link.
|
|
183
|
+
|
|
184
|
+
When to use: Read the exact target and content version before editing. A Space target uses its current Editor authority, never a personal fallback.
|
|
185
|
+
|
|
186
|
+
Options:
|
|
187
|
+
- `--files` — Include every verified supporting file as base64.
|
|
188
|
+
- `--target <json>` — Exact {skill_id} or {space_id,binding_id} read target; do not combine with a Skill ID.
|
|
189
|
+
|
|
190
|
+
Examples:
|
|
191
|
+
- `npx --package @notis_ai/cli@latest -- notis skills read <skill-id> --files`
|
|
192
|
+
- `npx --package @notis_ai/cli@latest -- notis skills read --target '{"space_id":"<id>","binding_id":"<binding>"}' --files`
|
|
193
|
+
|
|
194
|
+
### `npx --package @notis_ai/cli@latest -- notis skills update <file>`
|
|
195
|
+
|
|
196
|
+
Edit a native Skill through its direct or Space target, preserving its ID and supporting files.
|
|
197
|
+
|
|
198
|
+
When to use: Use the target/version from skills list or skills read, dry-run, then reuse the same request key and bytes to save or recover a lost reply. The same edit file works for a standalone or a Space target; an optional links key changes where the Skill is listed in the same transaction.
|
|
199
|
+
|
|
200
|
+
Options:
|
|
201
|
+
- `--request-id <key>` — Stable edit intent key; reuse after lost replies.
|
|
202
|
+
- `--dry-run` — Check current access, content and revisions without uploading or saving.
|
|
203
|
+
|
|
204
|
+
Examples:
|
|
205
|
+
- `npx --package @notis_ai/cli@latest -- notis skills update ./skill-edit.json --request-id edit-1 --dry-run`
|
|
206
|
+
|
|
207
|
+
### `npx --package @notis_ai/cli@latest -- notis skills links <skill-id>`
|
|
208
|
+
|
|
209
|
+
Add, remove or move a Skill between Spaces; the Skill keeps its ID.
|
|
210
|
+
|
|
211
|
+
When to use: Change where a Skill is listed without editing its content. A move is one add plus one remove in one transaction. You must be an Editor of every Space you touch and able to edit the Skill; removing its last available link keeps it as your own standalone Skill.
|
|
212
|
+
|
|
213
|
+
Options:
|
|
214
|
+
- `--add <json>` — JSON array of {space_id, space_revision, alias?} links to add; alias defaults to the Skill name.
|
|
215
|
+
- `--remove <json>` — JSON array of {binding_id, binding_revision} links to remove, from skills list.
|
|
216
|
+
- `--request-id <key>` — Stable intent key; reuse it unchanged when retrying this change.
|
|
217
|
+
|
|
218
|
+
Examples:
|
|
219
|
+
- `npx --package @notis_ai/cli@latest -- notis skills links <skill-id> --add '[{"space_id":"<space-id>","space_revision":3}]' --request-id link-1`
|
|
220
|
+
- `npx --package @notis_ai/cli@latest -- notis skills links <skill-id> --add '[{"space_id":"<to-space-id>","space_revision":3}]' --remove '[{"binding_id":"<binding-id>","binding_revision":2}]' --request-id move-1`
|
|
221
|
+
|
|
222
|
+
### `npx --package @notis_ai/cli@latest -- notis skills sync`
|
|
223
|
+
|
|
224
|
+
Synchronize account skills and keep the three Notis base skills current.
|
|
225
|
+
|
|
226
|
+
When to use: Run manually whenever local agent skills should be reconciled. Manual runs ignore the Desktop automatic-sync preference.
|
|
227
|
+
|
|
228
|
+
Options:
|
|
229
|
+
- `--electron-repeat` — Honor the automatic Desktop sync preference (used by Notis Desktop).
|
|
230
|
+
|
|
231
|
+
Examples:
|
|
232
|
+
- `npx --package @notis_ai/cli@latest -- notis skills sync`
|
|
233
|
+
- `npx --package @notis_ai/cli@latest -- notis skills sync --json`
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
## Spaces
|
|
237
|
+
|
|
238
|
+
Build, verify and publish Space views, their linked Skills and resources. The product `notis-apps` skill owns the workflow and the consequences of links, moves and the bin.
|
|
239
|
+
|
|
240
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces screenshot <url>`
|
|
241
|
+
|
|
242
|
+
Capture a full-height PNG of a live view with your current access.
|
|
243
|
+
|
|
244
|
+
When to use: Check the actual deployed view; writes are blocked and current access is checked again before any output is saved.
|
|
245
|
+
|
|
246
|
+
Options:
|
|
247
|
+
- `--width <pixels>` — 1440 (default) or 390.
|
|
248
|
+
- `--output-dir <path>` — New output directory; defaults to a unique .notis/renders directory. Existing files are never overwritten.
|
|
249
|
+
|
|
250
|
+
Examples:
|
|
251
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces screenshot <view-link> --width 390`
|
|
252
|
+
|
|
253
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces init <name> [dir]`
|
|
254
|
+
|
|
255
|
+
Scaffold an editable collection view with first-party record components.
|
|
256
|
+
|
|
257
|
+
When to use: Start a local Space collection source for an existing linked database. Does not create or deploy remote resources.
|
|
258
|
+
|
|
259
|
+
Options:
|
|
260
|
+
- `--database-key <key>` — Portable key of the database this Space links.
|
|
261
|
+
- `--path <path>` — Descriptive view path; defaults to records.
|
|
262
|
+
- `--title-property <id>` — Canonical title/number property ID, or the title column (default).
|
|
263
|
+
|
|
264
|
+
Examples:
|
|
265
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces init Notes ./notes --database-key notes --path notes`
|
|
266
|
+
|
|
267
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces navigation bind <space-id>`
|
|
268
|
+
|
|
269
|
+
Bind a named destination for the next source publication without granting target access.
|
|
270
|
+
|
|
271
|
+
When to use: Connect a portable navigation alias to an existing Space or exact record before building and publishing.
|
|
272
|
+
|
|
273
|
+
Options:
|
|
274
|
+
- `--alias <name>` — Declared portable navigation alias.
|
|
275
|
+
- `--target <json>` — Exact {space_id,document_id?}, or null to remove the draft binding.
|
|
276
|
+
- `--revision <number>` — Current source Space metadata revision.
|
|
277
|
+
- `--dry-run` — Check current source/target access and revision without changing anything.
|
|
278
|
+
|
|
279
|
+
Examples:
|
|
280
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces navigation bind <space-id> --alias history --target '{"space_id":"<history-id>"}' --revision 2 --dry-run`
|
|
281
|
+
|
|
282
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces resources name <space-id> <binding-id>`
|
|
283
|
+
|
|
284
|
+
Give an included resource a portable alias before the first source revision.
|
|
285
|
+
|
|
286
|
+
When to use: Prepare staged resources for source authoring without replacing their IDs, scope or owners.
|
|
287
|
+
|
|
288
|
+
Options:
|
|
289
|
+
- `--alias <name>` — Stable lowercase alias to use in source.
|
|
290
|
+
- `--revision <number>` — Current Space metadata revision.
|
|
291
|
+
- `--dry-run` — Check naming, current access and revision without changing metadata.
|
|
292
|
+
|
|
293
|
+
Examples:
|
|
294
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces resources name <space-id> <binding-id> --alias weekly-report --revision 0 --dry-run`
|
|
295
|
+
|
|
296
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces pull <space-id> [dir]`
|
|
297
|
+
|
|
298
|
+
Pull one editable Space source snapshot, its resource list and its Skill folders into an empty directory.
|
|
299
|
+
|
|
300
|
+
When to use: Edit a Space you can administer: the source, its links (resources.json) and every editable linked Skill (skills/<alias>/) arrive together, with a local lock file so a later deploy sends only what you changed.
|
|
301
|
+
|
|
302
|
+
Options:
|
|
303
|
+
- `--revision <number>` — Exact published source revision; defaults to the current one.
|
|
304
|
+
|
|
305
|
+
Examples:
|
|
306
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces pull <space-id> ./space-source`
|
|
307
|
+
|
|
308
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces verify [dir]`
|
|
309
|
+
|
|
310
|
+
Render one frozen Space with offline fixtures and validate its current action authorizations.
|
|
311
|
+
|
|
312
|
+
When to use: Check immutable build bytes and authoring compatibility without executing actions or publishing.
|
|
313
|
+
|
|
314
|
+
Options:
|
|
315
|
+
- `--space <key>` — Exact source key from the workspace index.
|
|
316
|
+
- `--space-id <id>` — Exact existing destination Space.
|
|
317
|
+
- `--reuse-grants <json>` — Explicit action-key to saved-grant-ID map. Otherwise your own connections are used.
|
|
318
|
+
- `--reuse-grants-only` — Never authorize new actions. Reuse only the supplied saved grants; other declarations remain unavailable. Requires existing bound databases.
|
|
319
|
+
|
|
320
|
+
Examples:
|
|
321
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces verify . --space overview --space-id <space-id>`
|
|
322
|
+
|
|
323
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces preview [dir]`
|
|
324
|
+
|
|
325
|
+
Seal a checked unpublished revision of the same Space and return its authenticated preview link.
|
|
326
|
+
|
|
327
|
+
When to use: Review a checked candidate using current Editor access without changing live source or cloning the Space.
|
|
328
|
+
|
|
329
|
+
Options:
|
|
330
|
+
- `--space <key>` — Exact source key from the workspace index.
|
|
331
|
+
- `--space-id <id>` — Exact existing destination Space.
|
|
332
|
+
- `--reuse-grants <json>` — Explicit action-key to saved-grant-ID map. Otherwise your own connections are used.
|
|
333
|
+
- `--reuse-grants-only` — Never authorize new actions. Reuse only the supplied saved grants; other declarations remain unavailable. Requires existing bound databases.
|
|
334
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
335
|
+
- `--dry-run` — Validate without uploading or publishing.
|
|
336
|
+
|
|
337
|
+
Examples:
|
|
338
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces preview . --space overview --space-id <space-id> --request-id release-1`
|
|
339
|
+
|
|
340
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces deploy [dir]`
|
|
341
|
+
|
|
342
|
+
Publish one built Space with a retry-safe, independent source revision.
|
|
343
|
+
|
|
344
|
+
When to use: Update only the selected existing Space; this does not publish to the Store or change siblings.
|
|
345
|
+
|
|
346
|
+
Options:
|
|
347
|
+
- `--space <key>` — Exact source key from the workspace index.
|
|
348
|
+
- `--space-id <id>` — Exact existing destination Space.
|
|
349
|
+
- `--reuse-grants <json>` — Explicit action-key to saved-grant-ID map. Otherwise your own connections are used.
|
|
350
|
+
- `--reuse-grants-only` — Never authorize new actions. Reuse only the supplied saved grants; other declarations remain unavailable. Requires existing bound databases.
|
|
351
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
352
|
+
- `--dry-run` — Validate without uploading or publishing.
|
|
353
|
+
|
|
354
|
+
Examples:
|
|
355
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces deploy . --space overview --space-id <space-id> --request-id release-1`
|
|
356
|
+
|
|
357
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces promote <release-id> [dir]`
|
|
358
|
+
|
|
359
|
+
Publish the exact sealed Space revision, with its pending Skill and link changes, after current permission and concurrency checks.
|
|
360
|
+
|
|
361
|
+
When to use: Finish a reviewed preview without rebuilding or substituting a different candidate. The Skill edits, new Skills and list changes the preview carried go live in the same transaction.
|
|
362
|
+
|
|
363
|
+
Examples:
|
|
364
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces promote <release-id>`
|
|
365
|
+
|
|
366
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces abandon <release-id>`
|
|
367
|
+
|
|
368
|
+
Close an unpublished Space preview without changing its live source, Skills or links, or deleting action history.
|
|
369
|
+
|
|
370
|
+
When to use: Stop using a candidate while preserving live source and completed effects.
|
|
371
|
+
|
|
372
|
+
Examples:
|
|
373
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces abandon <release-id>`
|
|
374
|
+
|
|
375
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces list`
|
|
376
|
+
|
|
377
|
+
List Spaces currently available to your account.
|
|
378
|
+
|
|
379
|
+
When to use: Discover accessible Spaces without exposing an issuer-wide resource catalogue.
|
|
380
|
+
|
|
381
|
+
Examples:
|
|
382
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces list`
|
|
383
|
+
|
|
384
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces get <space-id>`
|
|
33
385
|
|
|
34
|
-
|
|
386
|
+
Read one accessible Space and its scoped resources.
|
|
35
387
|
|
|
36
|
-
|
|
388
|
+
When to use: Inspect the current published revision and named capabilities before executing.
|
|
37
389
|
|
|
38
|
-
|
|
390
|
+
Options:
|
|
391
|
+
- `--record <record-key>` — Fixed record context, when this is a record-scoped Space.
|
|
392
|
+
|
|
393
|
+
Examples:
|
|
394
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces get <space-id>`
|
|
395
|
+
|
|
396
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces action <space-id> <action-id>`
|
|
397
|
+
|
|
398
|
+
Execute a declared action using its saved authorization.
|
|
399
|
+
|
|
400
|
+
When to use: Use Space capabilities as the actual actor, with the saved issuer connection and payer.
|
|
401
|
+
|
|
402
|
+
Options:
|
|
403
|
+
- `--revision <number>` — Exact published source revision.
|
|
404
|
+
- `--preview-release <id>` — Exact sealed candidate ID; requires current Editor access.
|
|
405
|
+
- `--schema-revision <number>` — Native schema revision; required for native row writes.
|
|
406
|
+
- `--inputs <json>` — Declared action input values; defaults to {}.
|
|
407
|
+
- `--record <record-key>` — Fixed record context, when this is a record-scoped Space.
|
|
408
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
409
|
+
- `--dry-run` — Validate current access and action inputs without executing or billing.
|
|
410
|
+
|
|
411
|
+
Examples:
|
|
412
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces action <space-id> refresh --revision 1 --inputs '{}' --request-id refresh-1 --dry-run`
|
|
413
|
+
|
|
414
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces viewer-read <space-id> <operation>`
|
|
415
|
+
|
|
416
|
+
Run one declared viewer read as yourself.
|
|
417
|
+
|
|
418
|
+
When to use: Check what an explorer Space shows you: the databases or Skills you can open, with your own access and never an issuer grant.
|
|
39
419
|
|
|
40
420
|
Options:
|
|
41
|
-
- `--
|
|
421
|
+
- `--revision <number>` — Exact published source revision.
|
|
422
|
+
- `--preview-release <id>` — Exact sealed candidate ID; requires current Editor access.
|
|
423
|
+
- `--input <json>` — Read input, e.g. {"database_id":"<id>"}; defaults to {}.
|
|
424
|
+
- `--record <record-key>` — Fixed record context, when this is a record-scoped Space.
|
|
42
425
|
|
|
43
426
|
Examples:
|
|
44
|
-
- `notis
|
|
45
|
-
- `notis
|
|
427
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces viewer-read <space-id> list_databases --revision 3`
|
|
428
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces viewer-read <space-id> query_database --revision 3 --input '{"database_id":"<id>","request":{"page_size":20}}'`
|
|
429
|
+
|
|
430
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces grants list <space-id>`
|
|
46
431
|
|
|
47
|
-
|
|
432
|
+
Inspect authorization records for a Space you can edit.
|
|
48
433
|
|
|
49
|
-
|
|
434
|
+
When to use: Inspect issuers and exact constraints without exposing connection secrets.
|
|
50
435
|
|
|
51
|
-
|
|
436
|
+
Options:
|
|
437
|
+
- `--record <record-key>` — Fixed record context, when this is a record-scoped Space.
|
|
52
438
|
|
|
53
439
|
Examples:
|
|
54
|
-
- `notis
|
|
55
|
-
- `notis auth logout --profile staging`
|
|
440
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces grants list <space-id>`
|
|
56
441
|
|
|
57
|
-
### `notis
|
|
442
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces grants create <space-id>`
|
|
58
443
|
|
|
59
|
-
|
|
444
|
+
Authorize an exact template using your current connection.
|
|
60
445
|
|
|
61
|
-
When to use:
|
|
446
|
+
When to use: Create a Space-bound authorization; the server resolves the signed-in issuer connection.
|
|
62
447
|
|
|
63
448
|
Options:
|
|
64
|
-
- `--
|
|
449
|
+
- `--template <file>` — Canonical action template JSON file.
|
|
450
|
+
- `--record <record-key>` — Fixed record context, when this is a record-scoped Space.
|
|
451
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
452
|
+
- `--dry-run` — Validate the template and Editor access without creating a grant.
|
|
65
453
|
|
|
66
454
|
Examples:
|
|
67
|
-
- `notis
|
|
68
|
-
|
|
455
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces grants create <space-id> --template action.json --request-id grant-1 --dry-run`
|
|
456
|
+
|
|
457
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces grants revoke <grant-id>`
|
|
458
|
+
|
|
459
|
+
Revoke one saved Space authorization.
|
|
460
|
+
|
|
461
|
+
When to use: Stop future dispatches for an authorization you issued or can administer.
|
|
462
|
+
|
|
463
|
+
Examples:
|
|
464
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces grants revoke <grant-id>`
|
|
465
|
+
|
|
466
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store list`
|
|
467
|
+
|
|
468
|
+
List Space Store listings you can see.
|
|
69
469
|
|
|
470
|
+
When to use: Find Space templates published to your team or approved for everyone, and your own listings.
|
|
471
|
+
|
|
472
|
+
Options:
|
|
473
|
+
- `--channel <team|public>` — Only one channel.
|
|
474
|
+
|
|
475
|
+
Examples:
|
|
476
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store list --channel team`
|
|
477
|
+
|
|
478
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store get <listing-id>`
|
|
479
|
+
|
|
480
|
+
Read one Store listing with its versions and your installs.
|
|
481
|
+
|
|
482
|
+
When to use: Check what a listing contains, its review state and whether your copies have an update.
|
|
483
|
+
|
|
484
|
+
Examples:
|
|
485
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store get <listing-id>`
|
|
486
|
+
|
|
487
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store installs`
|
|
488
|
+
|
|
489
|
+
List the Spaces you installed from the Store.
|
|
490
|
+
|
|
491
|
+
When to use: See which installed copies have an update or conflicts to resolve.
|
|
492
|
+
|
|
493
|
+
Examples:
|
|
494
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store installs`
|
|
495
|
+
|
|
496
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store publish <space-id>`
|
|
497
|
+
|
|
498
|
+
Publish a Space and its sub-Spaces as the next Store version.
|
|
499
|
+
|
|
500
|
+
When to use: Share a Space as an installable template: team listings publish at once, public ones wait for review.
|
|
501
|
+
|
|
502
|
+
Options:
|
|
503
|
+
- `--channel <team|public>` — Where to publish.
|
|
504
|
+
- `--metadata <json>` — Listing name, tagline, description, category, icon, accent.
|
|
505
|
+
- `--starter <json>` — Starter row IDs per database ({"<database-id>":["<record-key>"]}).
|
|
506
|
+
- `--notes <text>` — Release notes for this version.
|
|
507
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
508
|
+
- `--dry-run` — Show the package counts and review diff without publishing.
|
|
509
|
+
|
|
510
|
+
Examples:
|
|
511
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store publish <space-id> --channel team --request-id publish-1 --dry-run`
|
|
70
512
|
|
|
71
|
-
|
|
513
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store install <listing-id>`
|
|
72
514
|
|
|
73
|
-
|
|
515
|
+
Install a Store listing as your own independent copy.
|
|
516
|
+
|
|
517
|
+
When to use: Add a published Space template to your account; your copy keeps your changes on later updates.
|
|
518
|
+
|
|
519
|
+
Options:
|
|
520
|
+
- `--name <name>` — Name of the installed top Space.
|
|
521
|
+
- `--parent <space-id>` — Install under one of your Spaces.
|
|
522
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
523
|
+
- `--dry-run` — Show what the copy contains without installing.
|
|
524
|
+
|
|
525
|
+
Examples:
|
|
526
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store install <listing-id> --request-id install-1`
|
|
527
|
+
|
|
528
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store update <install-id>`
|
|
529
|
+
|
|
530
|
+
Update an installed copy, keeping your changes, or resolve its conflicts.
|
|
531
|
+
|
|
532
|
+
When to use: Take a newer Store version: unchanged parts update, your edits stay, and parts both sides changed become conflicts you resolve.
|
|
533
|
+
|
|
534
|
+
Options:
|
|
535
|
+
- `--resolve <json>` — Per conflict key: "keep_mine" or "take_theirs".
|
|
536
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
537
|
+
- `--dry-run` — Show the three-way plan without changing anything.
|
|
538
|
+
|
|
539
|
+
Examples:
|
|
540
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store update <install-id> --request-id update-1 --dry-run`
|
|
541
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store update <install-id> --resolve '{"skill:<key>":"keep_mine"}' --request-id resolve-1`
|
|
542
|
+
|
|
543
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces store unpublish <listing-id>`
|
|
544
|
+
|
|
545
|
+
Stop new installs of a Store listing.
|
|
546
|
+
|
|
547
|
+
When to use: Withdraw a listing: existing copies keep working and a version waiting for review is withdrawn.
|
|
548
|
+
|
|
549
|
+
Options:
|
|
550
|
+
- `--request-id <key>` — Stable intent key. Reuse after timeouts or lost replies.
|
|
551
|
+
|
|
552
|
+
Examples:
|
|
553
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces store unpublish <listing-id> --request-id unpublish-1`
|
|
554
|
+
|
|
555
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces build [dir]`
|
|
556
|
+
|
|
557
|
+
Build one independent Space and save its frozen source/artifact snapshot.
|
|
558
|
+
|
|
559
|
+
When to use: Prepare a selected Space for verification without publishing it or changing siblings.
|
|
560
|
+
|
|
561
|
+
Options:
|
|
562
|
+
- `--space <key>` — Exact source key from the workspace Space index.
|
|
563
|
+
|
|
564
|
+
Examples:
|
|
565
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces build . --space overview`
|
|
566
|
+
|
|
567
|
+
### `npx --package @notis_ai/cli@latest -- notis spaces inspect [dir]`
|
|
568
|
+
|
|
569
|
+
Inspect one local Space definition and its declared capabilities.
|
|
570
|
+
|
|
571
|
+
When to use: Read the selected source definition without loading sibling definitions or account resources.
|
|
572
|
+
|
|
573
|
+
Options:
|
|
574
|
+
- `--space <key>` — Exact source key from the workspace Space index.
|
|
575
|
+
|
|
576
|
+
Examples:
|
|
577
|
+
- `npx --package @notis_ai/cli@latest -- notis spaces inspect . --space overview`
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
## Views
|
|
581
|
+
|
|
582
|
+
### `npx --package @notis_ai/cli@latest -- notis views find`
|
|
583
|
+
|
|
584
|
+
Find the views you can open for a record, database, view link, Space or search.
|
|
585
|
+
|
|
586
|
+
When to use: Get fresh view-qualified links and declared URL parameters before citing or opening a view.
|
|
587
|
+
|
|
588
|
+
Options:
|
|
589
|
+
- `--record-key <id>` — Find views that show this exact native record.
|
|
590
|
+
- `--database-id <id>` — Find views over this database.
|
|
591
|
+
- `--url <url>` — Resolve this view link and its current parameters.
|
|
592
|
+
- `--space-id <id>` — Describe this Space view.
|
|
593
|
+
- `--query <text>` — Search accessible view names, descriptions and readable context.
|
|
594
|
+
|
|
595
|
+
Examples:
|
|
596
|
+
- `npx --package @notis_ai/cli@latest -- notis views find --record-key <record-key>`
|
|
597
|
+
- `npx --package @notis_ai/cli@latest -- notis views find --url <view-link>`
|
|
598
|
+
- `npx --package @notis_ai/cli@latest -- notis views find --query inbox`
|
|
599
|
+
|
|
600
|
+
### `npx --package @notis_ai/cli@latest -- notis views render <url>`
|
|
601
|
+
|
|
602
|
+
Render a live view as Markdown and a full-height PNG with your current access.
|
|
603
|
+
|
|
604
|
+
When to use: Check the actual deployed view; writes are blocked and current access is checked again before any output is saved.
|
|
605
|
+
|
|
606
|
+
Options:
|
|
607
|
+
- `--outputs <kinds>` — Comma-separated markdown,screenshot (default both).
|
|
608
|
+
- `--width <pixels>` — 1440 (default) or 390.
|
|
609
|
+
- `--output-dir <path>` — New output directory; defaults to a unique .notis/renders directory. Existing files are never overwritten.
|
|
610
|
+
|
|
611
|
+
Examples:
|
|
612
|
+
- `npx --package @notis_ai/cli@latest -- notis views render <view-link> --outputs markdown,screenshot`
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
## Legacy Apps
|
|
616
|
+
|
|
617
|
+
For accounts not yet moved to Spaces. A legacy App cannot declare Skills; Skills are linked to Spaces.
|
|
618
|
+
|
|
619
|
+
### `npx --package @notis_ai/cli@latest -- notis apps list`
|
|
74
620
|
|
|
75
621
|
List apps the current profile can access.
|
|
76
622
|
|
|
77
623
|
When to use: Discover existing apps before linking or deploying.
|
|
78
624
|
|
|
79
625
|
Examples:
|
|
80
|
-
- `notis apps list`
|
|
81
|
-
- `notis apps list --json`
|
|
626
|
+
- `npx --package @notis_ai/cli@latest -- notis apps list`
|
|
627
|
+
- `npx --package @notis_ai/cli@latest -- notis apps list --json`
|
|
82
628
|
|
|
83
|
-
### `notis apps init <name> [dir]`
|
|
629
|
+
### `npx --package @notis_ai/cli@latest -- notis apps init <name> [dir]`
|
|
84
630
|
|
|
85
631
|
Scaffold a new Notis app project.
|
|
86
632
|
|
|
87
|
-
When to use: Start a new Notis app.
|
|
633
|
+
When to use: Start a new Notis app. Use --from with a published Store app when one is close to the desired app; otherwise creates the bare Vite + React project.
|
|
634
|
+
|
|
635
|
+
Options:
|
|
636
|
+
- `--from <slug>` — Start from a published Store app listed by `notis apps scaffolds list`. Downloads its source from the public app registry.
|
|
637
|
+
|
|
638
|
+
Examples:
|
|
639
|
+
- `npx --package @notis_ai/cli@latest -- notis apps scaffolds list`
|
|
640
|
+
- `npx --package @notis_ai/cli@latest -- notis apps init "Mind the Flo"`
|
|
641
|
+
- `npx --package @notis_ai/cli@latest -- notis apps init "My CRM" --from databases`
|
|
642
|
+
- `npx --package @notis_ai/cli@latest -- notis apps init "My App" ~/code/my-app`
|
|
643
|
+
|
|
644
|
+
### `npx --package @notis_ai/cli@latest -- notis apps scaffolds list`
|
|
645
|
+
|
|
646
|
+
List published Store apps available as scaffolds.
|
|
647
|
+
|
|
648
|
+
When to use: Discover published Store apps to start from before creating a new app. Every app published to the public Store is automatically a scaffold; use --search to narrow the catalog.
|
|
649
|
+
|
|
650
|
+
Options:
|
|
651
|
+
- `--search <term>` — Filter scaffolds by name, tagline, description, or category.
|
|
88
652
|
|
|
89
653
|
Examples:
|
|
90
|
-
- `notis apps
|
|
91
|
-
- `notis apps
|
|
654
|
+
- `npx --package @notis_ai/cli@latest -- notis apps scaffolds list`
|
|
655
|
+
- `npx --package @notis_ai/cli@latest -- notis apps scaffolds list --search journal`
|
|
656
|
+
- `npx --package @notis_ai/cli@latest -- notis apps init "My App" --from databases`
|
|
92
657
|
|
|
93
|
-
### `notis apps create <name> [dir]`
|
|
658
|
+
### `npx --package @notis_ai/cli@latest -- notis apps create <name> [dir]`
|
|
94
659
|
|
|
95
660
|
Create a new remote Notis app and optionally link a local project to it.
|
|
96
661
|
|
|
97
662
|
When to use: Provision a fresh remote app before the first deploy. Pass a project directory to link it immediately.
|
|
98
663
|
|
|
99
664
|
Options:
|
|
100
|
-
- `--
|
|
101
|
-
- `--icon <lucide:icon>` — Optional Lucide icon, for example lucide:dices.
|
|
665
|
+
- `--team-id <id>` — Create or reuse the exact team-scoped app (default: personal).
|
|
102
666
|
|
|
103
667
|
Examples:
|
|
104
|
-
- `notis apps create "My App"`
|
|
105
|
-
- `notis apps create "My App"
|
|
668
|
+
- `npx --package @notis_ai/cli@latest -- notis apps create "My App"`
|
|
669
|
+
- `npx --package @notis_ai/cli@latest -- notis apps create "My App" .`
|
|
106
670
|
|
|
107
|
-
### `notis apps
|
|
671
|
+
### `npx --package @notis_ai/cli@latest -- notis apps build [dir]`
|
|
108
672
|
|
|
109
|
-
|
|
673
|
+
Build and package the app into .notis/output/.
|
|
110
674
|
|
|
111
|
-
When to use:
|
|
675
|
+
When to use: Prepare the app for verification or deployment.
|
|
112
676
|
|
|
113
677
|
Examples:
|
|
114
|
-
- `notis apps
|
|
115
|
-
- `notis apps
|
|
678
|
+
- `npx --package @notis_ai/cli@latest -- notis apps build`
|
|
679
|
+
- `npx --package @notis_ai/cli@latest -- notis apps build ./my-app`
|
|
116
680
|
|
|
117
|
-
### `notis apps
|
|
681
|
+
### `npx --package @notis_ai/cli@latest -- notis apps verify [dir]`
|
|
118
682
|
|
|
119
|
-
|
|
683
|
+
Validate that every route renders and reports Store listing readiness.
|
|
684
|
+
|
|
685
|
+
When to use: Any time after notis apps build, and before deploy. Catches render-time crashes and missing runtime calls. Incomplete listing media is reported as a warning; pass --listing to fail on it instead.
|
|
120
686
|
|
|
121
|
-
|
|
687
|
+
Options:
|
|
688
|
+
- `--routes <slugs>` — Comma-separated route slugs. Default: every route in manifest.
|
|
689
|
+
- `--port <n>` — Loopback port. Default: auto-pick.
|
|
690
|
+
- `--skip-build` — Skip notis apps build; reuse existing .notis/output/.
|
|
691
|
+
- `--mode <mode>` — stub | live. Default stub. Live posts to /portal_views/runtime_query with the CLI JWT and fails routes whose runtime calls all errored.
|
|
692
|
+
- `--listing` — Fail instead of warn when the Store listing (tagline, categories, screenshots, changelog) is incomplete.
|
|
693
|
+
- `--no-browser` — Start the harness server and print URLs; do not drive agent-browser.
|
|
694
|
+
- `--keep-open` — Leave server + browser session running after report (for manual triage).
|
|
122
695
|
|
|
123
696
|
Examples:
|
|
124
|
-
- `notis apps
|
|
125
|
-
- `notis apps
|
|
697
|
+
- `npx --package @notis_ai/cli@latest -- notis apps verify`
|
|
698
|
+
- `npx --package @notis_ai/cli@latest -- notis apps verify --routes notes`
|
|
699
|
+
- `npx --package @notis_ai/cli@latest -- notis apps verify --mode live`
|
|
700
|
+
- `npx --package @notis_ai/cli@latest -- notis apps verify --listing # gate on Store listing readiness before publish`
|
|
701
|
+
- `npx --package @notis_ai/cli@latest -- notis apps verify --no-browser # start the harness, drive agent-browser yourself`
|
|
126
702
|
|
|
127
|
-
### `notis apps
|
|
703
|
+
### `npx --package @notis_ai/cli@latest -- notis apps screenshot [dir]`
|
|
128
704
|
|
|
129
|
-
|
|
705
|
+
Capture configured listing route/scenario states via the headless harness.
|
|
130
706
|
|
|
131
|
-
When to use:
|
|
707
|
+
When to use: Generate the 3–6 declared metadata/screenshot-N.png files for the App Store listing. Apps are icon-led (like Raycast) — there is no cover image, only these screenshots. Each screenshot may set a focus selector to remove empty canvas and a light or dark theme that also controls its Store frame. Run before notis apps verify / deploy / publish.
|
|
132
708
|
|
|
133
709
|
Options:
|
|
134
|
-
- `--
|
|
710
|
+
- `--routes <slugs>` — Comma-separated route slugs. Default: every configured screenshot state.
|
|
711
|
+
- `--port <n>` — Loopback port. Default: auto-pick.
|
|
712
|
+
- `--width <px>` — Viewport width. Default: 2000.
|
|
713
|
+
- `--height <px>` — Viewport height. Default: 1250 (16:10).
|
|
714
|
+
- `--output-dir <dir>` — Where to write screenshot-N.png. Default: metadata/.
|
|
715
|
+
- `--mode <mode>` — stub | live. Default stub. Live renders against real data via the CLI JWT (requires a linked app), so screenshots show actual content instead of empty states.
|
|
716
|
+
- `--raw` — Write the unframed harness capture instead of the default Store presentation.
|
|
717
|
+
- `--skip-build` — Skip notis apps build; reuse existing .notis/output/.
|
|
135
718
|
|
|
136
719
|
Examples:
|
|
137
|
-
- `notis apps
|
|
138
|
-
- `notis apps
|
|
720
|
+
- `npx --package @notis_ai/cli@latest -- notis apps screenshot # honors notis.config.ts screenshot scenarios`
|
|
721
|
+
- `npx --package @notis_ai/cli@latest -- notis apps screenshot --routes home,history`
|
|
722
|
+
- `npx --package @notis_ai/cli@latest -- notis apps screenshot --mode live # populated screenshots from real data`
|
|
723
|
+
- `npx --package @notis_ai/cli@latest -- notis apps screenshot --raw # diagnostic capture without Store framing`
|
|
139
724
|
|
|
140
|
-
### `notis apps link <app-id> [dir]`
|
|
725
|
+
### `npx --package @notis_ai/cli@latest -- notis apps link <app-id> [dir]`
|
|
141
726
|
|
|
142
727
|
Link a local project to a remote Notis app.
|
|
143
728
|
|
|
144
729
|
When to use: Connect a local project to an existing app for deployment.
|
|
145
730
|
|
|
731
|
+
Options:
|
|
732
|
+
- `--expected-version <version>` — Link only if the remote deployment version still matches this non-negative integer.
|
|
733
|
+
|
|
146
734
|
Examples:
|
|
147
|
-
- `notis apps link abc123`
|
|
148
|
-
- `notis apps link abc123 ./my-app`
|
|
735
|
+
- `npx --package @notis_ai/cli@latest -- notis apps link abc123`
|
|
736
|
+
- `npx --package @notis_ai/cli@latest -- notis apps link abc123 ./my-app`
|
|
737
|
+
- `npx --package @notis_ai/cli@latest -- notis apps link abc123 ./recovered-app --expected-version 0`
|
|
149
738
|
|
|
150
|
-
### `notis apps
|
|
739
|
+
### `npx --package @notis_ai/cli@latest -- notis apps pull <app-id> [dir]`
|
|
151
740
|
|
|
152
|
-
|
|
741
|
+
Download a Notis app source snapshot into a local project folder.
|
|
153
742
|
|
|
154
|
-
When to use:
|
|
743
|
+
When to use: Edit an installed app. Preserve local edits, pull and link its persisted source, then build, verify and deploy.
|
|
744
|
+
|
|
745
|
+
Options:
|
|
746
|
+
- `--force` — Overwrite a non-empty target directory.
|
|
747
|
+
- `--source-version <n>` — Pull a specific app source version (default: latest).
|
|
748
|
+
|
|
749
|
+
Examples:
|
|
750
|
+
- `npx --package @notis_ai/cli@latest -- notis apps pull abc123`
|
|
751
|
+
- `npx --package @notis_ai/cli@latest -- notis apps pull abc123 ./my-app --force --source-version 3`
|
|
752
|
+
|
|
753
|
+
### `npx --package @notis_ai/cli@latest -- notis apps deploy [dir]`
|
|
754
|
+
|
|
755
|
+
Build, verify and release the linked Workspace app.
|
|
756
|
+
|
|
757
|
+
When to use: Build, verify and release the linked personal or team Workspace app. This command does not publish to the Store.
|
|
758
|
+
|
|
759
|
+
Options:
|
|
760
|
+
- `--app-id <id>` — Override linked app ID.
|
|
761
|
+
- `--skip-build` — Reuse unchanged build output; automated verification still runs.
|
|
762
|
+
|
|
763
|
+
Examples:
|
|
764
|
+
|
|
765
|
+
### `npx --package @notis_ai/cli@latest -- notis apps publish [dir]`
|
|
766
|
+
|
|
767
|
+
Submit the deployed app for Store review.
|
|
768
|
+
|
|
769
|
+
When to use: After the user explicitly confirms the App Details page and Store listing are ready. Requires the current local project to match the latest deployed version.
|
|
155
770
|
|
|
156
771
|
Options:
|
|
157
772
|
- `--app-id <id>` — Override linked app ID.
|
|
158
|
-
- `--
|
|
159
|
-
|
|
773
|
+
- `--confirm-ready` — Confirm the user approved the current App Details page for Store submission.
|
|
774
|
+
|
|
775
|
+
Examples:
|
|
776
|
+
- `npx --package @notis_ai/cli@latest -- notis apps publish --confirm-ready`
|
|
777
|
+
- `npx --package @notis_ai/cli@latest -- notis apps publish ./my-app --confirm-ready`
|
|
778
|
+
|
|
779
|
+
### `npx --package @notis_ai/cli@latest -- notis apps duplicate [dir]`
|
|
780
|
+
|
|
781
|
+
Duplicate an app into an independent copy with its own databases.
|
|
782
|
+
|
|
783
|
+
When to use: When the same app should run for a second purpose - a notes app for blog drafts alongside one for bookmarks. The copy shares no data with the source.
|
|
784
|
+
|
|
785
|
+
Options:
|
|
786
|
+
- `--app-id <id>` — App to duplicate. Defaults to the app this project is linked to.
|
|
787
|
+
- `--name <name>` — Name for the duplicate (default: the source name followed by "copy").
|
|
788
|
+
- `--copy-documents <mode>` — Which rows to copy: 'declared' (default, the starter content a fresh install would have), 'all', or 'none'.
|
|
160
789
|
|
|
161
790
|
Examples:
|
|
162
|
-
- `notis apps
|
|
163
|
-
- `notis apps
|
|
164
|
-
- `notis apps deploy --app-id abc123`
|
|
165
|
-
- `notis apps deploy --direct`
|
|
791
|
+
- `npx --package @notis_ai/cli@latest -- notis apps duplicate --name "Blog"`
|
|
792
|
+
- `npx --package @notis_ai/cli@latest -- notis apps duplicate --app-id abc123 --name "Bookmarks" --copy-documents none`
|
|
166
793
|
|
|
167
|
-
### `notis apps doctor [dir]`
|
|
794
|
+
### `npx --package @notis_ai/cli@latest -- notis apps doctor [dir]`
|
|
168
795
|
|
|
169
796
|
Check project health and readiness.
|
|
170
797
|
|
|
171
798
|
When to use: Diagnose issues with a Notis app project.
|
|
172
799
|
|
|
173
800
|
Examples:
|
|
174
|
-
- `notis apps doctor`
|
|
175
|
-
- `notis apps doctor ./my-app`
|
|
801
|
+
- `npx --package @notis_ai/cli@latest -- notis apps doctor`
|
|
802
|
+
- `npx --package @notis_ai/cli@latest -- notis apps doctor ./my-app`
|
|
176
803
|
|
|
177
804
|
|
|
178
|
-
##
|
|
805
|
+
## Reports and saved HTML
|
|
179
806
|
|
|
180
|
-
|
|
807
|
+
Create independently authored reports as Space views with the product `notis-reports` and `notis-apps` guidance. Build and verify the selected source, deploy within the user's authorization, then render its current view link. Preserved database report rows open through their main view.
|
|
181
808
|
|
|
182
|
-
|
|
809
|
+
For plain HTML, use the installed HTML Space and its linked saving Skill. Its generic file upload is attached to an existing native record with a separate revision-checked write; a raw download URL is not a saved page link.
|
|
183
810
|
|
|
184
|
-
|
|
811
|
+
## Hand-over
|
|
185
812
|
|
|
186
|
-
|
|
187
|
-
- `notis db list`
|
|
188
|
-
- `notis db list --json`
|
|
813
|
+
Give the branch you are on to a Notis agent, which continues the work in a git worktree on the Notis cloud computer. `--route` picks the agent: the hosted Notis agent, or the user's own Codex/Claude Code in the cloud sandbox or on their Mac. `--branch-mode same` makes the agent commit onto your branch; the default cuts a new branch from it.
|
|
189
814
|
|
|
190
|
-
### `notis
|
|
815
|
+
### `npx --package @notis_ai/cli@latest -- notis handover start <task>`
|
|
191
816
|
|
|
192
|
-
|
|
817
|
+
Hand the current branch to a Notis agent and keep working.
|
|
193
818
|
|
|
194
|
-
When to use: Use this when you
|
|
819
|
+
When to use: Use this when you want Notis to continue work on the branch you are on -- long refactors, test fixing, or anything that should keep running after you close the laptop. Pick the agent with --route.
|
|
195
820
|
|
|
196
821
|
Options:
|
|
197
|
-
- `--
|
|
198
|
-
- `--
|
|
199
|
-
- `--
|
|
200
|
-
- `--
|
|
201
|
-
- `--icon <lucide-icon-name>` — Database icon (Lucide icon name, e.g. database).
|
|
202
|
-
- `--properties <json>` — JSON array of property definitions.
|
|
822
|
+
- `--branch-mode <mode>` — same = the agent commits onto your branch. new = the agent cuts a new branch from it (default).
|
|
823
|
+
- `--route <target>` — Which agent runs it: notis (hosted, default), codex_cloud, claude_cloud, codex_local, claude_local, or auto.
|
|
824
|
+
- `--repo <slug>` — Configured repository slug on the cloud computer, when you know it.
|
|
825
|
+
- `--no-wip` — Refuse on a dirty tree instead of committing the changes first.
|
|
203
826
|
|
|
204
827
|
Examples:
|
|
205
|
-
- `
|
|
206
|
-
- `
|
|
828
|
+
- `npx --package @notis_ai/cli@latest -- notis handover start "fix the failing auth tests"`
|
|
829
|
+
- `npx --package @notis_ai/cli@latest -- notis handover start "finish the migration" --branch-mode same --route codex_cloud`
|
|
830
|
+
- `npx --package @notis_ai/cli@latest -- notis handover start "add integration tests" --route claude_cloud`
|
|
831
|
+
- `npx --package @notis_ai/cli@latest -- notis handover start "review and clean up this branch" --route claude_local`
|
|
207
832
|
|
|
208
|
-
### `notis
|
|
833
|
+
### `npx --package @notis_ai/cli@latest -- notis handover status`
|
|
209
834
|
|
|
210
|
-
|
|
835
|
+
Show the coding-agent threads Notis is running for you.
|
|
211
836
|
|
|
212
|
-
When to use: Use this
|
|
837
|
+
When to use: Use this after a hand-over to see whether the agent is still working.
|
|
213
838
|
|
|
214
839
|
Options:
|
|
215
|
-
- `--
|
|
216
|
-
- `--
|
|
217
|
-
- `--page-size <n>` — Page size between 1 and 100.
|
|
218
|
-
- `--offset <n>` — Zero-based offset.
|
|
219
|
-
- `--cursor <value>` — Pagination cursor alias for next_offset.
|
|
840
|
+
- `--provider <provider>` — Filter to codex or claude_code.
|
|
841
|
+
- `--refresh` — Force a live refresh instead of cached state.
|
|
220
842
|
|
|
221
843
|
Examples:
|
|
222
|
-
- `
|
|
223
|
-
- `notis
|
|
844
|
+
- `npx --package @notis_ai/cli@latest -- notis handover status`
|
|
845
|
+
- `npx --package @notis_ai/cli@latest -- notis handover status --provider codex --refresh`
|
|
224
846
|
|
|
225
847
|
|
|
226
848
|
## Generic Tools
|
|
227
849
|
|
|
228
|
-
### `notis tools toolkits`
|
|
850
|
+
### `npx --package @notis_ai/cli@latest -- notis tools toolkits`
|
|
229
851
|
|
|
230
|
-
List toolkit namespaces available to the active user.
|
|
852
|
+
List toolkit namespaces and connection statuses available to the active user.
|
|
231
853
|
|
|
232
|
-
When to use: Use this before searching or executing generic tools.
|
|
854
|
+
When to use: Use this to inspect connection state before searching or executing generic tools.
|
|
233
855
|
|
|
234
856
|
Examples:
|
|
235
|
-
- `notis tools toolkits`
|
|
236
|
-
- `notis tools toolkits --json`
|
|
857
|
+
- `npx --package @notis_ai/cli@latest -- notis tools toolkits`
|
|
858
|
+
- `npx --package @notis_ai/cli@latest -- notis tools toolkits --json`
|
|
237
859
|
|
|
238
|
-
### `notis tools search <query>`
|
|
860
|
+
### `npx --package @notis_ai/cli@latest -- notis tools search <query>`
|
|
239
861
|
|
|
240
862
|
Search across toolkit namespaces using natural language.
|
|
241
863
|
|
|
242
864
|
When to use: Use this when you need a generic capability that does not have a first-class CLI command.
|
|
243
865
|
|
|
244
866
|
Options:
|
|
245
|
-
- `--
|
|
867
|
+
- `--known-fields <text>` — Optional known field hints, such as channel_name:general or user_email:a@example.com.
|
|
246
868
|
|
|
247
869
|
Examples:
|
|
248
|
-
- `notis tools search "send an email"`
|
|
249
|
-
- `notis tools search "
|
|
870
|
+
- `npx --package @notis_ai/cli@latest -- notis tools search "send an email"`
|
|
871
|
+
- `npx --package @notis_ai/cli@latest -- notis tools search "post on LinkedIn" --known-fields "platform:linkedin"`
|
|
250
872
|
|
|
251
|
-
### `notis tools describe <tool-name>`
|
|
873
|
+
### `npx --package @notis_ai/cli@latest -- notis tools describe <tool-name>`
|
|
252
874
|
|
|
253
875
|
Describe a generic tool by name.
|
|
254
876
|
|
|
255
877
|
When to use: Use this when you know the tool name and want its parameter schema before execution.
|
|
256
878
|
|
|
257
|
-
Options:
|
|
258
|
-
- `--toolkits <csv-or-json>` — Optional subset of toolkit ids to search.
|
|
259
|
-
|
|
260
879
|
Examples:
|
|
261
|
-
- `notis tools describe composio-gmail-
|
|
262
|
-
- `notis tools describe
|
|
880
|
+
- `npx --package @notis_ai/cli@latest -- notis tools describe composio-gmail-send_email`
|
|
881
|
+
- `npx --package @notis_ai/cli@latest -- notis tools describe LOCAL_NOTIS_DATABASE_QUERY`
|
|
263
882
|
|
|
264
|
-
### `notis tools exec <tool-name>`
|
|
883
|
+
### `npx --package @notis_ai/cli@latest -- notis tools exec <tool-name>`
|
|
265
884
|
|
|
266
885
|
Execute a generic tool by canonical tool name.
|
|
267
886
|
|
|
@@ -269,65 +888,133 @@ When to use: Use this as the escape hatch for integrations or Notis tools withou
|
|
|
269
888
|
|
|
270
889
|
Options:
|
|
271
890
|
- `--arguments <json>` — JSON object, @file path, or - for stdin.
|
|
891
|
+
- `--arguments-file <path>` — Read the JSON arguments object from a file.
|
|
892
|
+
- `--file <argument-path=local-path>` — Upload a local file into a file-uploadable tool argument. Repeatable.
|
|
272
893
|
- `--get-schema` — Display the tool parameter schema without executing.
|
|
273
894
|
- `--dry-run` — Validate arguments against the tool schema without executing.
|
|
274
|
-
- `--watch <seconds>` — Re-execute on an interval and stream results.
|
|
275
895
|
|
|
276
896
|
Examples:
|
|
277
|
-
- `notis tools exec
|
|
278
|
-
- `notis tools exec
|
|
279
|
-
- `notis tools exec
|
|
280
|
-
- `notis tools exec
|
|
281
|
-
- `notis tools exec
|
|
282
|
-
- `notis tools exec
|
|
897
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments '{"database_slug":"tasks","query":{}}'`
|
|
898
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_GET_DATABASE --arguments '{"database_slug":"tasks"}'`
|
|
899
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --get-schema`
|
|
900
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --dry-run --arguments '{"database_slug":"tasks","query":{}}'`
|
|
901
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments @query.json`
|
|
902
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments-file query.json`
|
|
903
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec LOCAL_NOTIS_DATABASE_QUERY --arguments - < query.json`
|
|
904
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec composio-dropbox-upload_file --arguments '{"path":"/target/in/dropbox.pdf"}' --file content=./Invoice.pdf`
|
|
283
905
|
|
|
284
|
-
### `notis tools exec-parallel <calls>`
|
|
906
|
+
### `npx --package @notis_ai/cli@latest -- notis tools exec-parallel <calls>`
|
|
285
907
|
|
|
286
908
|
Execute multiple tools concurrently.
|
|
287
909
|
|
|
288
910
|
When to use: Use this when you need to run independent tool calls simultaneously for speed.
|
|
289
911
|
|
|
912
|
+
Options:
|
|
913
|
+
- `--file <argument-path=local-path>` — Unsupported for exec-parallel; use tools exec for file uploads.
|
|
914
|
+
|
|
915
|
+
Examples:
|
|
916
|
+
- `npx --package @notis_ai/cli@latest -- notis tools exec-parallel '[{"tool_name":"LOCAL_NOTIS_DATABASE_QUERY","arguments":{"database_slug":"tasks","query":{}}},{"tool_name":"LOCAL_NOTIS_DATABASE_LIST_DATABASES","arguments":{}}]'`
|
|
917
|
+
|
|
918
|
+
### `npx --package @notis_ai/cli@latest -- notis tools link <toolkit>`
|
|
919
|
+
|
|
920
|
+
Connect or reconnect an integration toolkit.
|
|
921
|
+
|
|
922
|
+
When to use: Use this when a tool requires authentication or an active connection must be replaced.
|
|
923
|
+
|
|
924
|
+
Options:
|
|
925
|
+
- `--reconnect` — Replace the existing account instead of adding another connection.
|
|
926
|
+
- `--connection-id <id>` — Exact connection id to replace when multiple accounts exist.
|
|
927
|
+
- `--label <label>` — Account label for a new or replacement connection.
|
|
928
|
+
- `--credentials <json>` — Credential JSON object, @file path, or - for stdin. Prefer stdin so secrets do not enter shell history.
|
|
929
|
+
|
|
930
|
+
Examples:
|
|
931
|
+
- `npx --package @notis_ai/cli@latest -- notis tools link github`
|
|
932
|
+
- `npx --package @notis_ai/cli@latest -- notis tools link dataforseo --reconnect --credentials - < credentials.json`
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
## Profile Commands
|
|
936
|
+
|
|
937
|
+
### `npx --package @notis_ai/cli@latest -- notis profile list`
|
|
938
|
+
|
|
939
|
+
List every CLI profile with its account, API endpoint, and credential state.
|
|
940
|
+
|
|
941
|
+
When to use: Use this to see which accounts and environments this machine can reach before choosing one.
|
|
942
|
+
|
|
290
943
|
Examples:
|
|
291
|
-
- `
|
|
944
|
+
- `npx --package @notis_ai/cli@latest -- notis profile list`
|
|
945
|
+
- `npx --package @notis_ai/cli@latest -- notis profile list --json`
|
|
292
946
|
|
|
293
|
-
### `notis
|
|
947
|
+
### `npx --package @notis_ai/cli@latest -- notis profile use <name>`
|
|
294
948
|
|
|
295
|
-
|
|
949
|
+
Switch the default profile without signing any profile out.
|
|
296
950
|
|
|
297
|
-
When to use: Use this
|
|
951
|
+
When to use: Use this to change which account and API subsequent commands target. Every other profile keeps its credential.
|
|
298
952
|
|
|
299
953
|
Examples:
|
|
300
|
-
- `notis
|
|
301
|
-
- `notis
|
|
954
|
+
- `npx --package @notis_ai/cli@latest -- notis profile use work`
|
|
955
|
+
- `npx --package @notis_ai/cli@latest -- notis profile use default`
|
|
956
|
+
|
|
957
|
+
### `npx --package @notis_ai/cli@latest -- notis profile show [name]`
|
|
958
|
+
|
|
959
|
+
Show one profile in detail, including scopes and credential expiry.
|
|
960
|
+
|
|
961
|
+
When to use: Use this to inspect exactly which account and endpoint a profile resolves to.
|
|
962
|
+
|
|
963
|
+
Examples:
|
|
964
|
+
- `npx --package @notis_ai/cli@latest -- notis profile show`
|
|
965
|
+
- `npx --package @notis_ai/cli@latest -- notis profile show work --json`
|
|
966
|
+
|
|
967
|
+
### `npx --package @notis_ai/cli@latest -- notis profile remove <name>`
|
|
968
|
+
|
|
969
|
+
Delete a CLI profile from this machine.
|
|
970
|
+
|
|
971
|
+
When to use: Use this after logging a profile out. Removing a still-authorized profile requires --force and leaves the grant live server-side.
|
|
972
|
+
|
|
973
|
+
Options:
|
|
974
|
+
- `--force` — Discard a profile that still holds a credential.
|
|
975
|
+
|
|
976
|
+
Examples:
|
|
977
|
+
- `npx --package @notis_ai/cli@latest -- notis profile remove old-work`
|
|
978
|
+
- `npx --package @notis_ai/cli@latest -- notis profile remove old-work --force`
|
|
302
979
|
|
|
303
980
|
|
|
304
981
|
## Meta Commands
|
|
305
982
|
|
|
306
|
-
### `notis doctor`
|
|
983
|
+
### `npx --package @notis_ai/cli@latest -- notis doctor`
|
|
307
984
|
|
|
308
985
|
Run a quick CLI health check for config, auth, and API reachability.
|
|
309
986
|
|
|
310
987
|
When to use: Use this before relying on the CLI in automation or after changing environments.
|
|
311
988
|
|
|
312
989
|
Examples:
|
|
313
|
-
- `notis doctor`
|
|
314
|
-
- `notis doctor --json`
|
|
990
|
+
- `npx --package @notis_ai/cli@latest -- notis doctor`
|
|
991
|
+
- `npx --package @notis_ai/cli@latest -- notis doctor --json`
|
|
992
|
+
|
|
993
|
+
### `npx --package @notis_ai/cli@latest -- notis whoami`
|
|
994
|
+
|
|
995
|
+
Display the active profile, user, and available toolkit connection statuses.
|
|
996
|
+
|
|
997
|
+
When to use: Use this to quickly confirm which account and environment a command will target.
|
|
998
|
+
|
|
999
|
+
Examples:
|
|
1000
|
+
- `npx --package @notis_ai/cli@latest -- notis whoami`
|
|
1001
|
+
- `npx --package @notis_ai/cli@latest -- notis whoami --json`
|
|
315
1002
|
|
|
316
|
-
### `notis describe <command...>`
|
|
1003
|
+
### `npx --package @notis_ai/cli@latest -- notis describe <command...>`
|
|
317
1004
|
|
|
318
1005
|
Describe a first-class CLI command in detail.
|
|
319
1006
|
|
|
320
1007
|
When to use: Use this when an agent or human needs the exact shape, examples, and semantics of a command.
|
|
321
1008
|
|
|
322
1009
|
Examples:
|
|
323
|
-
- `notis describe apps
|
|
324
|
-
- `notis describe
|
|
1010
|
+
- `npx --package @notis_ai/cli@latest -- notis describe apps deploy`
|
|
1011
|
+
- `npx --package @notis_ai/cli@latest -- notis describe tools exec`
|
|
325
1012
|
|
|
326
1013
|
|
|
327
1014
|
## Local Development
|
|
328
1015
|
|
|
329
1016
|
```bash
|
|
330
|
-
cd cli
|
|
1017
|
+
cd packages/cli
|
|
331
1018
|
npm install
|
|
332
1019
|
node ./bin/notis.js --help
|
|
333
1020
|
npm run docs:generate
|