@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 +5 -5
- package/skills/provision/SKILL.md +50 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotter/mantle",
|
|
3
|
-
"version": "0.0.11-alpha.
|
|
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-
|
|
51
|
-
"@aotter/mantle-runtime": "0.0.11-alpha.
|
|
52
|
-
"@aotter/mantle-
|
|
53
|
-
"@aotter/mantle-
|
|
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
|
-
|
|
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**.
|