mimetic-cli 0.1.4 → 0.1.5
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 +67 -12
- package/dist/env-file.d.ts +14 -0
- package/dist/env-file.js +108 -0
- package/dist/env-file.js.map +1 -0
- package/dist/feedback.d.ts +7 -5
- package/dist/feedback.js +61 -4
- package/dist/feedback.js.map +1 -1
- package/dist/init-templates.js +29 -0
- package/dist/init-templates.js.map +1 -1
- package/dist/lab-app-runner.d.ts +78 -0
- package/dist/lab-app-runner.js +403 -0
- package/dist/lab-app-runner.js.map +1 -0
- package/dist/labs.d.ts +67 -0
- package/dist/labs.js +257 -0
- package/dist/labs.js.map +1 -0
- package/dist/observer-assets.js +473 -25
- package/dist/observer-assets.js.map +1 -1
- package/dist/observer.d.ts +6 -0
- package/dist/observer.js +49 -8
- package/dist/observer.js.map +1 -1
- package/dist/oss-lab.d.ts +1 -1
- package/dist/oss-lab.js +6 -6
- package/dist/oss-lab.js.map +1 -1
- package/dist/oss-meta-lab.d.ts +113 -1
- package/dist/oss-meta-lab.js +2753 -200
- package/dist/oss-meta-lab.js.map +1 -1
- package/dist/oss-remote-telemetry.d.ts +77 -0
- package/dist/oss-remote-telemetry.js +393 -0
- package/dist/oss-remote-telemetry.js.map +1 -0
- package/dist/program.d.ts +8 -0
- package/dist/program.js +668 -70
- package/dist/program.js.map +1 -1
- package/dist/run.d.ts +105 -3
- package/dist/run.js +684 -22
- package/dist/run.js.map +1 -1
- package/docs/architecture/local-codex-tui-actor.md +9 -6
- package/docs/architecture/oss-lab-poc.md +119 -47
- package/docs/architecture/project-layout.md +40 -6
- package/docs/contracts/feedback.md +15 -12
- package/docs/contracts/policy.md +9 -2
- package/docs/contracts/run-bundle.md +62 -0
- package/docs/contracts/schemas.md +21 -0
- package/docs/goals/current.md +50 -17
- package/docs/product/open-source-install-experience.md +63 -8
- package/docs/ramp/README.md +26 -8
- package/docs/roadmap/world-class-open-source-v0.md +41 -20
- package/package.json +8 -6
- package/skills/mimetic-cli/SKILL.md +89 -4
- package/skills/mimetic-cli/agents/openai.yaml +1 -1
|
@@ -31,7 +31,7 @@ The npm package owns executable behavior:
|
|
|
31
31
|
- binary: `mimetic`;
|
|
32
32
|
- CLI framework: `commander`;
|
|
33
33
|
- commands: `init`, `doctor`, `run`, `watch`, `review`, `verify`,
|
|
34
|
-
`feedback`;
|
|
34
|
+
`lab`, `feedback`;
|
|
35
35
|
- schemas and validators;
|
|
36
36
|
- synthetic starter templates;
|
|
37
37
|
- observer static assets;
|
|
@@ -54,14 +54,33 @@ The skill should teach the user's coding agent how to:
|
|
|
54
54
|
- run `mimetic init`;
|
|
55
55
|
- inspect the target app's routes and dev command;
|
|
56
56
|
- create synthetic personas and scenarios;
|
|
57
|
+
- create public-safe `mimetic/labs/*.yaml` lab manifests;
|
|
58
|
+
- keep private/local labs under ignored `.mimetic/labs/*.yaml` or
|
|
59
|
+
`.mimetic/local/labs/*.yaml`;
|
|
57
60
|
- configure local app targets;
|
|
58
61
|
- document E2B and OpenAI env var names without storing values;
|
|
62
|
+
- use `--env-file <path>` for explicit local env hydration without persisting
|
|
63
|
+
values into artifacts;
|
|
59
64
|
- run `doctor`, `watch`, `verify`, and `feedback issue`;
|
|
60
65
|
- avoid PII, PHI, secrets, real customer data, and private artifacts.
|
|
61
66
|
|
|
62
67
|
The skill should not hide critical behavior in chat memory. It should point to
|
|
63
68
|
repo-owned `mimetic/` files and package-owned docs.
|
|
64
69
|
|
|
70
|
+
## Project File Formats
|
|
71
|
+
|
|
72
|
+
New projects should get a boring, legible format stack:
|
|
73
|
+
|
|
74
|
+
- `.yaml` for human-authored Mimetic source such as personas, scenarios,
|
|
75
|
+
policies, labs, and review vocabulary;
|
|
76
|
+
- `.ts` for executable integration such as `mimetic/config.ts` and adapters;
|
|
77
|
+
- `.json` and `.ndjson` for generated run artifacts, Observer data, review
|
|
78
|
+
output, event streams, and synthetic fixtures.
|
|
79
|
+
|
|
80
|
+
Use `.yml` only where an outside ecosystem convention already expects it, for
|
|
81
|
+
example GitHub Actions workflows. Do not scaffold `.yml` for Mimetic source and
|
|
82
|
+
do not use TOML unless a future scalar global-config case clearly needs it.
|
|
83
|
+
|
|
65
84
|
## First-Run Principles
|
|
66
85
|
|
|
67
86
|
- No keys required for the first wow moment.
|
|
@@ -73,6 +92,35 @@ repo-owned `mimetic/` files and package-owned docs.
|
|
|
73
92
|
- Safe dry-run should produce a valid synthetic run bundle and observer view.
|
|
74
93
|
- The user should see what changed in git.
|
|
75
94
|
|
|
95
|
+
## Lab Manifest Shape
|
|
96
|
+
|
|
97
|
+
Labs are the public-safe way to name a reusable simulation run. A starter app
|
|
98
|
+
gets a committed synthetic lab:
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
schema: mimetic.lab.v1
|
|
102
|
+
id: first-run
|
|
103
|
+
kind: synthetic
|
|
104
|
+
title: First-run synthetic Observer
|
|
105
|
+
description: Public-safe starter lab that generates a synthetic run bundle and Observer without provider spend.
|
|
106
|
+
sims: 4
|
|
107
|
+
defaults:
|
|
108
|
+
dryRun: true
|
|
109
|
+
open: true
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Resolution order:
|
|
113
|
+
|
|
114
|
+
1. `mimetic/labs/<id>.yaml` for committed, reproducible labs.
|
|
115
|
+
2. `.mimetic/labs/<id>.yaml` for ignored local labs.
|
|
116
|
+
3. `.mimetic/local/labs/<id>.yaml` for ignored machine-specific overlays.
|
|
117
|
+
4. explicit `.yaml` path, for example
|
|
118
|
+
`.mimetic/labs/local-dogfood.yaml`.
|
|
119
|
+
|
|
120
|
+
Private repo targets, local env references, and maintainer dogfood variants
|
|
121
|
+
belong in ignored lab manifests and should be invoked with explicit
|
|
122
|
+
`--env-file`; do not make them package defaults.
|
|
123
|
+
|
|
76
124
|
## `mimetic init`
|
|
77
125
|
|
|
78
126
|
`mimetic init` should:
|
|
@@ -94,10 +142,11 @@ Suggested scripts:
|
|
|
94
142
|
"scripts": {
|
|
95
143
|
"mimetic": "mimetic",
|
|
96
144
|
"mimetic:doctor": "mimetic doctor",
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
145
|
+
"mimetic:run": "mimetic run --dry-run",
|
|
146
|
+
"mimetic:watch": "mimetic watch",
|
|
147
|
+
"mimetic:lab:list": "mimetic lab list",
|
|
148
|
+
"mimetic:watch:ci": "mimetic watch --json --no-open",
|
|
149
|
+
"mimetic:verify": "mimetic verify"
|
|
101
150
|
}
|
|
102
151
|
}
|
|
103
152
|
```
|
|
@@ -112,9 +161,13 @@ Suggested scripts:
|
|
|
112
161
|
| `mimetic verify` | Validate bundle and public-safety gates | Fail closed on schema/evidence/redaction errors |
|
|
113
162
|
| `mimetic review` | Build review packet from evidence | Summarize verdicts without inventing product proof |
|
|
114
163
|
| `mimetic watch` | Run sims and watch the observer | Create a fresh four-lane bundle, render Observer, open it, and keep the shell attached |
|
|
164
|
+
| `mimetic watch [lab]` | Run a named lab and watch it | Resolve committed or ignored `.yaml` lab manifests, then open/follow Observer |
|
|
115
165
|
| `mimetic watch --json --no-open` | Agent/CI proof path | Create the same bundle and Observer artifacts without browser open or attached watch server |
|
|
116
|
-
| `mimetic lab
|
|
117
|
-
| `mimetic lab
|
|
166
|
+
| `mimetic lab list` | Discover available labs | List committed labs and ignored local labs with origin labels |
|
|
167
|
+
| `mimetic lab inspect <lab>` | Read a lab manifest | Print lab id, kind, path, defaults, repos, and warnings without executing |
|
|
168
|
+
| `mimetic lab run <lab>` | Run a lab manifest | Human or JSON execution path for synthetic, OSS meta, and smoke labs |
|
|
169
|
+
| `mimetic lab run oss` | Maintainer dogfood example | Open the Observer-of-Observers with headed desktop lanes assigned by `--repos`, target app windows, nested Observers, runtime-only stream URLs, and redacted durable evidence for token-backed runs |
|
|
170
|
+
| `mimetic lab run oss-smoke` | Maintainer smoke example | Shallow clone lightweight GitHub repos, run setup/proof/verify, report, and remove clones |
|
|
118
171
|
| `mimetic feedback issue` | Produce public-safe issue draft | Print Markdown or prefilled issue URL, no GitHub API mutation |
|
|
119
172
|
|
|
120
173
|
## Live Capability Ladder
|
|
@@ -135,4 +188,6 @@ run.
|
|
|
135
188
|
|
|
136
189
|
Live E2B desktop labs are an optional advanced path. Target projects that need
|
|
137
190
|
them should install `@e2b/desktop` explicitly instead of receiving that
|
|
138
|
-
substrate as part of the default Mimetic package install.
|
|
191
|
+
substrate as part of the default Mimetic package install. When a GitHub token is
|
|
192
|
+
present, repo labels are redacted in durable artifacts by default; live stream
|
|
193
|
+
auth URLs are used only by the attached watch server and are not persisted.
|
package/docs/ramp/README.md
CHANGED
|
@@ -26,9 +26,11 @@ Mimetic is a persona simulation harness for apps, CLIs, and agent-facing product
|
|
|
26
26
|
flows.
|
|
27
27
|
|
|
28
28
|
- `mimetic/` is committed source: personas, scenarios, policy, adapters, and
|
|
29
|
-
|
|
29
|
+
lab manifests.
|
|
30
30
|
- `.mimetic/` is ignored runtime state: runs, Observer output, transcripts,
|
|
31
31
|
reviews, temporary clones, and local evidence.
|
|
32
|
+
- Mimetic source uses `.yaml` for human-authored simulation intent, `.ts` for
|
|
33
|
+
executable integration, and JSON/NDJSON for generated artifacts.
|
|
32
34
|
- A run bundle is the source of truth.
|
|
33
35
|
- The Observer is the projection that makes that truth reviewable.
|
|
34
36
|
- Feedback commands turn verified evidence into public-safe issue drafts.
|
|
@@ -55,15 +57,22 @@ Implemented:
|
|
|
55
57
|
- mission-control Observer over UI, CLI, TUI, and Codex UI stream contracts;
|
|
56
58
|
- public-safe feedback issue drafts without GitHub API mutation;
|
|
57
59
|
- skills.sh-compatible agent skill;
|
|
58
|
-
-
|
|
60
|
+
- first-class lab manifest resolution through `mimetic/labs/*.yaml` and
|
|
61
|
+
ignored `.mimetic/labs/*.yaml` overlays;
|
|
62
|
+
- experimental maintainer OSS meta-lab and disposable OSS smoke harness;
|
|
63
|
+
- OSS dogfood setup-quality filesystem artifacts rendered from the Observer Files
|
|
64
|
+
tab with private-run previews suppressed by default.
|
|
59
65
|
|
|
60
66
|
Still not good enough:
|
|
61
67
|
|
|
62
|
-
- live
|
|
68
|
+
- live `--app-url` browser proof exists for desktop/mobile render evidence, but
|
|
69
|
+
autonomous multi-step user-journey proof is not first-class yet;
|
|
63
70
|
- live PTY and Codex UI lanes need stronger completion health;
|
|
64
|
-
- OSS lab lanes
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
- OSS lab lanes can report nested Observer health, target app readiness, actor
|
|
72
|
+
evidence, and setup-quality filesystem checks when a target app starts, but
|
|
73
|
+
need repeated fresh-agent trials across more disposable public apps;
|
|
74
|
+
- Observer evidence has real screenshots/traces for browser app proof; broader
|
|
75
|
+
adapter-driven persona navigation remains the next gap.
|
|
67
76
|
|
|
68
77
|
## First Commands
|
|
69
78
|
|
|
@@ -75,6 +84,7 @@ pnpm install --frozen-lockfile
|
|
|
75
84
|
pnpm release:check
|
|
76
85
|
pnpm mimetic -- watch --json --no-open
|
|
77
86
|
pnpm mimetic -- runs --json
|
|
87
|
+
pnpm mimetic -- lab list
|
|
78
88
|
```
|
|
79
89
|
|
|
80
90
|
For local product feel:
|
|
@@ -86,8 +96,16 @@ pnpm mimetic -- watch
|
|
|
86
96
|
For public OSS dogfood without credentials:
|
|
87
97
|
|
|
88
98
|
```bash
|
|
89
|
-
pnpm mimetic -- lab oss --dry-run --json --no-open
|
|
90
|
-
pnpm mimetic -- lab oss-smoke --limit 1 --json
|
|
99
|
+
pnpm mimetic -- lab run oss --dry-run --json --no-open
|
|
100
|
+
pnpm mimetic -- lab run oss-smoke --limit 1 --json
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
For private/local dogfood, author an ignored lab manifest under
|
|
104
|
+
`.mimetic/labs/` or `.mimetic/local/labs/`, then invoke it explicitly with an
|
|
105
|
+
ignored env file:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
pnpm mimetic -- watch .mimetic/labs/local-dogfood.yaml --env-file .mimetic/local/provider.env
|
|
91
109
|
```
|
|
92
110
|
|
|
93
111
|
## How To Pick Work
|
|
@@ -226,21 +226,43 @@ keeps the shell attached. The CI-safe form is `mimetic watch --json --no-open`.
|
|
|
226
226
|
`--sims <n>` remains the explicit scale control, and `--run <id>` watches
|
|
227
227
|
existing evidence.
|
|
228
228
|
|
|
229
|
-
## Stage 6.
|
|
229
|
+
## Stage 6.8: Lab Manifests
|
|
230
230
|
|
|
231
|
-
Status: implemented as
|
|
232
|
-
with a retained disposable smoke harness.
|
|
231
|
+
Status: implemented as the generic source shape for reusable runs.
|
|
233
232
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
233
|
+
Mimetic now resolves `.yaml` lab manifests from committed `mimetic/labs/`,
|
|
234
|
+
ignored `.mimetic/labs/`, ignored `.mimetic/local/labs/`, or an explicit
|
|
235
|
+
`.yaml` path. The human path is `mimetic watch <lab>`; the agent/CI path is
|
|
236
|
+
`mimetic lab run <lab> --json --no-open`; discovery is `mimetic lab list` and
|
|
237
|
+
`mimetic lab inspect <lab>`.
|
|
238
|
+
|
|
239
|
+
Private or maintainer-only dogfood belongs in ignored lab manifests plus
|
|
240
|
+
explicit `--env-file`; the public package should not hardcode private target
|
|
241
|
+
names or require broad inherited job env.
|
|
242
|
+
|
|
243
|
+
## Stage 6.9: Maintainer OSS Meta-Lab
|
|
244
|
+
|
|
245
|
+
Status: implemented as repo-owned `mimetic/labs/oss.yaml` plus compatibility
|
|
246
|
+
aliases, with a retained disposable smoke harness.
|
|
247
|
+
|
|
248
|
+
`mimetic watch oss` opens the top-level Observer for authorized-repo meta-sims.
|
|
249
|
+
Each lane is assigned a GitHub `owner/repo` slug from `--repos` or repeated
|
|
250
|
+
`--repo` values and carries a headed E2B desktop for setting up Mimetic inside
|
|
251
|
+
that repo, starting the target app where feasible, and keeping the nested
|
|
252
|
+
Observer visible.
|
|
253
|
+
Default public targets should be apps, CLIs, or agent-facing tools with
|
|
254
|
+
observable user surfaces. Frameworks, starters, and utility libraries are
|
|
255
|
+
acceptable only when the explicit scenario is developer-experience testing.
|
|
238
256
|
When live keys are present, Mimetic launches E2B desktops, uploads the locally
|
|
239
257
|
packed Mimetic package, starts visible bootstrap terminals, clones each assigned
|
|
240
|
-
repo inside the desktop, runs nested Mimetic setup/proof commands,
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
258
|
+
repo inside the desktop, runs nested Mimetic setup/proof commands, opens
|
|
259
|
+
desktop/mobile app windows plus the nested Observer in the sandbox browser, and
|
|
260
|
+
starts a nonblocking Codex actor attempt. Attached watch mode overlays live E2B
|
|
261
|
+
stream URLs only in memory; durable run artifacts keep screenshots/status, not
|
|
262
|
+
auth-bearing URLs. Private repos are maintainer-only, require an authorized
|
|
263
|
+
runtime GitHub token, and redact repo labels in durable artifacts by default.
|
|
264
|
+
|
|
265
|
+
`mimetic lab run oss-smoke` keeps the earlier clone/discard proof loop: shallow
|
|
244
266
|
clone lightweight public GitHub repositories into ignored `.mimetic/tmp`, apply
|
|
245
267
|
Mimetic setup in disposable clones, run the four-lane synthetic Observer proof,
|
|
246
268
|
verify it, record git-status evidence, write an ignored
|
|
@@ -249,15 +271,14 @@ verify it, record git-status evidence, write an ignored
|
|
|
249
271
|
Proof:
|
|
250
272
|
|
|
251
273
|
```bash
|
|
252
|
-
pnpm mimetic --
|
|
253
|
-
pnpm mimetic -- lab oss --dry-run --json --no-open --repos
|
|
254
|
-
pnpm mimetic -- lab oss-smoke --limit 1 --json
|
|
274
|
+
pnpm mimetic -- watch oss --detach --open --repos CorentinTh/it-tools,drawdb-io/drawdb
|
|
275
|
+
pnpm mimetic -- lab run oss --dry-run --json --no-open --repos CorentinTh/it-tools,drawdb-io/drawdb
|
|
276
|
+
pnpm mimetic -- lab run oss-smoke --limit 1 --json
|
|
255
277
|
```
|
|
256
278
|
|
|
257
|
-
Next substrate work:
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
the E2B stream.
|
|
279
|
+
Next substrate work: upgrade nested app-url render proof into provider-backed
|
|
280
|
+
browser personas that drive the target app and add richer process/filesystem
|
|
281
|
+
telemetry for Codex actor health.
|
|
261
282
|
|
|
262
283
|
## Stage 7: Local Browser And First Real Adapter
|
|
263
284
|
|
|
@@ -276,11 +297,11 @@ Proof:
|
|
|
276
297
|
|
|
277
298
|
## Non-Goals For V0
|
|
278
299
|
|
|
279
|
-
- live E2B;
|
|
300
|
+
- live E2B as required first-run behavior;
|
|
280
301
|
- OpenAI computer-use actor;
|
|
281
302
|
- live GitHub mutation;
|
|
282
303
|
- hosted queues/databases/webhooks;
|
|
283
|
-
- provider spend;
|
|
304
|
+
- provider spend as required first-run behavior;
|
|
284
305
|
- production deploys;
|
|
285
306
|
- real user/persona data;
|
|
286
307
|
- private upstream artifacts.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mimetic-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Open-source-safe CLI for persona simulation, observer review, and public-safe feedback drafts.",
|
|
5
5
|
"author": "Daniel G Wilson <daniel@danielgwilson.com>",
|
|
6
6
|
"keywords": [
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"docs/architecture",
|
|
34
34
|
"docs/assets",
|
|
35
35
|
"docs/contracts",
|
|
36
|
-
"docs/goals",
|
|
36
|
+
"docs/goals/current.md",
|
|
37
37
|
"docs/principles",
|
|
38
38
|
"docs/product",
|
|
39
39
|
"docs/ramp",
|
|
@@ -66,9 +66,10 @@
|
|
|
66
66
|
"mimetic:dogfood": "pnpm mimetic -- watch",
|
|
67
67
|
"mimetic:verify": "pnpm mimetic -- verify",
|
|
68
68
|
"mimetic:feedback": "pnpm mimetic -- feedback issue --repo danielgwilson/mimetic-cli",
|
|
69
|
-
"mimetic:lab:
|
|
70
|
-
"mimetic:lab:oss
|
|
71
|
-
"mimetic:lab:oss:
|
|
69
|
+
"mimetic:lab:list": "pnpm mimetic -- lab list",
|
|
70
|
+
"mimetic:lab:oss": "pnpm mimetic -- lab run oss",
|
|
71
|
+
"mimetic:lab:oss:ci": "pnpm mimetic -- lab run oss --dry-run --json --no-open",
|
|
72
|
+
"mimetic:lab:oss:smoke": "pnpm mimetic -- lab run oss-smoke"
|
|
72
73
|
},
|
|
73
74
|
"repository": {
|
|
74
75
|
"type": "git",
|
|
@@ -79,7 +80,8 @@
|
|
|
79
80
|
},
|
|
80
81
|
"homepage": "https://github.com/danielgwilson/mimetic-cli#readme",
|
|
81
82
|
"dependencies": {
|
|
82
|
-
"commander": "^14.0.3"
|
|
83
|
+
"commander": "^14.0.3",
|
|
84
|
+
"yaml": "^2.9.0"
|
|
83
85
|
},
|
|
84
86
|
"peerDependencies": {
|
|
85
87
|
"@e2b/desktop": "^2.2.3"
|
|
@@ -15,9 +15,11 @@ tokens, raw private transcripts, private screenshots, raw customer data, raw
|
|
|
15
15
|
patient data, or private upstream artifacts.
|
|
16
16
|
|
|
17
17
|
Do not edit `.env` or secret files. Do not paste credential values. Use env var
|
|
18
|
-
names only, usually `OPENAI_API_KEY` and `E2B_API_KEY`.
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
names only, usually `OPENAI_API_KEY` and `E2B_API_KEY`. For live local runs,
|
|
19
|
+
prefer an explicit ignored env file passed with `--env-file <path>`; do not
|
|
20
|
+
assume broad inherited job env is safe. Stop before live provider spend,
|
|
21
|
+
hosted execution, deploys, public tunnels, or GitHub mutation unless the user
|
|
22
|
+
explicitly approves that exact action.
|
|
21
23
|
|
|
22
24
|
## Setup Workflow
|
|
23
25
|
|
|
@@ -29,6 +31,12 @@ unless the user explicitly approves that exact action.
|
|
|
29
31
|
npm i -D mimetic-cli
|
|
30
32
|
```
|
|
31
33
|
|
|
34
|
+
The package is `mimetic-cli`; the installed binary is `mimetic`. After
|
|
35
|
+
installation, `npx mimetic ...` resolves the local project binary. For a
|
|
36
|
+
one-shot command before installation, use
|
|
37
|
+
`npx --package mimetic-cli mimetic ...` so npm does not resolve an unrelated
|
|
38
|
+
package named `mimetic`.
|
|
39
|
+
|
|
32
40
|
3. Preview setup:
|
|
33
41
|
|
|
34
42
|
```bash
|
|
@@ -44,9 +52,28 @@ unless the user explicitly approves that exact action.
|
|
|
44
52
|
5. Confirm the layout:
|
|
45
53
|
- commit `mimetic/` source files;
|
|
46
54
|
- ignore `.mimetic/` runtime artifacts;
|
|
55
|
+
- keep committed labs under `mimetic/labs/*.yaml`;
|
|
56
|
+
- keep private/local labs under ignored `.mimetic/labs/*.yaml` or
|
|
57
|
+
`.mimetic/local/labs/*.yaml`;
|
|
47
58
|
- keep `.env.example` commit-safe and value-free;
|
|
48
59
|
- never commit generated run bundles.
|
|
49
60
|
|
|
61
|
+
## Format Stack
|
|
62
|
+
|
|
63
|
+
When creating or editing Mimetic files:
|
|
64
|
+
|
|
65
|
+
- use `.yaml` for human-authored Mimetic source: personas, scenarios,
|
|
66
|
+
policies, labs, review vocabulary, and milestones;
|
|
67
|
+
- use `.ts` for executable integration: `mimetic/config.ts`, adapters, route
|
|
68
|
+
catalogs, and app launch logic;
|
|
69
|
+
- use `.json` or `.ndjson` for generated machine artifacts, Observer data, run
|
|
70
|
+
bundles, event streams, and synthetic fixtures.
|
|
71
|
+
|
|
72
|
+
Do not create `.yml` files under `mimetic/`; `.yml` is for outside ecosystem
|
|
73
|
+
conventions such as GitHub Actions workflows. Do not introduce TOML unless the
|
|
74
|
+
target project has a concrete scalar global-config need that YAML, TypeScript,
|
|
75
|
+
or JSON does not serve.
|
|
76
|
+
|
|
50
77
|
## Authoring Personas And Scenarios
|
|
51
78
|
|
|
52
79
|
Create or edit only synthetic files under `mimetic/`.
|
|
@@ -60,9 +87,40 @@ Scenarios should define the target app surface, start URL, task intent,
|
|
|
60
87
|
success signals, and failure signals. Keep app-specific truth in the target
|
|
61
88
|
repo's `mimetic/` files, not in the package or this skill.
|
|
62
89
|
|
|
90
|
+
## Authoring Labs
|
|
91
|
+
|
|
92
|
+
Create reusable simulation runs as `.yaml` lab manifests:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
schema: mimetic.lab.v1
|
|
96
|
+
id: first-run
|
|
97
|
+
kind: synthetic
|
|
98
|
+
title: First-run synthetic Observer
|
|
99
|
+
sims: 4
|
|
100
|
+
defaults:
|
|
101
|
+
dryRun: true
|
|
102
|
+
open: true
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Use committed `mimetic/labs/*.yaml` for public-safe, reproducible labs. Use
|
|
106
|
+
ignored `.mimetic/labs/*.yaml` or `.mimetic/local/labs/*.yaml` for private repo
|
|
107
|
+
targets, local-only dogfood, or machine-specific settings. Never commit private
|
|
108
|
+
repo names, stream URLs, credential values, screenshots, logs, source snippets,
|
|
109
|
+
or operational details.
|
|
110
|
+
|
|
111
|
+
Useful commands:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npx mimetic lab list
|
|
115
|
+
npx mimetic lab inspect first-run
|
|
116
|
+
npx mimetic watch first-run
|
|
117
|
+
npx mimetic lab run first-run --json --no-open
|
|
118
|
+
```
|
|
119
|
+
|
|
63
120
|
## First Proof Run
|
|
64
121
|
|
|
65
|
-
Run the no-credentials path first
|
|
122
|
+
Run the no-credentials path first. This proves Mimetic artifact plumbing, not
|
|
123
|
+
target app behavior:
|
|
66
124
|
|
|
67
125
|
```bash
|
|
68
126
|
npx mimetic doctor
|
|
@@ -75,12 +133,27 @@ For CI or non-interactive proof:
|
|
|
75
133
|
|
|
76
134
|
```bash
|
|
77
135
|
npx mimetic watch --json --no-open
|
|
136
|
+
npx mimetic lab run first-run --json --no-open
|
|
78
137
|
```
|
|
79
138
|
|
|
80
139
|
The feedback command prints a public-safe Markdown draft. It must not call the
|
|
81
140
|
GitHub API, require a token, update Projects, use provider credits, or claim
|
|
82
141
|
product behavior proof from a dry run.
|
|
83
142
|
|
|
143
|
+
When the target app can run locally, prove real browser behavior with
|
|
144
|
+
`run --app-url` after starting the app on loopback:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# in another terminal, start the target app on 127.0.0.1 or localhost
|
|
148
|
+
npx mimetic run --app-url http://127.0.0.1:<port> --sims 2 --json
|
|
149
|
+
npx mimetic verify --run latest --json
|
|
150
|
+
npx mimetic watch --run latest --detach --no-open --json
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Do not use `mimetic watch --sims ...` as a substitute for app-url proof.
|
|
154
|
+
`watch` renders or follows Observer evidence; `run --app-url` is the command
|
|
155
|
+
that captures live desktop/mobile browser evidence against a running app.
|
|
156
|
+
|
|
84
157
|
## Optional Live E2B Lab
|
|
85
158
|
|
|
86
159
|
Live headed E2B desktop lanes are optional. Add the substrate dependency only
|
|
@@ -98,6 +171,18 @@ OPENAI_API_KEY
|
|
|
98
171
|
```
|
|
99
172
|
|
|
100
173
|
Do not paste values into files, prompts, run bundles, issue drafts, or logs.
|
|
174
|
+
Load local values only at invocation time:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
npx mimetic watch .mimetic/labs/local-live.yaml --env-file .mimetic/local/provider.env
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
When choosing dogfood targets, prefer apps, CLIs, or agent-facing tools with a
|
|
181
|
+
real observable user surface and local run path. Do not use libraries,
|
|
182
|
+
frameworks, starters, or infrastructure packages as default targets unless the
|
|
183
|
+
declared scenario is developer-experience testing. Private repos are allowed
|
|
184
|
+
only as explicit maintainer-authorized runs with repo redaction left on; never
|
|
185
|
+
publish their names, screenshots, logs, source snippets, or operational details.
|
|
101
186
|
|
|
102
187
|
## Reporting Back
|
|
103
188
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Mimetic CLI"
|
|
3
3
|
short_description: "Set up public-safe persona simulation"
|
|
4
|
-
default_prompt: "Use $mimetic-cli to install Mimetic in this repo, scaffold synthetic personas and scenarios, run the safe Observer proof, and report the public-safe artifacts."
|
|
4
|
+
default_prompt: "Use $mimetic-cli to install Mimetic in this repo, scaffold synthetic personas and scenarios, run the safe Observer proof, and report the public-safe artifacts. If the app can run locally, start it on loopback and use `mimetic run --app-url http://127.0.0.1:<port> --sims 2` before rendering Observer with `mimetic watch --run latest`; do not treat `watch --sims` as app behavior proof."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|