@learnaltitude/cli 0.5.2 → 0.5.3
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 +35 -24
- package/dist/cli.js +37 -38
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -68,10 +68,14 @@ that includes the nearest binding plus the bound journey's cached working-set su
|
|
|
68
68
|
requires a connected device token; the command tells unconnected users to connect and directs
|
|
69
69
|
users without a bindable journey back to Altitude.
|
|
70
70
|
|
|
71
|
-
The envelope also carries
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
The envelope also carries two update signals, both derived from the server's `client_releases`
|
|
72
|
+
answer on the settings down-sync (the server owns "what's current"; there is no npm registry
|
|
73
|
+
check). `update_available` is true when the CLI is behind the server's latest — its meaning is
|
|
74
|
+
unchanged for older plugin markdown. `update_notices` is the successor surface: zero, one, or two
|
|
75
|
+
server-authored lines (CLI and/or plugin), compared live against the installed versions on every
|
|
76
|
+
read. Routine notices are offered at most once per session; urgent notices repeat within the
|
|
77
|
+
session. `altitude task` adds no version request of its own — a lesson never waits on one. Skills
|
|
78
|
+
update separately through the agent's plugin system.
|
|
75
79
|
|
|
76
80
|
Tutor flows can attach the learner's verbatim answer to its canonical concepts. The tutor does
|
|
77
81
|
not grade the answer; grading and any resulting mastery update are server-side:
|
|
@@ -86,14 +90,30 @@ duplicates in first-seen order, and omits `concept_ids` when no non-empty ID is
|
|
|
86
90
|
|
|
87
91
|
## Plugin marketplace installs and updates
|
|
88
92
|
|
|
89
|
-
Install the Altitude plugin exclusively through the marketplace built into your coding agent.
|
|
90
|
-
Claude Code,
|
|
93
|
+
Install the Altitude plugin exclusively through the marketplace built into your coding agent. For
|
|
94
|
+
Claude Code, open a terminal and start Claude Code:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
claude
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Then run these commands inside that terminal session:
|
|
91
101
|
|
|
92
102
|
```text
|
|
93
103
|
/plugin marketplace add jasonku09/altitude-skills
|
|
94
104
|
/plugin install altitude@altitude
|
|
95
105
|
```
|
|
96
106
|
|
|
107
|
+
When the installer asks for a scope, choose the user scope so the plugin is available across all
|
|
108
|
+
projects, including the new project folder created by your first lesson. If the install summary
|
|
109
|
+
asks you to run `/reload-plugins`, run it; newer Claude Code versions activate the plugin in place.
|
|
110
|
+
The VS Code built-in terminal works for this flow. The extension chat panel uses its separate
|
|
111
|
+
`/plugins` manager instead.
|
|
112
|
+
|
|
113
|
+
Start the lesson from a terminal with `claude --permission-mode auto`, then enter
|
|
114
|
+
`/altitude:begin`. Auto mode clears routine approval prompts while Claude Code's separate safety
|
|
115
|
+
checks screen every action and block risky ones; it is a safeguard, not a guarantee.
|
|
116
|
+
|
|
97
117
|
For Codex, run these commands in a terminal:
|
|
98
118
|
|
|
99
119
|
```sh
|
|
@@ -126,21 +146,12 @@ auto-update toggle. The floor is server-owned — raising it needs no client rel
|
|
|
126
146
|
|
|
127
147
|
## Network disclosure
|
|
128
148
|
|
|
129
|
-
The distributed client uses the user's own agent subscription and no Altitude-held API key.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
after its command completes, so this scheduling improves spawn-fallback coverage only when the npm
|
|
139
|
-
request settles inside that remaining budget; it does not guarantee fallback coverage. An
|
|
140
|
-
interrupted attempt writes no marker and therefore cannot suppress a later daemon or command
|
|
141
|
-
attempt. Because unbound directories keep hooks dormant, they do not start a flusher or receive
|
|
142
|
-
background refreshes; their cache is refreshed only by `connect`, `diagnostics`, or `update`.
|
|
143
|
-
`altitude task --json` only reads the cache and never makes a request itself. Gates and other hooks
|
|
144
|
-
never perform the version check. Set `ALTITUDE_DISABLE_UPDATE_CHECK=1` to disable every version
|
|
145
|
-
check. All check failures are silent and cannot change a command's exit code or discard a
|
|
146
|
-
previously usable cache result.
|
|
149
|
+
The distributed client uses the user's own agent subscription and no Altitude-held API key. The
|
|
150
|
+
CLI makes no third-party requests: the old anonymous `registry.npmjs.org` version check is gone.
|
|
151
|
+
Freshness now rides the existing authenticated settings down-sync — the request reports the
|
|
152
|
+
installed CLI and plugin versions as query parameters, and the response's `client_releases` block
|
|
153
|
+
carries the server's latest versions plus the notice copy. No new request is added anywhere:
|
|
154
|
+
`connect`, `diagnostics`, and `update` read the cached down-sync answer only; `altitude task
|
|
155
|
+
--json` compares against its existing network-first down-sync or cache fallback; and hooks compare
|
|
156
|
+
against the SessionStart pull or its cache. Gates never perform any version work. Every comparison
|
|
157
|
+
failure is silent and cannot change a command's exit code.
|