@odla-ai/cli 0.17.0 → 0.18.0

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 CHANGED
@@ -16,6 +16,56 @@ hosted security command.
16
16
  It does not know about any specific app. App identity, environments, services,
17
17
  schema, rules, integrations, auth, AI provider, and links all come from config.
18
18
 
19
+ ## Start with the runbooks, not this file
20
+
21
+ odla's operational procedures — releasing, backups, database work, security
22
+ setup — are **rows in a database**, not documents in a package. They are edited
23
+ the moment a step turns out to be wrong, with no release in between. So the
24
+ answer this CLI fetches is current, and every written copy of it (including
25
+ this README, and including your training data) is a snapshot of some earlier
26
+ day.
27
+
28
+ Ask before you search the web or work from memory:
29
+
30
+ ```bash
31
+ npx @odla-ai/cli runbook ask "how do I roll back a bad publish?" # written, cited answer
32
+ npx @odla-ai/cli runbook search "restore a tenant" # the passages behind it
33
+ npx @odla-ai/cli runbook get release # the whole procedure
34
+ npx @odla-ai/cli runbook list # what exists
35
+ ```
36
+
37
+ Reading works for any signed-in developer and needs no `odla.config.mjs` — the
38
+ advice is most useful before there is a project.
39
+
40
+ **Runbooks are procedure; JSDoc is API.** What a function takes, returns, and
41
+ guarantees is documented on the export itself, ships in the installed
42
+ `.d.ts`, and renders per package at <https://odla.ai/docs>. A runbook will tell
43
+ you *when* to call something and never invents a signature. Most real questions
44
+ need both halves — take the steps from the runbook and the arguments from the
45
+ JSDoc, and neither from memory.
46
+
47
+ **After you change something, ask which runbooks you invalidated:**
48
+
49
+ ```bash
50
+ npx @odla-ai/cli runbook impact # vs origin/main, uncommitted work included
51
+ npx @odla-ai/cli runbook impact --base HEAD~1
52
+ ```
53
+
54
+ It diffs the working tree, works out which surfaces moved — a package, its
55
+ exported API, a JSDoc block, a console area — and names the runbooks whose steps
56
+ describe them, with the command to read each one. Changing an exported API or
57
+ its JSDoc is exactly when a procedure quoting that API goes stale, so run it
58
+ before you call the change finished. Fixing what it finds is one command and
59
+ takes effect immediately:
60
+
61
+ ```bash
62
+ npx @odla-ai/cli runbook edit db --note "retract replaced the null write"
63
+ ```
64
+
65
+ Platform runbook edits need admin or the `platform:runbook:write` capability,
66
+ which the CLI requests for you; a plain handshake token is never admin by
67
+ design, and `odla-ai whoami` reports what this terminal actually holds.
68
+
19
69
  ## Install
20
70
 
21
71
  No install needed — the package ships a single `odla-ai` binary, so npx can run
@@ -54,6 +104,14 @@ npm i -D --save-exact @odla-ai/cli@0.16.6
54
104
  ## Commands
55
105
 
56
106
  ```bash
107
+ npx odla-ai runbook ask "how do I roll back a bad publish?"
108
+ npx odla-ai runbook search "restore a tenant" --limit 5
109
+ npx odla-ai runbook get release
110
+ npx odla-ai runbook list
111
+ npx odla-ai runbook impact --base origin/main
112
+ npx odla-ai runbook edit db --note "what changed"
113
+ npx odla-ai runbook comment release --body "step 4 no longer applies"
114
+ npx odla-ai whoami
57
115
  npx odla-ai setup
58
116
  npx odla-ai init --app-id my-app --name "My App"
59
117
  npx odla-ai doctor