myte 0.0.19 → 0.0.20
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 +45 -400
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,426 +1,71 @@
|
|
|
1
|
-
# myte
|
|
1
|
+
# myte
|
|
2
2
|
|
|
3
|
-
Canonical npm package for the Myte
|
|
3
|
+
Canonical npm package for the Myte CLI.
|
|
4
4
|
|
|
5
|
-
## Install
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Local install:
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- then run `npx myte ai "Return a JSON object with risks and next_steps" --json-response`
|
|
13
|
-
- then run `npx myte config --json`
|
|
14
|
-
- then run `npx myte bootstrap`
|
|
15
|
-
- then run `npx myte run-qaqc --mission-ids M001 --wait --sync`
|
|
16
|
-
- then run `npx myte mission status --mission-ids M001 --status done`
|
|
17
|
-
- then run `npx myte sync-qaqc`
|
|
18
|
-
- then run `npx myte feedback-sync`
|
|
19
|
-
- then run `npx myte suggestions sync`
|
|
20
|
-
- then run `npx myte suggestions create`
|
|
21
|
-
- then run `npx myte suggestions revise`
|
|
22
|
-
- then run `npx myte suggestions review`
|
|
23
|
-
- then run `npx myte query "What changed in logging?" --with-diff`
|
|
24
|
-
- then run `npx myte update-team "Backend deploy completed; QAQC rerun queued."`
|
|
25
|
-
- then run `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
|
|
26
|
-
- then run `npx myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
|
|
27
|
-
- or `npm exec myte -- query "What changed in logging?" --with-diff`
|
|
28
|
-
- Global install:
|
|
29
|
-
- `npm i -g myte`
|
|
30
|
-
- then run `myte ai "Explain this repository"`
|
|
31
|
-
- then run `myte bootstrap`
|
|
32
|
-
- then run `myte run-qaqc --mission-ids M001 --wait --sync`
|
|
33
|
-
- then run `myte mission status --mission-ids M001 --status done`
|
|
34
|
-
- then run `myte sync-qaqc`
|
|
35
|
-
- then run `myte feedback-sync`
|
|
36
|
-
- then run `myte suggestions sync`
|
|
37
|
-
- then run `myte suggestions create`
|
|
38
|
-
- then run `myte suggestions revise`
|
|
39
|
-
- then run `myte suggestions review`
|
|
40
|
-
- then run `myte query "What changed in logging?" --with-diff`
|
|
41
|
-
- then run `myte update-team "Backend deploy completed; QAQC rerun queued."`
|
|
42
|
-
- then run `myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
|
|
43
|
-
- then run `myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
|
|
44
|
-
- No install:
|
|
45
|
-
- `npx myte@latest ai "Explain this repository"`
|
|
46
|
-
- `npx myte@latest bootstrap`
|
|
47
|
-
- `npx myte@latest run-qaqc --mission-ids M001 --wait --sync`
|
|
48
|
-
- `npx myte@latest mission status --mission-ids M001 --status done`
|
|
49
|
-
- `npx myte@latest sync-qaqc`
|
|
50
|
-
- `npx myte@latest feedback-sync`
|
|
51
|
-
- `npx myte@latest suggestions sync`
|
|
52
|
-
- `npx myte@latest suggestions create`
|
|
53
|
-
- `npx myte@latest suggestions revise`
|
|
54
|
-
- `npx myte@latest suggestions review`
|
|
55
|
-
- `npx myte@latest query "What changed in logging?" --with-diff`
|
|
56
|
-
- `npx myte@latest update-team "Backend deploy completed; QAQC rerun queued."`
|
|
57
|
-
- `npx myte@latest update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
|
|
58
|
-
- `npx myte@latest update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
|
|
59
|
-
|
|
60
|
-
`npm install myte` by itself does not put `myte` on your shell PATH. Use `npx myte` or `npm exec myte -- ...` unless you installed globally.
|
|
61
|
-
|
|
62
|
-
Important:
|
|
63
|
-
- `npm install myte` gives the user everything needed locally.
|
|
64
|
-
- The normal local command is `npx myte ...` or `npm exec myte -- ...`.
|
|
65
|
-
- Bare `myte ...` only works after `npm i -g myte`.
|
|
66
|
-
- `myte ai` uses `MYTEAI_API_KEY` and the `api.myte.ai` gateway.
|
|
67
|
-
|
|
68
|
-
## Requirements
|
|
69
|
-
|
|
70
|
-
- Node `18+`
|
|
71
|
-
- macOS, Linux, and Windows are supported
|
|
72
|
-
- `git` available in `PATH` for `--with-diff`
|
|
73
|
-
- `MYTEAI_API_KEY=<inference_api_key>` available in your shell or in a `.env` for `myte ai`
|
|
74
|
-
- `MYTE_API_KEY=<project_api_key>` available in your shell or in a `.env`
|
|
75
|
-
- the CLI searches for `.env` in the current folder and then up parent directories
|
|
76
|
-
- For deterministic diff capture, run from:
|
|
77
|
-
- a configured repo folder, or
|
|
78
|
-
- a parent workspace that contains the configured repo folders by name
|
|
79
|
-
|
|
80
|
-
Important: repo folder names on disk must match the project repo names configured in Myte, including casing on case-sensitive filesystems. If the API says the repos are `Mytegroup-api-mytecody` and `Mytegroup-web-mytecody`, the local folders must use those names for automatic diff discovery.
|
|
81
|
-
|
|
82
|
-
## Verify setup
|
|
83
|
-
|
|
84
|
-
Run this first when onboarding on a new machine:
|
|
9
|
+
- `npm install myte`
|
|
10
|
+
- run with `npx myte ...`
|
|
11
|
+
- or `npm exec myte -- ...`
|
|
85
12
|
|
|
86
|
-
|
|
87
|
-
- or `npm exec myte -- config --json`
|
|
88
|
-
- or `npx myte@latest config --json`
|
|
13
|
+
Global install:
|
|
89
14
|
|
|
90
|
-
|
|
15
|
+
- `npm i -g myte`
|
|
16
|
+
- run with `myte ...`
|
|
91
17
|
|
|
92
|
-
|
|
18
|
+
No install:
|
|
93
19
|
|
|
94
|
-
|
|
20
|
+
- `npx myte@latest ...`
|
|
95
21
|
|
|
96
|
-
|
|
22
|
+
`npm install myte` does not add `myte` to your shell `PATH`. Use `npx myte` or `npm exec myte -- ...` unless you installed globally.
|
|
97
23
|
|
|
98
|
-
|
|
99
|
-
- `npx myte ai "Return a JSON object with risks and next_steps" --json-response`
|
|
100
|
-
- `npm exec myte -- ai "Summarize this file"`
|
|
101
|
-
- `myte ai "Return clean JSON only" --json-response`
|
|
24
|
+
## Requirements
|
|
102
25
|
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
26
|
+
- Node `18+`
|
|
27
|
+
- macOS, Linux, or Windows
|
|
28
|
+
- `MYTE_API_KEY=<project_api_key>` in your shell or workspace `.env`
|
|
29
|
+
- `MYTEAI_API_KEY=<inference_api_key>` only for `myte ai`
|
|
30
|
+
- `git` in `PATH` only for `query --with-diff`
|
|
107
31
|
|
|
108
|
-
|
|
32
|
+
The CLI searches for `.env` in the current folder and then up parent directories.
|
|
109
33
|
|
|
110
|
-
|
|
34
|
+
## Common Commands
|
|
111
35
|
|
|
36
|
+
- `npx myte config --json`
|
|
112
37
|
- `npx myte bootstrap`
|
|
113
|
-
- or `npm exec myte -- bootstrap`
|
|
114
|
-
- or `myte bootstrap`
|
|
115
|
-
|
|
116
|
-
What it does:
|
|
117
|
-
- fetches a project-scoped bootstrap snapshot from the API using your project key
|
|
118
|
-
- validates the current wrapper workspace against the configured repo names
|
|
119
|
-
- writes local files under `MyteCommandCenter/data`
|
|
120
|
-
- writes a normalized public Command Center schema, not raw backend mission/proposal documents
|
|
121
|
-
- mission cards now include richer execution context like `complexity`, `estimated_hours`, `due_date`, `subtasks`, `technical_requirements`, `resources_needed`, `labels`, and normalized `test_cases`
|
|
122
|
-
- excludes internal fields like `_id`, `org_id`, `project_id`, `created_by`, `assigned_to`, and raw `qa_qc_results`
|
|
123
|
-
- if the workspace still has old Command Center artifacts, rerunning current commands prunes legacy outputs like `bootstrap-manifest.json`, `data/qaqc/`, and `data/feedback/` automatically as the new files are written
|
|
124
|
-
|
|
125
|
-
Files written:
|
|
126
|
-
- `MyteCommandCenter/data/project.yml`
|
|
127
|
-
- `MyteCommandCenter/data/phases/*.yml`
|
|
128
|
-
- `MyteCommandCenter/data/epics/*.yml`
|
|
129
|
-
- `MyteCommandCenter/data/stories/*.yml`
|
|
130
|
-
- `MyteCommandCenter/data/missions/*.yml`
|
|
131
|
-
|
|
132
|
-
Useful forms:
|
|
133
|
-
- `npx myte bootstrap --json`
|
|
134
|
-
- `npx myte bootstrap --dry-run --json`
|
|
135
|
-
- `npx myte bootstrap --output-dir ./MyteCommandCenter`
|
|
136
|
-
|
|
137
|
-
## Queue mission QAQC and refresh local QAQC context
|
|
138
|
-
|
|
139
|
-
Run this from any workspace with a valid project key:
|
|
140
|
-
|
|
141
|
-
- `npx myte run-qaqc --mission-ids "M001,M002" --wait --sync`
|
|
142
|
-
- or `npm exec myte -- run-qaqc --mission-ids "M001,M002" --wait --sync`
|
|
143
|
-
- or `myte run-qaqc --mission-ids "M001,M002" --wait --sync`
|
|
144
|
-
|
|
145
|
-
What it does:
|
|
146
|
-
- queues QAQC for up to 10 explicit mission ids through the project-key API surface
|
|
147
|
-
- returns a `batch_id` immediately
|
|
148
|
-
- uses `--wait` to poll the batch until it reaches a terminal state
|
|
149
|
-
- uses `--sync` to refresh `MyteCommandCenter/data/qaqc.yml` after a completed batch
|
|
150
|
-
- on PowerShell, quote comma-separated multi-id values: `--mission-ids "M001,M002"`
|
|
151
|
-
- runs through the dedicated `project_api_qaqc` queue inside the existing Celery service, with a global budget of `20` dispatch starts/minute and `20` live jobs
|
|
152
|
-
- a saturated `run-qaqc --wait` batch can take roughly `5-10` minutes before sync has final data to pull
|
|
153
|
-
|
|
154
|
-
Useful forms:
|
|
155
|
-
- `npx myte run-qaqc --mission-ids M001`
|
|
156
|
-
- `npx myte run-qaqc --mission-ids "M001,M002" --wait`
|
|
157
|
-
- `npx myte run-qaqc --mission-ids "M001,M002" --wait --sync --json`
|
|
158
|
-
|
|
159
|
-
## Update mission status from the IDE
|
|
160
|
-
|
|
161
|
-
- `npx myte mission status --mission-ids "M001,M002" --status done`
|
|
162
|
-
- or `npm exec myte -- mission status --mission-ids "M001,M002" --status done`
|
|
163
|
-
- or `myte mission status --mission-ids "M001,M002" --status done`
|
|
164
|
-
|
|
165
|
-
What it does:
|
|
166
|
-
- updates one or many mission business ids through the project-key API
|
|
167
|
-
- updates the same mission `status` field used by the app board and mission routes
|
|
168
|
-
- accepts `todo`, `in_progress`, and `done` aliases and normalizes them before sending
|
|
169
|
-
- sends the canonical backend mission statuses: `Todo`, `In Progress`, or `Done`
|
|
170
|
-
- only changes mission state; it does not queue QAQC and it does not sync `MyteCommandCenter/data/qaqc.yml`
|
|
171
|
-
|
|
172
|
-
## Sync active mission QAQC context
|
|
173
|
-
|
|
174
|
-
Run this from the wrapper root that contains the project's repo folders:
|
|
175
|
-
|
|
176
38
|
- `npx myte sync-qaqc`
|
|
177
|
-
- or `npm exec myte -- sync-qaqc`
|
|
178
|
-
- or `myte sync-qaqc`
|
|
179
|
-
|
|
180
|
-
What it does:
|
|
181
|
-
- fetches a project-scoped QAQC sync snapshot from the API using your project key
|
|
182
|
-
- works even if `bootstrap` has not been run yet
|
|
183
|
-
- creates `MyteCommandCenter/data/qaqc.yml` automatically if it does not exist
|
|
184
|
-
- syncs only active `Todo` and `In Progress` missions
|
|
185
|
-
- writes a public QAQC summary per mission, not raw `qa_qc_results` or raw batch docs
|
|
186
|
-
- keeps active mission QAQC state in one deterministic file that grows and shrinks with the current working set
|
|
187
|
-
- fully rewrites `MyteCommandCenter/data/qaqc.yml` on every sync and does not delete `MyteCommandCenter/data/missions/*.yml`
|
|
188
|
-
|
|
189
|
-
Files written:
|
|
190
|
-
- `MyteCommandCenter/data/project.yml`
|
|
191
|
-
- `MyteCommandCenter/data/qaqc.yml`
|
|
192
|
-
|
|
193
|
-
Useful forms:
|
|
194
|
-
- `npx myte sync-qaqc --json`
|
|
195
|
-
- `npx myte sync-qaqc --dry-run --json`
|
|
196
|
-
- `npx myte sync-qaqc --output-dir ./MyteCommandCenter`
|
|
197
|
-
|
|
198
|
-
## Sync feedback and PRD context
|
|
199
|
-
|
|
200
|
-
Run this from the wrapper root that contains the project's repo folders:
|
|
201
|
-
|
|
202
39
|
- `npx myte feedback-sync`
|
|
203
|
-
- or `npm exec myte -- feedback-sync`
|
|
204
|
-
- or `myte feedback-sync`
|
|
205
|
-
|
|
206
|
-
What it does:
|
|
207
|
-
- fetches a project-scoped feedback snapshot from the API using your project key
|
|
208
|
-
- defaults to pending feedback; use `--status` when you want a different slice
|
|
209
|
-
- writes one deterministic feedback snapshot under `MyteCommandCenter/data/feedback.yml`
|
|
210
|
-
- keeps feedback metadata plus conversation turns in `feedback.yml`
|
|
211
|
-
- writes full PRD markdown/text into `MyteCommandCenter/PRD/feedback-sync/*.md` and stores a pointer in `feedback.yml`
|
|
212
|
-
- fully replaces the aggregated feedback sync file so stale feedback does not accumulate locally
|
|
213
|
-
- does not delete `MyteCommandCenter/data/missions/*.yml`
|
|
214
|
-
|
|
215
|
-
Files written:
|
|
216
|
-
- `MyteCommandCenter/data/project.yml`
|
|
217
|
-
- `MyteCommandCenter/data/feedback.yml`
|
|
218
|
-
- `MyteCommandCenter/PRD/feedback-sync/*.md`
|
|
219
|
-
|
|
220
|
-
Useful forms:
|
|
221
|
-
- `npx myte feedback-sync --json`
|
|
222
|
-
- `npx myte feedback-sync --dry-run --json`
|
|
223
|
-
- `npx myte feedback-sync --status Pending --source User`
|
|
224
|
-
|
|
225
|
-
## Sync and iterate on mission suggestions
|
|
226
|
-
|
|
227
40
|
- `npx myte suggestions sync`
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
|
|
231
|
-
What it does:
|
|
232
|
-
- fetches the project suggestion workflow snapshot with the project API key
|
|
233
|
-
- writes one deterministic workflow file at `MyteCommandCenter/data/mission-ops.yml`
|
|
234
|
-
- keeps active first-come-first-serve queue state in `queue`
|
|
235
|
-
- keeps full lineage for active and terminal items in `threads[]`
|
|
236
|
-
- `suggestions sync` should be the first step before ideating locally so new submissions start from the latest aggregated thread state
|
|
237
|
-
- preserves top-level `workspace.<actor_scope>` blocks and per-thread `workspace.<actor_scope>` drafts across sync so coding agents can keep local drafts in one file
|
|
238
|
-
- synced `threads[]` include aggregate diffs, conflict summaries, and archived decision lineage so local agents do not need to reconstruct review state
|
|
239
|
-
|
|
240
|
-
Create/revise/review:
|
|
241
|
-
- `npx myte suggestions create --file ./changes/create.yml`
|
|
242
|
-
- `npx myte suggestions revise --file ./changes/revise.yml`
|
|
243
|
-
- `npx myte suggestions review --file ./changes/review.yml`
|
|
244
|
-
|
|
245
|
-
Local single-file mode:
|
|
246
|
-
- `suggestions create` can read local `workspace.<actor_scope>.draft_submissions[]` from `mission-ops.yml`
|
|
247
|
-
- `suggestions revise` can read local per-thread `workspace.<actor_scope>` draft blocks when `draft_status` is `submit`, `ready`, or `pending_submit`
|
|
248
|
-
- `suggestions review` is owner-only and can read local per-thread owner review blocks using `review_action`, `review_note`, `final_change_set`, and `review_revision`
|
|
249
|
-
- `suggestions review` requires an explicit `review_action` of `request_changes`, `approve`, or `reject`
|
|
250
|
-
- there is no persisted save-draft review action
|
|
251
|
-
- suggestion notifications deep-link into the project Reviews workspace for the affected thread
|
|
252
|
-
- create/revise/review resync `mission-ops.yml` by default unless `--no-sync` is passed
|
|
253
|
-
- create/revise/review auto-send idempotency and client-session metadata so retries stay deterministic without manual headers
|
|
254
|
-
- `--print-context` prints the JSON payload that would be submitted for create/revise/review
|
|
255
|
-
- after successful review approvals, the CLI rewrites the affected `MyteCommandCenter/data/missions/*.yml` cards automatically
|
|
256
|
-
|
|
257
|
-
Useful forms:
|
|
258
|
-
- `npx myte suggestions sync --json`
|
|
259
|
-
- `npx myte suggestions create --file ./changes/create.yml --json`
|
|
260
|
-
- `npx myte suggestions create`
|
|
261
|
-
- `npx myte suggestions revise`
|
|
262
|
-
- `npx myte suggestions review`
|
|
263
|
-
|
|
264
|
-
## Query with deterministic diff context
|
|
265
|
-
|
|
266
|
-
Example:
|
|
267
|
-
|
|
268
|
-
- `npx myte query "What changed in logging?" --with-diff`
|
|
269
|
-
- or `npm exec myte -- query "What changed in logging?" --with-diff`
|
|
270
|
-
- or `npx myte@latest query "What changed in logging?" --with-diff`
|
|
271
|
-
|
|
272
|
-
When `--with-diff` is enabled, the CLI:
|
|
273
|
-
- resolves project config from the API using your project API key
|
|
274
|
-
- finds the configured repos locally
|
|
275
|
-
- compares the current branch against `origin/main` or `origin/master`
|
|
276
|
-
- includes committed branch changes, staged changes, unstaged changes, and untracked files
|
|
277
|
-
|
|
278
|
-
If diff context is missing, run `myte config --json` and check:
|
|
279
|
-
- repo folder names match the configured repo names
|
|
280
|
-
- you are running inside the repo or a parent workspace
|
|
281
|
-
- `git` is installed and the repo has `origin/main` or `origin/master` available
|
|
282
|
-
|
|
283
|
-
If only part of your repos are resolved, the CLI still runs and includes that status in:
|
|
284
|
-
- command output warnings (`Repo "<name>": ...`)
|
|
285
|
-
- payload `diff_diagnostics` (in `--print-context` and sent with `--with-diff`)
|
|
286
|
-
- a structured message in additional context that explains per-repo outcomes.
|
|
287
|
-
|
|
288
|
-
## Deterministic PRD upload
|
|
289
|
-
|
|
290
|
-
Create the PRD locally first, then upload it directly to Myte Cody as feedback.
|
|
291
|
-
|
|
292
|
-
Examples:
|
|
293
|
-
|
|
294
|
-
- File path:
|
|
295
|
-
- `npx myte create-prd ./drafts/auth-prd.md`
|
|
296
|
-
- `npx myte create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md`
|
|
297
|
-
- or `npm exec myte -- create-prd ./drafts/auth-prd.md`
|
|
298
|
-
- or `npm exec myte -- create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md`
|
|
299
|
-
- or `npx myte@latest create-prd ./drafts/auth-prd.md`
|
|
300
|
-
- From stdin on macOS/Linux:
|
|
301
|
-
- `cat ./drafts/auth-prd.md | npx myte create-prd --stdin`
|
|
302
|
-
- From stdin on PowerShell:
|
|
303
|
-
- `Get-Content -Raw .\drafts\auth-prd.md | npx myte create-prd --stdin`
|
|
304
|
-
|
|
305
|
-
This path is deterministic. It does not generate a PRD with an LLM.
|
|
306
|
-
|
|
307
|
-
Preferred file format matches `script/MyteCodyPRD.py`:
|
|
308
|
-
|
|
309
|
-
````markdown
|
|
310
|
-
```myte-kanban
|
|
311
|
-
{
|
|
312
|
-
"title": "Authentication PRD",
|
|
313
|
-
"description": "Short card summary shown in the feedback list",
|
|
314
|
-
"priority": "Medium",
|
|
315
|
-
"assigned_user_email": "dev@mytegroup.com",
|
|
316
|
-
"tags": ["mission-board"]
|
|
317
|
-
}
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
# PRD
|
|
321
|
-
|
|
322
|
-
Detailed markdown body here.
|
|
323
|
-
````
|
|
324
|
-
|
|
325
|
-
Raw markdown also works:
|
|
326
|
-
- include a top-level `# Title`
|
|
327
|
-
- or pass `--title "..."` when using `--stdin`
|
|
328
|
-
- pass `--description "..."` if you want an explicit feedback description/card summary
|
|
329
|
-
|
|
330
|
-
Deterministic field mapping:
|
|
331
|
-
- Required: a valid project API key, the PRD markdown body, and a title.
|
|
332
|
-
- One command can upload one file or many files. Single uploads hit `/project-assistant/create-prd`; multi-file uploads automatically use the batch upload path.
|
|
333
|
-
- `title` maps to the feedback title.
|
|
334
|
-
- `description` maps to the feedback description/card summary. Legacy `feedback_text` is still accepted for older payloads.
|
|
335
|
-
- The context blob that becomes the stored PRD document is the full `prd_markdown`, or the markdown body after the `myte-kanban` metadata block when using `ticket_markdown`.
|
|
336
|
-
- That PRD markdown blob is stored verbatim as PRD content.
|
|
337
|
-
- The backend uses that stored PRD markdown/text to generate the downloadable PRD DOCX.
|
|
338
|
-
- Additional structured fields should go in the `myte-kanban` JSON block. Supported keys include `priority`, `status`, `tags`, `assigned_user_email`, `assigned_user_id`, `due_date`, `repo_name`, `repo_id`, `preview_url`, and `source`.
|
|
339
|
-
|
|
340
|
-
To inspect the exact payload before sending it:
|
|
341
|
-
- `npx myte create-prd ./drafts/auth-prd.md --print-context`
|
|
342
|
-
- `npx myte create-prd ./drafts/auth-prd.md ./drafts/billing-prd.md --print-context`
|
|
343
|
-
- `npx myte create-prd ./drafts/auth-prd.md --description "Short card summary" --print-context`
|
|
344
|
-
|
|
345
|
-
## Team updates
|
|
346
|
-
|
|
347
|
-
Use `update-team` to add a project comment through the project-key Project Assistant surface.
|
|
348
|
-
|
|
349
|
-
Examples:
|
|
350
|
-
|
|
351
|
-
- `npx myte update-team "Backend deploy completed; QAQC rerun queued."`
|
|
352
|
-
- `npm exec myte -- update-team "Frontend review is ready for sign-off."`
|
|
353
|
-
- `Get-Content -Raw .\notes\team-update.md | npx myte update-team --stdin`
|
|
354
|
-
|
|
355
|
-
What it sends:
|
|
356
|
-
|
|
357
|
-
- `POST /api/project-assistant/project-comment`
|
|
358
|
-
- payload: `{ "content": "..." }`
|
|
359
|
-
|
|
360
|
-
Useful forms:
|
|
361
|
-
|
|
362
|
-
- `npx myte update-team "Backend deploy completed." --print-context`
|
|
363
|
-
- `npx myte update-team "Backend deploy completed." --json`
|
|
364
|
-
|
|
365
|
-
## Owner updates
|
|
366
|
-
|
|
367
|
-
Use `update-owner` to send a direct project-owner email through the project-key Project Assistant surface.
|
|
368
|
-
|
|
369
|
-
Examples:
|
|
370
|
-
|
|
41
|
+
- `npx myte query "Summarize the current branch changes" --with-diff`
|
|
42
|
+
- `npx myte create-prd ./drafts/auth-prd.md`
|
|
43
|
+
- `npx myte update-team "Backend deploy completed."`
|
|
371
44
|
- `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
|
|
372
|
-
- `npx myte update-owner --subject "Board cleanup needed" --body-markdown "## Status\n- Phase 2 review pending"`
|
|
373
|
-
- `Get-Content -Raw .\updates\owner.md | npx myte update-owner --stdin --subject "Owner update"`
|
|
374
|
-
|
|
375
|
-
What it sends:
|
|
376
|
-
|
|
377
|
-
- `POST /api/project-assistant/update-owner`
|
|
378
|
-
- payload: `{ "subject": "...", "body_markdown": "..." }`
|
|
379
|
-
|
|
380
|
-
Notes:
|
|
381
|
-
|
|
382
|
-
- the owner recipient is resolved from the authenticated project
|
|
383
|
-
- the CLI cannot set an arbitrary recipient address
|
|
384
|
-
- the backend sends the email through Myte SMTP and stores a durable send record
|
|
385
|
-
|
|
386
|
-
## Client update drafts
|
|
387
|
-
|
|
388
|
-
Use `update-client` to draft a branded client update email for owner review.
|
|
389
|
-
|
|
390
|
-
Examples:
|
|
391
|
-
|
|
392
45
|
- `npx myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
|
|
393
|
-
- `npx myte update-client --subject "Weekly client update" --body-markdown "## Progress\n- Login complete" --target-contact-ids 507f1f77bcf86cd799439011,507f1f77bcf86cd799439012`
|
|
394
|
-
- `Get-Content -Raw .\updates\week-12.md | npx myte update-client --stdin --subject "Weekly client update"`
|
|
395
46
|
|
|
396
|
-
|
|
47
|
+
## Behavior
|
|
397
48
|
|
|
398
|
-
- `
|
|
399
|
-
-
|
|
49
|
+
- `bootstrap`, `sync-qaqc`, `feedback-sync`, and `suggestions sync` write project-scoped local context under `MyteCommandCenter` in the current workspace unless `--output-dir` is provided.
|
|
50
|
+
- `query --with-diff` is stricter than the snapshot commands. It requires project repositories to be configured by the project owner or builder, and it requires at least one matching local project repo to be resolved for diff collection.
|
|
51
|
+
- If diff-scoped repo configuration is missing or no local project repo can be resolved, `query --with-diff` exits with an error instead of silently dropping diff context.
|
|
52
|
+
- Most markdown files are excluded from diff context by default so code and runtime configuration changes dominate the payload. Key instruction files such as `README.md` and `AGENTS.md` remain eligible.
|
|
400
53
|
|
|
401
|
-
|
|
54
|
+
## Commands
|
|
402
55
|
|
|
403
|
-
-
|
|
404
|
-
-
|
|
405
|
-
- `
|
|
406
|
-
-
|
|
407
|
-
-
|
|
408
|
-
-
|
|
56
|
+
- `config`: verify the project key and inspect local repo resolution
|
|
57
|
+
- `bootstrap`: write project board context locally
|
|
58
|
+
- `run-qaqc`: queue QAQC for explicit mission ids
|
|
59
|
+
- `mission status`: update mission state
|
|
60
|
+
- `sync-qaqc`: refresh active mission QAQC context locally
|
|
61
|
+
- `feedback-sync`: refresh feedback and PRD context locally
|
|
62
|
+
- `suggestions sync|create|revise|review`: work with mission suggestion workflow state
|
|
63
|
+
- `query`: ask the project assistant, optionally with local diff context
|
|
64
|
+
- `ai`: use the Myte AI gateway
|
|
65
|
+
- `create-prd`: upload deterministic PRD markdown
|
|
66
|
+
- `update-team`, `update-owner`, `update-client`: send project updates through the project-key surface
|
|
409
67
|
|
|
410
|
-
##
|
|
68
|
+
## Notes
|
|
411
69
|
|
|
412
|
-
-
|
|
413
|
-
- `
|
|
414
|
-
- `npx myte mission status --mission-ids "M001,M002" --status done`
|
|
415
|
-
- `npx myte sync-qaqc`
|
|
416
|
-
- `npx myte feedback-sync`
|
|
417
|
-
- `npx myte suggestions sync`
|
|
418
|
-
- `npx myte suggestions create --file ./changes/create.yml`
|
|
419
|
-
- `npx myte suggestions revise`
|
|
420
|
-
- `npx myte suggestions review`
|
|
421
|
-
- `npx myte config --json`
|
|
422
|
-
- `npx myte query "Summarize the current branch changes" --with-diff`
|
|
423
|
-
- `npx myte create-prd ./drafts/auth-prd.md`
|
|
424
|
-
- `npx myte update-team "Backend deploy completed; QAQC rerun queued."`
|
|
425
|
-
- `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md`
|
|
426
|
-
- `npx myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md`
|
|
70
|
+
- The package ships the CLI only. Internal rollout notes, validation logs, and project-specific operating docs are not part of the public npm contract.
|
|
71
|
+
- The public `myte` package is the supported entrypoint. The scoped `@mytegroupinc/myte-core` package is the implementation dependency used by the wrapper.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myte",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Myte developer CLI
|
|
3
|
+
"version": "0.0.20",
|
|
4
|
+
"description": "Myte developer CLI.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"files": [
|
|
@@ -16,6 +16,6 @@
|
|
|
16
16
|
"node": ">=18"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@mytegroupinc/myte-core": "0.0.
|
|
19
|
+
"@mytegroupinc/myte-core": "0.0.20"
|
|
20
20
|
}
|
|
21
21
|
}
|