minutework 0.1.31 → 0.1.33
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/EXTERNAL_ALPHA.md +33 -33
- package/README.md +34 -34
- package/assets/claude-local/CLAUDE.md.template +12 -12
- package/assets/claude-local/skills/README.md +3 -1
- package/assets/claude-local/skills/app-pack-authoring/SKILL.md +17 -4
- package/assets/claude-local/skills/capability-gap-reporting/SKILL.md +3 -3
- package/assets/claude-local/skills/contract-first-public-intake/SKILL.md +11 -3
- package/assets/claude-local/skills/generated-workspace-architecture/SKILL.md +12 -5
- package/assets/claude-local/skills/layering-and-import-modes/SKILL.md +2 -2
- package/assets/claude-local/skills/openclaw-skill-importer/SKILL.md +2 -2
- package/assets/claude-local/skills/project-overview-and-strategy/SKILL.md +8 -8
- package/assets/claude-local/skills/published-web-and-mw-core-site/SKILL.md +11 -8
- package/assets/claude-local/skills/standalone-mobile-client/SKILL.md +6 -5
- package/assets/claude-local/skills/vuilder-discovery-output-contract/SKILL.md +6 -6
- package/assets/claude-local/skills/workspace-guidance-refresh/SKILL.md +4 -4
- package/assets/templates/fastapi-sidecar/pyproject.toml +1 -1
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/main.py +1 -1
- package/assets/templates/mobile-app/.env.example +4 -4
- package/assets/templates/mobile-app/AGENTS.md +3 -3
- package/assets/templates/mobile-app/README.md +10 -10
- package/assets/templates/mobile-app/app/(app)/_layout.tsx +2 -2
- package/assets/templates/mobile-app/app/(app)/index.tsx +2 -2
- package/assets/templates/mobile-app/app/(auth)/login.tsx +3 -3
- package/assets/templates/mobile-app/app/_layout.tsx +1 -1
- package/assets/templates/mobile-app/babel.config.js +1 -1
- package/assets/templates/mobile-app/eas.json +1 -1
- package/assets/templates/mobile-app/expo-env.d.ts +1 -1
- package/assets/templates/mobile-app/metro.config.js +2 -2
- package/assets/templates/mobile-app/package.json +1 -1
- package/assets/templates/mobile-app/src/mw/client.ts +3 -3
- package/assets/templates/mobile-app/src/mw/contracts.ts +2 -2
- package/assets/templates/mobile-app/src/mw/endpoints.ts +2 -2
- package/assets/templates/mobile-app/src/mw/env.ts +4 -4
- package/assets/templates/mobile-app/src/mw/session.ts +1 -1
- package/assets/templates/mobile-app/template.json +1 -1
- package/assets/templates/mobile-app/tools/template/validate-template.mjs +2 -2
- package/assets/templates/mobile-app/tsconfig.json +1 -1
- package/assets/templates/next-tenant-app/.env.example +1 -1
- package/assets/templates/next-tenant-app/README.md +26 -138
- package/assets/templates/next-tenant-app/package.json +1 -0
- package/assets/templates/next-tenant-app/src/app/app/demo/page.tsx +15 -0
- package/assets/templates/next-tenant-app/src/app/app/layout.tsx +1 -4
- package/assets/templates/next-tenant-app/src/app/app/page.tsx +2 -17
- package/assets/templates/next-tenant-app/src/app/blog/[slug]/page.tsx +9 -67
- package/assets/templates/next-tenant-app/src/app/blog/page.tsx +10 -46
- package/assets/templates/next-tenant-app/src/app/docs/[...slug]/page.tsx +9 -65
- package/assets/templates/next-tenant-app/src/app/docs/page.tsx +10 -46
- package/assets/templates/next-tenant-app/src/app/layout.tsx +8 -10
- package/assets/templates/next-tenant-app/src/app/login/page.tsx +3 -23
- package/assets/templates/next-tenant-app/src/app/page.tsx +11 -44
- package/assets/templates/next-tenant-app/src/app/pricing/page.tsx +10 -44
- package/assets/templates/next-tenant-app/src/app/providers.tsx +2 -1
- package/assets/templates/next-tenant-app/src/app/robots.ts +7 -18
- package/assets/templates/next-tenant-app/src/app/sitemap.ts +4 -39
- package/assets/templates/next-tenant-app/src/features/auth/components/login-screen.tsx +97 -98
- package/assets/templates/next-tenant-app/src/features/dashboard/components/tenant-dashboard.tsx +43 -78
- package/assets/templates/next-tenant-app/src/features/demo/components/manifest-demo.tsx +89 -0
- package/assets/templates/next-tenant-app/src/features/public-shell/components/static-public-page.tsx +58 -0
- package/assets/templates/next-tenant-app/src/features/shell/components/private-app-shell.tsx +48 -552
- package/assets/templates/next-tenant-app/src/lib/app-routes.ts +2 -2
- package/assets/templates/next-tenant-app/src/lib/public-site.test.ts +1 -1
- package/assets/templates/next-tenant-app/src/lib/public-site.ts +5 -30
- package/assets/templates/next-tenant-app/src/mw/client.ts +18 -0
- package/assets/templates/next-tenant-app/src/mw/mock.test.ts +21 -0
- package/assets/templates/next-tenant-app/src/mw/mock.ts +35 -0
- package/assets/templates/next-tenant-app/src/mw/provider.tsx +17 -0
- package/assets/templates/next-tenant-app/template.json +3 -3
- package/assets/templates/next-tenant-app/template.schema.json +1 -0
- package/assets/templates/next-tenant-app/tools/template/validate-route-contract.mjs +4 -5
- package/assets/templates/next-tenant-app/tools/template/with-public-site-fixture.mjs +2 -2
- package/bin/minutework.js +1 -1
- package/dist/agent.js +7 -7
- package/dist/agent.js.map +1 -1
- package/dist/auth.js +7 -7
- package/dist/auth.js.map +1 -1
- package/dist/compile.js +5 -5
- package/dist/config.js +6 -6
- package/dist/config.js.map +1 -1
- package/dist/deploy.js +7 -7
- package/dist/deploy.js.map +1 -1
- package/dist/developer-client.js +2 -2
- package/dist/developer-client.js.map +1 -1
- package/dist/index.js +30 -30
- package/dist/index.js.map +1 -1
- package/dist/init.js +10 -10
- package/dist/init.js.map +1 -1
- package/dist/launcher.js +1 -1
- package/dist/launcher.js.map +1 -1
- package/dist/managed-engine.js +6 -6
- package/dist/managed-engine.js.map +1 -1
- package/dist/orchestrator-context.js +1 -1
- package/dist/orchestrator-context.js.map +1 -1
- package/dist/orchestrator.js +15 -15
- package/dist/orchestrator.js.map +1 -1
- package/dist/paths.js +1 -1
- package/dist/paths.js.map +1 -1
- package/dist/publish.js +3 -3
- package/dist/publish.js.map +1 -1
- package/dist/reporting.js +8 -8
- package/dist/reporting.js.map +1 -1
- package/dist/sandbox.js +5 -5
- package/dist/sandbox.js.map +1 -1
- package/dist/state.js +1 -1
- package/dist/state.js.map +1 -1
- package/dist/tokens.js +9 -9
- package/dist/tokens.js.map +1 -1
- package/dist/workspace-assets.js +6 -6
- package/dist/workspace-assets.js.map +1 -1
- package/dist/workspace.js +3 -3
- package/dist/workspace.js.map +1 -1
- package/package.json +3 -3
- package/vendor/workspace-mcp/context.d.ts +6 -6
- package/vendor/workspace-mcp/context.js +56 -56
- package/vendor/workspace-mcp/context.js.map +1 -1
- package/vendor/workspace-mcp/types.d.ts +4 -0
- package/assets/templates/next-tenant-app/src/app/(cms)/[...path]/page.tsx +0 -89
- package/assets/templates/next-tenant-app/src/app/api/auth/context/route.test.ts +0 -90
- package/assets/templates/next-tenant-app/src/app/api/auth/context/route.ts +0 -78
- package/assets/templates/next-tenant-app/src/app/api/auth/login/route.ts +0 -31
- package/assets/templates/next-tenant-app/src/app/api/auth/logout/route.ts +0 -16
- package/assets/templates/next-tenant-app/src/app/api/auth/password-change/route.test.ts +0 -79
- package/assets/templates/next-tenant-app/src/app/api/auth/password-change/route.ts +0 -40
- package/assets/templates/next-tenant-app/src/app/api/auth/password-status/route.test.ts +0 -42
- package/assets/templates/next-tenant-app/src/app/api/auth/password-status/route.ts +0 -29
- package/assets/templates/next-tenant-app/src/app/api/auth/session/route.ts +0 -26
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/[runId]/route.test.ts +0 -40
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/[runId]/route.ts +0 -47
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/route.test.ts +0 -43
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/route.ts +0 -45
- package/assets/templates/next-tenant-app/src/app/app/examples/runtime-commands/page.test.ts +0 -83
- package/assets/templates/next-tenant-app/src/app/app/examples/runtime-commands/page.tsx +0 -30
- package/assets/templates/next-tenant-app/src/app/app/page.test.ts +0 -62
- package/assets/templates/next-tenant-app/src/app/app/private-content-source.test.ts +0 -88
- package/assets/templates/next-tenant-app/src/app/blog/[slug]/page.test.ts +0 -70
- package/assets/templates/next-tenant-app/src/app/blog/page.test.ts +0 -46
- package/assets/templates/next-tenant-app/src/app/docs/[...slug]/page.test.ts +0 -70
- package/assets/templates/next-tenant-app/src/app/docs/page.test.ts +0 -46
- package/assets/templates/next-tenant-app/src/app/login/page.test.ts +0 -55
- package/assets/templates/next-tenant-app/src/app/page.test.ts +0 -90
- package/assets/templates/next-tenant-app/src/app/pricing/page.test.ts +0 -59
- package/assets/templates/next-tenant-app/src/app/robots.test.ts +0 -40
- package/assets/templates/next-tenant-app/src/app/sitemap.test.ts +0 -63
- package/assets/templates/next-tenant-app/src/features/examples/runtime-command-demo/components/runtime-command-demo.tsx +0 -342
- package/assets/templates/next-tenant-app/src/features/public-shell/components/content-article.tsx +0 -66
- package/assets/templates/next-tenant-app/src/features/public-shell/components/content-collection.tsx +0 -108
- package/assets/templates/next-tenant-app/src/features/public-shell/components/marketing-page-canvas.tsx +0 -111
- package/assets/templates/next-tenant-app/src/features/public-shell/components/public-site-shell.tsx +0 -111
- package/assets/templates/next-tenant-app/src/features/public-shell/components/section-renderer.test.ts +0 -38
- package/assets/templates/next-tenant-app/src/features/public-shell/components/section-renderer.tsx +0 -145
- package/assets/templates/next-tenant-app/src/lib/content/__fixtures__/public-site-snapshot.ts +0 -189
- package/assets/templates/next-tenant-app/src/lib/content/adapter.server.test.ts +0 -444
- package/assets/templates/next-tenant-app/src/lib/content/adapter.server.ts +0 -383
- package/assets/templates/next-tenant-app/src/lib/content/contracts.test.ts +0 -138
- package/assets/templates/next-tenant-app/src/lib/content/contracts.ts +0 -399
- package/assets/templates/next-tenant-app/src/lib/content/custom-adapter.ts +0 -5
- package/assets/templates/next-tenant-app/src/lib/content/empty-state.ts +0 -96
- package/assets/templates/next-tenant-app/src/lib/content/release-manifest.test.ts +0 -93
- package/assets/templates/next-tenant-app/src/lib/content/release-manifest.ts +0 -123
- package/assets/templates/next-tenant-app/src/lib/platform/auth.server.test.ts +0 -75
- package/assets/templates/next-tenant-app/src/lib/platform/auth.server.ts +0 -25
- package/assets/templates/next-tenant-app/src/lib/platform/client.server.test.ts +0 -170
- package/assets/templates/next-tenant-app/src/lib/platform/client.server.ts +0 -661
- package/assets/templates/next-tenant-app/src/lib/platform/contracts.ts +0 -131
- package/assets/templates/next-tenant-app/src/lib/platform/endpoints.server.ts +0 -34
- package/assets/templates/next-tenant-app/src/lib/platform/env.server.test.ts +0 -211
- package/assets/templates/next-tenant-app/src/lib/platform/env.server.ts +0 -151
- package/assets/templates/next-tenant-app/src/lib/platform/route-response.ts +0 -33
- package/assets/templates/next-tenant-app/src/lib/platform/session.server.ts +0 -108
package/EXTERNAL_ALPHA.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MinuteWork CLI External Alpha
|
|
2
2
|
|
|
3
|
-
This document is the operator-facing onboarding contract for the first external
|
|
3
|
+
This document is the operator-facing onboarding contract for the first external MinuteWork CLI alpha.
|
|
4
4
|
|
|
5
5
|
## Supported paths
|
|
6
6
|
|
|
7
7
|
Every supported external path starts with the same workspace/bootstrap flow:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npx
|
|
10
|
+
npx minutework init my-site --starter tenant-app
|
|
11
11
|
cd my-site
|
|
12
|
-
npx
|
|
13
|
-
npx
|
|
12
|
+
npx minutework login
|
|
13
|
+
npx minutework link
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
From there, the current external alpha supports two post-link lanes.
|
|
17
17
|
|
|
18
18
|
The shipped `tenant-app` starter is the combined web surface: public routes at
|
|
19
|
-
the root, a private `/app` workspace, and a
|
|
19
|
+
the root, a private `/app` workspace, and a MinuteWork-managed public-content
|
|
20
20
|
path over the runtime-baseline `mw.core.site` contract.
|
|
21
21
|
|
|
22
22
|
### Developer-local broker lane
|
|
23
23
|
|
|
24
|
-
Use `
|
|
24
|
+
Use `minutework session` when you want MinuteWork to assemble the workspace
|
|
25
25
|
snapshot, choose a local workflow mode, and optionally launch the first shipped
|
|
26
26
|
local coding engine.
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
minutework session start --mode human
|
|
30
|
+
minutework session start --mode ai --engine claude
|
|
31
|
+
minutework session status
|
|
32
|
+
minutework session resume
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
- `start` stores or updates the workspace preference, writes a bounded context
|
|
@@ -41,10 +41,10 @@ pandawork session resume
|
|
|
41
41
|
- `human` and `ai` are alternative start modes, not a required sequence.
|
|
42
42
|
- Claude is the only supported local coding engine today.
|
|
43
43
|
- AI mode now auto-installs and auto-updates managed Claude Code under the
|
|
44
|
-
machine-local
|
|
44
|
+
machine-local MinuteWork CLI state root and prefers that managed binary over
|
|
45
45
|
any `claude` already on `PATH`.
|
|
46
|
-
- Claude authentication still happens outside
|
|
47
|
-
login or approval, complete that in Claude itself and rerun the
|
|
46
|
+
- Claude authentication still happens outside MinuteWork. If Claude needs local
|
|
47
|
+
login or approval, complete that in Claude itself and rerun the MinuteWork
|
|
48
48
|
broker command.
|
|
49
49
|
|
|
50
50
|
The broker state model is intentionally split:
|
|
@@ -52,7 +52,7 @@ The broker state model is intentionally split:
|
|
|
52
52
|
- repo-local pointer and lock state under `.minutework/` tracks the current
|
|
53
53
|
workspace session
|
|
54
54
|
- machine-local preferences, per-session context packs, transcripts, and
|
|
55
|
-
session history stay under the
|
|
55
|
+
session history stay under the MinuteWork CLI state root
|
|
56
56
|
|
|
57
57
|
The broker fails closed when a live session is already active, the selected
|
|
58
58
|
engine is missing, a prior running record has gone stale, or the launch is
|
|
@@ -74,7 +74,7 @@ trusted projects); `mcp/claude-desktop.sample.json` is included for Claude
|
|
|
74
74
|
Desktop.
|
|
75
75
|
|
|
76
76
|
Generated guidance and MCP wiring can be reconciled later with
|
|
77
|
-
`
|
|
77
|
+
`minutework workspace sync-assets`.
|
|
78
78
|
|
|
79
79
|
Runtime-only Claude hooks remain excluded from the generated workspace export.
|
|
80
80
|
|
|
@@ -84,28 +84,28 @@ Use the existing local preview/test loop and hosted preview deploy lane when
|
|
|
84
84
|
you want to run the generated app locally or submit a hosted preview:
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
minutework dev
|
|
88
|
+
minutework test
|
|
89
|
+
minutework deploy --preview
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
-
Combined **tenant-app + sidecar** workspaces keep sidecar setup explicit. Root `pnpm install` stays Node-only and does not run `poetry install` for you. If you need the sidecar, run `pnpm run install:sidecar` from the workspace root or `cd sidecar && poetry install` yourself before `
|
|
92
|
+
Combined **tenant-app + sidecar** workspaces keep sidecar setup explicit. Root `pnpm install` stays Node-only and does not run `poetry install` for you. If you need the sidecar, run `pnpm run install:sidecar` from the workspace root or `cd sidecar && poetry install` yourself before `minutework dev` or `minutework test`.
|
|
93
93
|
|
|
94
94
|
For direct third-party web hosts such as Vercel, deploy `tenant-app` only. In Vercel, point the project Root Directory at `tenant-app`; the optional sidecar remains a separate Poetry-managed surface.
|
|
95
95
|
|
|
96
96
|
For native mobile clients, use the `mobile` starter. It is a standalone Expo /
|
|
97
97
|
React Native client that authenticates directly against the platform with the
|
|
98
98
|
native session-token flow; it is distributed through EAS/App Store/Play Store
|
|
99
|
-
instead of `
|
|
99
|
+
instead of `minutework deploy`.
|
|
100
100
|
|
|
101
101
|
Anything outside these lanes remains deferred, including `--live`,
|
|
102
102
|
runtime-backed deploy targets, and additional local coding engines.
|
|
103
103
|
|
|
104
|
-
If you run `
|
|
104
|
+
If you run `minutework init` **without** `--starter` in an interactive terminal, the CLI prompts for tenant-app, sidecar, mobile, common combinations, or base-only. In CI or scripts, use `--starter` or set `MW_CLI_NONINTERACTIVE=1` to skip the prompt (base-only scaffold).
|
|
105
105
|
|
|
106
106
|
## What `link` does
|
|
107
107
|
|
|
108
|
-
`
|
|
108
|
+
`minutework link` is no longer tenant-only. It now:
|
|
109
109
|
|
|
110
110
|
1. Resolves the active auth profile and workspace platform.
|
|
111
111
|
2. Resolves or creates the tenant-scoped `PublishedWebProperty`.
|
|
@@ -133,7 +133,7 @@ If the workspace cannot compile hosted preview release metadata for the linked p
|
|
|
133
133
|
|
|
134
134
|
## What `deploy --preview` does
|
|
135
135
|
|
|
136
|
-
`
|
|
136
|
+
`minutework deploy --preview` is preview-only and guarded:
|
|
137
137
|
|
|
138
138
|
1. Loads the active auth profile and linked workspace property.
|
|
139
139
|
2. Re-runs validate and compile.
|
|
@@ -153,12 +153,12 @@ The CLI does not fabricate success. If the backend cannot materialize a hosted p
|
|
|
153
153
|
|
|
154
154
|
## Failure semantics
|
|
155
155
|
|
|
156
|
-
- Missing auth: run `
|
|
157
|
-
- Missing binding: run `
|
|
158
|
-
- Missing stored broker preference before resume: run `
|
|
159
|
-
- Missing Claude binary or local Claude auth for AI mode: let
|
|
160
|
-
- Live or stale local broker session state: inspect `
|
|
161
|
-
- Missing property-scoped release metadata: fix `tenant-app/.env.example` and re-run `
|
|
156
|
+
- Missing auth: run `minutework login`
|
|
157
|
+
- Missing binding: run `minutework link`
|
|
158
|
+
- Missing stored broker preference before resume: run `minutework session start --mode <human|ai>`
|
|
159
|
+
- Missing Claude binary or local Claude auth for AI mode: let MinuteWork retry the managed install when network access is available, or complete Claude authentication locally, then rerun `minutework session start --mode ai --engine claude`
|
|
160
|
+
- Live or stale local broker session state: inspect `minutework session status`, let the live process exit, or rerun `minutework session resume`
|
|
161
|
+
- Missing property-scoped release metadata: fix `tenant-app/.env.example` and re-run `minutework compile`
|
|
162
162
|
- Unsupported release class: external alpha only supports hosted `ssr_container`
|
|
163
163
|
- Missing provider/receipt substrate: deploy returns a typed failure receipt
|
|
164
164
|
- Failed preview deploy with an existing preview target: the platform reports `rolled_back` with `previous_preview_preserved`
|
|
@@ -166,9 +166,9 @@ The CLI does not fabricate success. If the backend cannot materialize a hosted p
|
|
|
166
166
|
## CLI bug reports
|
|
167
167
|
|
|
168
168
|
- The CLI automatically submits a sanitized bug report for failed commands unless `MW_CLI_BUG_REPORTS=never` is set (machine-readable `--json` verbs suppress this automatically).
|
|
169
|
-
- Automatic reports keep a local JSON bundle under the
|
|
170
|
-
- `
|
|
171
|
-
- `
|
|
169
|
+
- Automatic reports keep a local JSON bundle under the MinuteWork CLI state root for retry and support follow-up.
|
|
170
|
+
- `minutework report-bug --note "..."` sends a manual report for UX issues or suspicious behavior that did not crash.
|
|
171
|
+
- `minutework report-bug --last --note "..."` resends the last saved bundle with extra context.
|
|
172
172
|
- Support should always ask for the printed `report_id` before requesting extra screenshots or logs.
|
|
173
173
|
|
|
174
174
|
## Release notes for operators
|
package/README.md
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MinuteWork CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MinuteWork CLI for initializing a workspace, authenticating against a MinuteWork platform, linking a repo to a tenant-scoped public-site property, launching developer-local session broker flows, running local preview/test loops, submitting hosted preview deploys, and publishing app packs to the marketplace through the publication-review gate.
|
|
4
4
|
|
|
5
|
-
The npm package
|
|
5
|
+
The npm package and primary command are `minutework`. The `pandawork` command remains available only as a compatibility alias for older installs and scripts.
|
|
6
6
|
|
|
7
7
|
## External alpha scope
|
|
8
8
|
|
|
9
9
|
The current external alpha is intentionally narrow:
|
|
10
10
|
|
|
11
11
|
- Starters: `tenant-app` (the deployable web surface), `sidecar` (local/internal runtime surface), and `mobile` (init-only native client)
|
|
12
|
-
- Developer-local broker surface: `
|
|
12
|
+
- Developer-local broker surface: `minutework session start|resume|status`
|
|
13
13
|
- Hosted release class: `ssr_container`
|
|
14
|
-
- Deploy surface: `
|
|
14
|
+
- Deploy surface: `minutework deploy --preview`
|
|
15
15
|
- Deferred: `--live`, additional local coding engines, sidecar/runtime-backed deploys, and the commercial marketplace listing/pricing layer
|
|
16
|
-
- Marketplace publish: `
|
|
16
|
+
- Marketplace publish: `minutework publish` submits the compiled, digest-bound app pack through the platform publication-review + attestation gate and publishes it to the public marketplace catalog **only** on an approved (or approved-with-warnings) attestation; a rejected attestation prints the review findings and exits 1 without publishing
|
|
17
17
|
|
|
18
18
|
The shipped `tenant-app` starter is the combined web surface: public routes at
|
|
19
19
|
the root plus a private `/app` workspace. Public-site content follows the
|
|
20
|
-
|
|
20
|
+
MinuteWork-managed `mw.core.site` baseline and published-snapshot flow.
|
|
21
21
|
|
|
22
22
|
The CLI fails closed when the backend cannot provide typed release metadata, deploy status, receipts, activation state, or rollback state. It does not claim a successful deploy when the provider substrate is unavailable.
|
|
23
23
|
|
|
24
24
|
## Install
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npx
|
|
28
|
-
npx
|
|
27
|
+
npx minutework --help
|
|
28
|
+
npx minutework --version
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
For repeat use in a local environment:
|
|
@@ -41,10 +41,10 @@ The package currently ships on a `0.x` alpha channel. Publish from this repo wit
|
|
|
41
41
|
Start with the shared setup:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
npx
|
|
44
|
+
npx minutework init my-site --starter tenant-app
|
|
45
45
|
cd my-site
|
|
46
|
-
npx
|
|
47
|
-
npx
|
|
46
|
+
npx minutework login
|
|
47
|
+
npx minutework link
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
After `link`, the current alpha has two supported lanes (both `tenant-app`).
|
|
@@ -52,7 +52,7 @@ After `link`, the current alpha has two supported lanes (both `tenant-app`).
|
|
|
52
52
|
For a native mobile client, scaffold the **`mobile`** starter instead:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
npx
|
|
55
|
+
npx minutework init my-app --starter mobile
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
It is **init-only** and bring-your-own-UI: a minimal Expo (React Native) client
|
|
@@ -60,34 +60,34 @@ that authenticates **directly** against the platform with a native device-flow
|
|
|
60
60
|
session token (PKCE authorize -> exchange -> bearer + refresh in the device
|
|
61
61
|
keychain), not the `tenant-app` BFF cookie path. There is no `link`/`deploy`
|
|
62
62
|
lane for it — distribution is your own EAS pipeline (`eas build`/`eas submit`,
|
|
63
|
-
EAS Update), not `
|
|
63
|
+
EAS Update), not `minutework deploy`.
|
|
64
64
|
|
|
65
65
|
### Developer-local broker lane
|
|
66
66
|
|
|
67
|
-
Use this lane when you want
|
|
67
|
+
Use this lane when you want MinuteWork to assemble a bounded workspace context,
|
|
68
68
|
persist broker state locally, and either prepare a human-mode session or launch
|
|
69
69
|
the first supported local coding engine.
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
minutework session start --mode human
|
|
73
|
+
minutework session start --mode ai --engine claude
|
|
74
|
+
minutework session status
|
|
75
|
+
minutework session resume
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
- `human` and `ai` are alternative start modes, not a required sequence.
|
|
79
79
|
- Claude is the only supported local coding engine today.
|
|
80
80
|
- AI mode launches Claude with explicit workspace MCP bootstrap plus a bounded
|
|
81
|
-
|
|
82
|
-
-
|
|
81
|
+
MinuteWork context pack instead of relying on implicit shell state.
|
|
82
|
+
- MinuteWork now installs and updates managed Claude Code automatically under
|
|
83
83
|
the machine-local CLI state root when AI mode needs it, and prefers that
|
|
84
84
|
managed Claude binary over any `claude` already on `PATH`.
|
|
85
|
-
- Claude authentication still happens outside
|
|
85
|
+
- Claude authentication still happens outside MinuteWork. If Claude needs local
|
|
86
86
|
login or account approval, complete that in Claude itself and rerun the
|
|
87
|
-
|
|
87
|
+
MinuteWork session command.
|
|
88
88
|
- Current-session coordination stays repo-local under `.minutework/`, while
|
|
89
89
|
preferences, per-session context packs, transcripts, and session history stay
|
|
90
|
-
machine-local under the
|
|
90
|
+
machine-local under the MinuteWork CLI state root.
|
|
91
91
|
- The broker fails closed on live overlap, missing engine binaries, stale
|
|
92
92
|
session records, interrupts, and launch failures instead of allowing
|
|
93
93
|
overlapping phantom sessions.
|
|
@@ -104,7 +104,7 @@ pandawork session resume
|
|
|
104
104
|
trusted projects); `mcp/claude-desktop.sample.json` is included for Claude
|
|
105
105
|
Desktop.
|
|
106
106
|
- Managed guidance and MCP wiring can be refreshed later with
|
|
107
|
-
`
|
|
107
|
+
`minutework workspace sync-assets`.
|
|
108
108
|
- Runtime-only Claude hooks are not exported into the generated workspace.
|
|
109
109
|
|
|
110
110
|
### Local preview and deploy lane
|
|
@@ -113,12 +113,12 @@ Use this lane when you want the workspace-local preview/test loop or a hosted
|
|
|
113
113
|
preview deploy:
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
minutework dev
|
|
117
|
+
minutework test
|
|
118
|
+
minutework deploy --preview
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
Combined **tenant-app + sidecar** workspaces keep sidecar setup explicit. Root `pnpm install` stays Node-only and does not run `poetry install` for you. If you need the sidecar, run `pnpm run install:sidecar` from the workspace root or `cd sidecar && poetry install` yourself before `
|
|
121
|
+
Combined **tenant-app + sidecar** workspaces keep sidecar setup explicit. Root `pnpm install` stays Node-only and does not run `poetry install` for you. If you need the sidecar, run `pnpm run install:sidecar` from the workspace root or `cd sidecar && poetry install` yourself before `minutework dev` or `minutework test`. Sidecar-only scaffolds have no root `package.json`; install Python deps once inside `sidecar/` before running local sidecar workflows.
|
|
122
122
|
|
|
123
123
|
For direct third-party web hosts such as Vercel, deploy `tenant-app` only. In Vercel, point the project Root Directory at `tenant-app`; the optional sidecar remains a separate Poetry-managed surface.
|
|
124
124
|
|
|
@@ -148,20 +148,20 @@ For direct third-party web hosts such as Vercel, deploy `tenant-app` only. In Ve
|
|
|
148
148
|
|
|
149
149
|
## Bug reporting
|
|
150
150
|
|
|
151
|
-
CLI failures automatically send a sanitized diagnostic report to the
|
|
151
|
+
CLI failures automatically send a sanitized diagnostic report to the MinuteWork platform unless `MW_CLI_BUG_REPORTS=never` is set.
|
|
152
152
|
|
|
153
153
|
- Machine-readable verbs run with `--json` suppress automatic reporting; rely on the result envelope and exit code instead.
|
|
154
154
|
|
|
155
155
|
- Automatic reports never include raw `.env` contents, tokens, source files, or full local paths.
|
|
156
|
-
- The CLI keeps a local report bundle under the
|
|
157
|
-
- Use `
|
|
158
|
-
- Use `
|
|
156
|
+
- The CLI keeps a local report bundle under the MinuteWork state root so you can retry or inspect what was sent.
|
|
157
|
+
- Use `minutework report-bug --note "what happened"` for manual reports.
|
|
158
|
+
- Use `minutework report-bug --last --note "extra context"` to resend the last saved bundle with more detail.
|
|
159
159
|
|
|
160
160
|
## Requirements
|
|
161
161
|
|
|
162
162
|
- Node.js 18 or newer
|
|
163
163
|
- [Poetry](https://python-poetry.org/) on `PATH` when your workspace includes the FastAPI sidecar and you plan to run it locally (then run `pnpm run install:sidecar` or `cd sidecar && poetry install`)
|
|
164
|
-
- A
|
|
164
|
+
- A MinuteWork platform that exposes the developer CLI auth and public-site preview deploy endpoints
|
|
165
165
|
- An auth profile with interactive developer access, or a deploy token that includes `deploy.preview.request`
|
|
166
166
|
|
|
167
167
|
If the hosted preview provider is not configured, preview deploy returns a typed failure or rollback-preserved receipt instead of a fake success.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MinuteWork Builder
|
|
2
2
|
|
|
3
|
-
Use this workspace to build or extend
|
|
3
|
+
Use this workspace to build or extend MinuteWork app packs. `tenant-app`,
|
|
4
4
|
`sidecar`, and optional `mobile` are implementation surfaces; choose the
|
|
5
5
|
smallest surface that fits the request.
|
|
6
6
|
|
|
@@ -10,27 +10,27 @@ private authenticated workspace under `/app`.
|
|
|
10
10
|
`mobile` is the standalone Expo/React Native client starter. It talks directly
|
|
11
11
|
to the platform with native device-flow auth and bearer tokens; it is not a
|
|
12
12
|
`tenant-app` BFF cookie client and not a `sidecar`. It ships through the
|
|
13
|
-
developer's own EAS/App Store/Play Store pipeline, not `
|
|
13
|
+
developer's own EAS/App Store/Play Store pipeline, not `minutework deploy`.
|
|
14
14
|
|
|
15
15
|
## Refresh Managed Guidance
|
|
16
16
|
|
|
17
17
|
If this workspace's exported guidance looks stale or a newly added skill is
|
|
18
|
-
missing, run `
|
|
18
|
+
missing, run `minutework workspace sync-assets` from the workspace root. See
|
|
19
19
|
`skills/workspace-guidance-refresh/SKILL.md` for the managed refresh flow.
|
|
20
20
|
|
|
21
21
|
## Workspace MCP
|
|
22
22
|
|
|
23
|
-
The
|
|
23
|
+
The MinuteWork workspace MCP server exposes read-only context tools (workspace
|
|
24
24
|
snapshot, schema status, capability inventory, deploy status, and a workspace
|
|
25
25
|
doctor; tool names are prefixed `minutework_`). Prefer these over guessing at
|
|
26
26
|
workspace state. It is wired for Cursor (`.cursor/mcp.json`) and Codex
|
|
27
27
|
(`.codex/config.toml`, loaded for trusted projects); for Claude Desktop, copy
|
|
28
28
|
`mcp/claude-desktop.sample.json`. Refresh all of this with
|
|
29
|
-
`
|
|
29
|
+
`minutework workspace sync-assets`.
|
|
30
30
|
|
|
31
31
|
## Skills
|
|
32
32
|
|
|
33
|
-
This workspace includes
|
|
33
|
+
This workspace includes MinuteWork architecture skills under `skills/`. Your IDE
|
|
34
34
|
coding agent can use them as reference: browse `skills/` and read the relevant
|
|
35
35
|
`SKILL.md` when a topic matches your task. In Claude Code these skills load
|
|
36
36
|
automatically and `/skill-name` invokes one directly; other agents (Codex,
|
|
@@ -39,7 +39,7 @@ Cursor) can open the files directly or ask "What skills are available?".
|
|
|
39
39
|
## Project Orientation Fast Path
|
|
40
40
|
|
|
41
41
|
When the user asks broad context questions like "what is this project about?",
|
|
42
|
-
"what can we build with
|
|
42
|
+
"what can we build with MinuteWork?", "can we build our own product or make an
|
|
43
43
|
existing product agentic?", "how do OSS products fit?", or "what is the
|
|
44
44
|
ontology/network effect?", do not wait for them to name skills one by one. Read
|
|
45
45
|
`skills/project-overview-and-strategy/SKILL.md` first, then pull the routed
|
|
@@ -108,7 +108,7 @@ a concrete backend responsibility such as:
|
|
|
108
108
|
- Builder may adopt open-source libraries, frameworks, and products inside the
|
|
109
109
|
sandbox when that produces a better result than bespoke code.
|
|
110
110
|
- Prefer this solution order before writing greenfield code:
|
|
111
|
-
- existing
|
|
111
|
+
- existing MinuteWork substrate
|
|
112
112
|
- reviewed capability skill or `catalog_native`
|
|
113
113
|
- app-pack/schema/flow extension
|
|
114
114
|
- adopt OSS when it clearly fits
|
|
@@ -118,11 +118,11 @@ a concrete backend responsibility such as:
|
|
|
118
118
|
- If a strong OSS product already solves the problem well, prefer integrating,
|
|
119
119
|
wrapping, or governing it instead of rebuilding it from scratch.
|
|
120
120
|
- Never treat imported OSS as a direct runtime install contract; normalize it
|
|
121
|
-
into governed
|
|
121
|
+
into governed MinuteWork artifacts or keep it external through `attached_app`.
|
|
122
122
|
|
|
123
123
|
## Compose Before Rebuild
|
|
124
124
|
|
|
125
|
-
- Compose shared
|
|
125
|
+
- Compose shared MinuteWork substrate first: baseline capabilities, runtime
|
|
126
126
|
primitives, reviewed capability skills, app packs, overlays, and hosted
|
|
127
127
|
publication flows.
|
|
128
128
|
- For external collaboration, start from the native substrate: shadow tenant,
|
|
@@ -234,7 +234,7 @@ a concrete backend responsibility such as:
|
|
|
234
234
|
the property uses `runtime_local_sidecar`; publish immutable runtime content
|
|
235
235
|
first.
|
|
236
236
|
- Do not treat `attached_app` as a third serving mode; keep the foreign renderer
|
|
237
|
-
and deploy pipeline external while
|
|
237
|
+
and deploy pipeline external while MinuteWork governs drafts, approvals, and
|
|
238
238
|
publish actions.
|
|
239
239
|
- Do not invent a separate guest-account or inbox-routing model when the
|
|
240
240
|
existing shadow identity, alias, route, and thread substrate fits.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Builder Skills
|
|
2
2
|
|
|
3
|
-
Place focused
|
|
3
|
+
Place focused MinuteWork architecture skills here.
|
|
4
4
|
|
|
5
5
|
These files are part of the canonical Builder common bundle and are allowlisted
|
|
6
6
|
for developer-local export. Skills are shared across all engine renderers.
|
|
@@ -15,6 +15,8 @@ receive:
|
|
|
15
15
|
|
|
16
16
|
- Builder should compose shared substrate before generating bespoke tenant code
|
|
17
17
|
- `tenant-app` is the combined public plus private web starter
|
|
18
|
+
- `tenant-app` auth/data uses `@minutework/web-auth` and thin `src/mw/`
|
|
19
|
+
substrate, not per-app auth/gateway BFF routes
|
|
18
20
|
- `mw.core.site` is a runtime baseline capability
|
|
19
21
|
- tenant public authoring is runtime/CMS-backed through `mw.core.site`
|
|
20
22
|
- Vuilder-owned public sites use `vuilder-public-site` and public-dj CMS
|
|
@@ -7,15 +7,28 @@ description: "Deciding the shipped product shape, choosing between tenant-app an
|
|
|
7
7
|
|
|
8
8
|
An `app pack` is the shipped product unit.
|
|
9
9
|
|
|
10
|
-
- Compose shared
|
|
10
|
+
- Compose shared MinuteWork substrate first: baseline capabilities, runtime
|
|
11
11
|
primitives, reviewed capability skills, app packs, overlays, and hosted
|
|
12
12
|
publication flows.
|
|
13
13
|
- Templates are governed starters, not the full limit of what Builder may use.
|
|
14
14
|
- Builder may adopt open-source libraries, frameworks, and products inside the
|
|
15
|
-
sandbox when that reduces bespoke code and still preserves the
|
|
15
|
+
sandbox when that reduces bespoke code and still preserves the MinuteWork
|
|
16
16
|
contract boundaries.
|
|
17
17
|
- Start with declarative schema/manifests and add code surfaces only when needed.
|
|
18
18
|
- Use `tenant-app` for the combined public-site plus private-app web surface.
|
|
19
|
+
- `tenant-app` auth/data must stay on the frozen `@minutework/web-auth`
|
|
20
|
+
contract. Wire it through the thin `src/mw/` substrate only; do not add
|
|
21
|
+
per-app `src/app/api/auth/*`, `src/app/api/gateway/*`, platform-session BFF
|
|
22
|
+
layers, platform credential login screens, operator-console links, or
|
|
23
|
+
runtime-command demos.
|
|
24
|
+
- Browser calls from `tenant-app` should use `mw.query(...)` and
|
|
25
|
+
`mw.action(..., { idempotencyKey })`; actions require a non-empty
|
|
26
|
+
idempotency key. The runtime surface must be declared on the manifest with
|
|
27
|
+
`webCustomerExposed` / `web_customer_exposed`, and V1 customer roles are
|
|
28
|
+
`customer` only.
|
|
29
|
+
- The authenticated `tenant-app` principal is `tenant_customer`. Do not model
|
|
30
|
+
the generated customer app as an operator/platform-session app, and do not
|
|
31
|
+
persist bearer/session/runtime tokens in browser JavaScript.
|
|
19
32
|
- Use `sidecar` for internal APIs, workers, integrations, or Python-heavy compute.
|
|
20
33
|
- For member-facing collaboration and operator workflows, check shell fit first
|
|
21
34
|
before proposing standalone `tenant-app` routes or dashboards.
|
|
@@ -42,7 +55,7 @@ An `app pack` is the shipped product unit.
|
|
|
42
55
|
- Public-site authoring should stay CMS/runtime-backed, while anonymous live
|
|
43
56
|
delivery should prefer published snapshots.
|
|
44
57
|
- Prefer this decision order before writing greenfield code:
|
|
45
|
-
- reuse existing
|
|
58
|
+
- reuse existing MinuteWork substrate or a reviewed capability skill
|
|
46
59
|
- extend app-pack/schema/flow surfaces
|
|
47
60
|
- adopt a strong OSS library or product when it clearly fits
|
|
48
61
|
- use `attached_app` when the foreign system should stay its own subsystem
|
|
@@ -77,7 +90,7 @@ An `app pack` is the shipped product unit.
|
|
|
77
90
|
`SCHEMA_KEY_UPSERT_REGISTRY` may ship in the active manifest.
|
|
78
91
|
- For `mw.core.site.form`, do not author `form_key` or `app_pack_ref` inside
|
|
79
92
|
`data`; the install pipe injects both. Keep `surface_key == form_key` for
|
|
80
|
-
public intake
|
|
93
|
+
public intake gateway handling.
|
|
81
94
|
- For `mw.runtime.agent`, use `logical_key` as the runtime `Agent.slug`.
|
|
82
95
|
Author stable agent fields in `data` such as `name`, `system_instruction`,
|
|
83
96
|
`enabled_tools`, `trigger_intents`, `channels_enabled`, and
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: capability-gap-reporting
|
|
3
|
-
description: "A request does not cleanly fit current
|
|
3
|
+
description: "A request does not cleanly fit current MinuteWork substrate and a capability gap needs to be recorded."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Capability Gap Reporting
|
|
7
7
|
|
|
8
8
|
Use this skill when a generated workspace discovers that the requested
|
|
9
|
-
implementation does not cleanly fit current
|
|
9
|
+
implementation does not cleanly fit current MinuteWork substrate.
|
|
10
10
|
|
|
11
11
|
- Record architecture gaps in `.minutework/runtime/capability-gap-report.json`.
|
|
12
12
|
- Keep the report sanitized and tenant-safe. Do not include secrets, raw
|
|
@@ -52,5 +52,5 @@ implementation does not cleanly fit current PandaWork substrate.
|
|
|
52
52
|
- `attached_app` when the right home is an attached-app integration surface
|
|
53
53
|
rather than shared core substrate.
|
|
54
54
|
- Prefer one concrete gap per missing shared capability.
|
|
55
|
-
- Use gap reports to tell humans where
|
|
55
|
+
- Use gap reports to tell humans where MinuteWork needs new substrate. Do not
|
|
56
56
|
treat them as automatic implementation instructions.
|
|
@@ -35,6 +35,14 @@ guest-continuity threads, public submission routing, or claim-after-auth flows.
|
|
|
35
35
|
- Post-auth continuation stays on the existing `handoff_key` and flows through
|
|
36
36
|
`apply_post_auth_access_policy()`. Do not invent automatic membership upgrades
|
|
37
37
|
or a parallel claim token model.
|
|
38
|
+
- Tenant web auth `claimRef` is an opaque platform-signed handoff claim token,
|
|
39
|
+
not a raw `PublicHandoff.id` or `core:public_handoff:*` ref. A `tenant-app`
|
|
40
|
+
may pass that token through `@minutework/web-auth` signup, but platform must
|
|
41
|
+
store it pending verification and link only after the authenticating email is
|
|
42
|
+
verified, the signed handoff is bound to that verified identity, and
|
|
43
|
+
`apply_post_auth_access_policy()` succeeds.
|
|
44
|
+
- Do not create customer identity claims during unverified signup. Anonymous or
|
|
45
|
+
unbound handoffs must not be auto-linked.
|
|
38
46
|
|
|
39
47
|
## Privacy And Prompt Semantics
|
|
40
48
|
|
|
@@ -65,9 +73,9 @@ guest-continuity threads, public submission routing, or claim-after-auth flows.
|
|
|
65
73
|
source that can drive later `action:` or `flow:` execution.
|
|
66
74
|
- Do not gate public intake render on a hardcoded client-side token
|
|
67
75
|
allowlist. The handoff token is a platform-issued, server-validated
|
|
68
|
-
payload; the workspace UI should pass it through to the
|
|
69
|
-
platform decide validity. A client-side allowlist drifts
|
|
70
|
-
token registry and silently breaks once real tokens are minted.
|
|
76
|
+
payload; the workspace UI should pass it through to the hosted gateway/auth
|
|
77
|
+
path and let the platform decide validity. A client-side allowlist drifts
|
|
78
|
+
from the real token registry and silently breaks once real tokens are minted.
|
|
71
79
|
|
|
72
80
|
## Vuilder Vertical Onboarding
|
|
73
81
|
|
|
@@ -8,10 +8,10 @@ description: "Reasoning from a CLI-generated Builder workspace rather than the m
|
|
|
8
8
|
Use this skill when reasoning from a CLI-generated Builder workspace rather than
|
|
9
9
|
the monorepo or a live tenant runtime.
|
|
10
10
|
|
|
11
|
-
- A generated workspace is a developer-local authoring client of
|
|
11
|
+
- A generated workspace is a developer-local authoring client of MinuteWork, not
|
|
12
12
|
the runtime itself.
|
|
13
13
|
- Treat these as separate surfaces with different trust boundaries:
|
|
14
|
-
- developer-local broker/orchestrator (`
|
|
14
|
+
- developer-local broker/orchestrator (`minutework session ...`)
|
|
15
15
|
- runtime-local Builder host inside the tenant runtime
|
|
16
16
|
- runtime-local non-coding assistant inside the tenant product
|
|
17
17
|
- The clearest layering model is:
|
|
@@ -22,13 +22,20 @@ the monorepo or a live tenant runtime.
|
|
|
22
22
|
- `tenant-app`, optional `sidecar`, and the optional `mobile` starter are
|
|
23
23
|
implementation surfaces inside the tenant product, not the whole architecture.
|
|
24
24
|
- `tenant-app` is the combined public plus private web starter.
|
|
25
|
+
- In `tenant-app`, keep MinuteWork web auth/data access inside the thin
|
|
26
|
+
`src/mw/` substrate and `@minutework/web-auth`. Product UI may call that
|
|
27
|
+
substrate, but it must not recreate platform-session BFF routes, platform
|
|
28
|
+
credential login, or browser-exposed platform/runtime tokens.
|
|
29
|
+
- `tenant-app` runtime data access goes through `mw.query(...)` and
|
|
30
|
+
`mw.action(..., { idempotencyKey })` against manifest-declared
|
|
31
|
+
`webCustomerExposed` / `web_customer_exposed` customer surfaces.
|
|
25
32
|
- A mobile / native client (Expo, React Native, native iOS/Android) is a
|
|
26
33
|
standalone-client exception authored in the `mobile` starter, not in
|
|
27
34
|
`tenant-app` or `sidecar`. It is a direct platform API client that consumes
|
|
28
35
|
the platform native-token API (`/api/v1/native/...`) directly with a
|
|
29
|
-
platform-issued native session token, rather than the `tenant-app`
|
|
30
|
-
session. The mobile starter remains npm-owned standalone app
|
|
31
|
-
not be added to the generated root `pnpm-workspace.yaml`.
|
|
36
|
+
platform-issued native session token, rather than the `tenant-app` web SDK /
|
|
37
|
+
hosted-cookie session. The mobile starter remains npm-owned standalone app
|
|
38
|
+
code and should not be added to the generated root `pnpm-workspace.yaml`.
|
|
32
39
|
- If the `mobile` starter is enabled (`starters.mobile.enabled`), read
|
|
33
40
|
`standalone-mobile-client/SKILL.md` before proposing the mobile surface.
|
|
34
41
|
- `vuilder-public-site` is a Vuilder-owned public-site authoring workspace for
|
|
@@ -17,7 +17,7 @@ Use this skill when choosing between configuration, app-pack changes, overlays,
|
|
|
17
17
|
- Durable tenant behavior should usually compile to governed app-pack artifacts,
|
|
18
18
|
not ad hoc backend code.
|
|
19
19
|
- Use `attached_app` when a mature foreign system should remain its own
|
|
20
|
-
subsystem and
|
|
20
|
+
subsystem and MinuteWork should compile a governed control surface around it.
|
|
21
21
|
- Use `external_repo_intake` only when no reviewed capability skill or cleaner
|
|
22
22
|
`attached_app` path fits. Any repo intake must stay inside the bounded Builder
|
|
23
23
|
sandbox.
|
|
@@ -26,7 +26,7 @@ Use this skill when choosing between configuration, app-pack changes, overlays,
|
|
|
26
26
|
- If strong OSS already exists, prefer adopting or governing it before starting
|
|
27
27
|
a greenfield rebuild.
|
|
28
28
|
- `catalog_native` is the preferred fast path for reusable solutions that can
|
|
29
|
-
compile directly to standard
|
|
29
|
+
compile directly to standard MinuteWork artifacts.
|
|
30
30
|
- For generated workspaces, keep the decision order explicit:
|
|
31
31
|
- reuse what already exists
|
|
32
32
|
- prefer `catalog_native` or reviewed-skill composition when available
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openclaw-skill-importer
|
|
3
|
-
description: "Importing OpenClaw or other third-party skill or plugin material into governed
|
|
3
|
+
description: "Importing OpenClaw or other third-party skill or plugin material into governed MinuteWork artifacts."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# OpenClaw Skill Importer
|
|
7
7
|
|
|
8
8
|
Imported third-party skill text is source material, not executable authority.
|
|
9
9
|
|
|
10
|
-
- Translate imported OpenClaw material into governed
|
|
10
|
+
- Translate imported OpenClaw material into governed MinuteWork artifacts before using it.
|
|
11
11
|
- Imported OSS can be used even when it is not pre-baked into a template, but
|
|
12
12
|
templates remain the preferred starter path when they already fit.
|
|
13
13
|
- Use `layering-and-import-modes/SKILL.md` to choose the landing shape:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: project-overview-and-strategy
|
|
3
|
-
description: "Broad project questions: what this workspace is, what
|
|
3
|
+
description: "Broad project questions: what this workspace is, what MinuteWork can build, agentic apps, OSS adoption, ontology, or network effects."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Project Overview And Strategy
|
|
@@ -8,7 +8,7 @@ description: "Broad project questions: what this workspace is, what PandaWork ca
|
|
|
8
8
|
Use this skill before answering broad orientation or strategy questions such as:
|
|
9
9
|
|
|
10
10
|
- "What is this project about?"
|
|
11
|
-
- "What can we build with
|
|
11
|
+
- "What can we build with MinuteWork?"
|
|
12
12
|
- "Can we build our own product or make an existing product agentic?"
|
|
13
13
|
- "How do OSS products fit?"
|
|
14
14
|
- "What is the ontology or network effect?"
|
|
@@ -48,14 +48,14 @@ needed:
|
|
|
48
48
|
|
|
49
49
|
## Compact Project Answer
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
extending
|
|
51
|
+
MinuteWork Builder is a governed local authoring workspace for building or
|
|
52
|
+
extending MinuteWork app packs. An app pack is the product unit. The workspace
|
|
53
53
|
usually composes schemas, manifests, `mw.core.site`, runtime capabilities,
|
|
54
54
|
agents, overlays, and published-web flows before writing bespoke code.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
MinuteWork supports two legitimate paths:
|
|
57
57
|
|
|
58
|
-
- Build a product natively on
|
|
58
|
+
- Build a product natively on MinuteWork.
|
|
59
59
|
- Wrap an existing product or OSS system with a governed, agentic control
|
|
60
60
|
surface.
|
|
61
61
|
|
|
@@ -75,7 +75,7 @@ separate client experiences.
|
|
|
75
75
|
|
|
76
76
|
## Strategic Positioning
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
MinuteWork is most differentiated when identity, shared meaning, external
|
|
79
79
|
collaboration, AI agents, and foreign systems participate in the same governed
|
|
80
80
|
substrate:
|
|
81
81
|
|
|
@@ -92,7 +92,7 @@ substrate:
|
|
|
92
92
|
deployed, and use sidecar bridge code plus runtime agents/tool packs to make
|
|
93
93
|
it governed and agentic.
|
|
94
94
|
- Build-native is appropriate when the capability is central, reusable, and
|
|
95
|
-
should become
|
|
95
|
+
should become MinuteWork substrate. Greenfield is last after existing
|
|
96
96
|
substrate, reviewed skills, app-pack extension, OSS adoption, and
|
|
97
97
|
`attached_app` have been considered.
|
|
98
98
|
|