@aotter/mantle 0.0.11-alpha.23 → 0.0.11-alpha.24

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aotter/mantle",
3
- "version": "0.0.11-alpha.23",
3
+ "version": "0.0.11-alpha.24",
4
4
  "description": "Umbrella entry for @aotter/mantle. Adopters install this one package and import from subpaths: /spec, /runtime, /cloudflare, /admin-ui. Sub-packages remain individually installable on npm for tooling / alt-adapter authors. The Netlify adapter ships as a private workspace stub in v0.1 — its subpath will be added when the impl lands in v0.2.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://mantle.tools/",
@@ -47,10 +47,10 @@
47
47
  "README.md"
48
48
  ],
49
49
  "dependencies": {
50
- "@aotter/mantle-admin-ui": "0.0.11-alpha.23",
51
- "@aotter/mantle-runtime": "0.0.11-alpha.23",
52
- "@aotter/mantle-spec": "0.0.11-alpha.23",
53
- "@aotter/mantle-cloudflare": "0.0.11-alpha.23"
50
+ "@aotter/mantle-cloudflare": "0.0.11-alpha.24",
51
+ "@aotter/mantle-runtime": "0.0.11-alpha.24",
52
+ "@aotter/mantle-admin-ui": "0.0.11-alpha.24",
53
+ "@aotter/mantle-spec": "0.0.11-alpha.24"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@cloudflare/workers-oauth-provider": "^0.7.0",
@@ -112,6 +112,45 @@ read -rsp "GitHub OAuth client secret: " GITHUB_CLIENT_SECRET && export GITHUB_C
112
112
  pnpm run provision:up -- --worker-url <worker-url> --github-username <gh-login> --client-id <client-id>
113
113
  ```
114
114
 
115
+ ## Presenting browser steps (non-coder handoff)
116
+
117
+ Flow steps 3 and 5 hand the user into a browser. That user is usually a
118
+ non-coder who is trusting the agent — present those steps the way you'd
119
+ guide someone over the phone, not as a terse engineer checklist. The
120
+ plan that `provision:plan` prints is *your* reference; re-present it, do
121
+ not paste it through.
122
+
123
+ Rules:
124
+
125
+ - **One task at a time.** Send the Cloudflare deploy, wait for the URL,
126
+ *then* send the GitHub OAuth App. Never dump both browser tasks in one
127
+ message.
128
+ - **Number only what they see.** Label the block `STEP 1 of 2` /
129
+ `STEP 2 of 2`. Do not leak your internal plan numbering — a user
130
+ seeing "Step 2" and "Step 4" with gaps assumes they missed something.
131
+ - **Lead with one plain "why".** A single sentence on what the step
132
+ accomplishes ("this is what puts your site on the internet").
133
+ - **Full-sentence click paths, not arrows.** "Click *Create
134
+ application*, then open the *Import a repository* tab" — not
135
+ `Create application → Import a repository`. Quote the exact labels the
136
+ user sees on screen.
137
+ - **Say what they'll see and what to copy.** Name the landmark and the
138
+ success signal ("a link ending in `.workers.dev` — copy that"), and a
139
+ rough time ("about a minute").
140
+ - **Ask for values in plain language.** "Paste me the live link, and
141
+ the Client ID." Never ask for `KEY=value` shell syntax, and never make
142
+ them type literal `<...>` placeholders.
143
+ - **Protect the secret in words, not jargon.** Tell them to copy the
144
+ Client Secret and keep it on their clipboard, and that you'll ask for
145
+ it privately so it never lands in the chat. Don't say "stdin" or "env".
146
+ - **Give an escape hatch.** "If a screen doesn't match what I describe,
147
+ paste a screenshot and I'll point you to the right button."
148
+
149
+ Keep agent-internal correctness rules out of the user-facing text. The
150
+ `localhost` / `127.0.0.1` callback rule (see Don't) governs what *you*
151
+ write; a dashboard user is handed the real Worker URL and never needs to
152
+ hear that warning.
153
+
115
154
  ## Flow
116
155
 
117
156
  1. **Preflight.** Read `.mantle/launch-state.json` if present, then
@@ -136,6 +175,8 @@ pnpm run provision:up -- --worker-url <worker-url> --github-username <gh-login>
136
175
  Cloudflare Dashboard, create a Worker, choose GitHub as source, pick
137
176
  the repo, keep the Worker name aligned with the repo/project name,
138
177
  and run the first deploy. They report the deployed Worker URL back.
178
+ Present this as `STEP 1 of 2` per **Presenting browser steps** above,
179
+ and wait for the Worker URL before moving on.
139
180
 
140
181
  4. **Print the plan.**
141
182
 
@@ -156,7 +197,10 @@ pnpm run provision:up -- --worker-url <worker-url> --github-username <gh-login>
156
197
  `<worker-url>/api/auth/callback/github`
157
198
  - Device Flow: unchecked
158
199
 
159
- The user returns Client ID and Client Secret.
200
+ Present this as `STEP 2 of 2` per **Presenting browser steps** above.
201
+ Ask for the Client ID in chat; have them keep the Client Secret on
202
+ the clipboard for the hidden prompt in step 6 — do not ask them to
203
+ paste the secret in chat.
160
204
 
161
205
  6. **Authorize Wrangler and run provision.**
162
206
 
@@ -220,7 +264,7 @@ accepts any extra provider/billing requirement.
220
264
  ## Handoff
221
265
 
222
266
  After smoke checks pass, render a short final handoff in the user's
223
- language:
267
+ language, in plain words (no `wrangler.toml` / secret / CLI jargon):
224
268
 
225
269
  - Public URL.
226
270
  - Admin sign-in URL.
@@ -253,3 +297,7 @@ repo-local `.agent/skills/` directory.
253
297
  locally and the real Worker URL in production.
254
298
  - Don't use `/admin/auth/github/callback`; the Better Auth callback path
255
299
  is `/api/auth/callback/github`.
300
+ - Don't recite a browser step to a non-coder as a terse `A → B → C`
301
+ breadcrumb, a `KEY=value` reply contract, a `<placeholder>` they might
302
+ paste literally, or an internal correctness warning (e.g. the
303
+ `127.0.0.1` rule). See **Presenting browser steps**.