myte 0.0.47 → 0.0.49

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 CHANGED
@@ -19,23 +19,34 @@ No install:
19
19
 
20
20
  - `npx myte@latest ...`
21
21
 
22
- `npm install myte` does not add `myte` to your shell `PATH`. Use `npx myte` or `npm exec myte -- ...` unless you installed globally.
23
-
24
- ## Requirements
25
-
26
- - Node `18+`
22
+ `npm install myte` does not add `myte` to your shell `PATH`. Use `npx myte` or `npm exec myte -- ...` unless you installed globally.
23
+
24
+ The npm line `added N packages` is a dependency-graph count, not a count of
25
+ files or Myte features. The public `myte` package is a small command wrapper,
26
+ `@mytegroupinc/myte-core` contains the CLI implementation, and `undici`
27
+ provides portable proxy support. A fresh `0.0.48` install therefore normally
28
+ contains three graph nodes; npm may report fewer on an update when dependencies
29
+ are already present or deduplicated. Run `myte info` or
30
+ `myte --version --verbose` to inspect the exact topology.
31
+
32
+ ## Requirements
33
+
34
+ - Node `18.17+`
27
35
  - macOS, Linux, or Windows
28
36
  - `MYTE_API_KEY=<project_api_key>` in your shell or workspace `.env`
29
37
  - `MYTEAI_API_KEY=<inference_api_key>` only for `myte ai`
30
38
  - `MYTEAI_API_KEY=<inference_api_key>` for `mytecody`
31
39
  - `git` in `PATH` only for `query --with-diff`
32
- - No runtime npm dependencies beyond the Myte packages themselves.
40
+ - Standard `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` variables are honored
41
+ through the core transport dependency.
33
42
 
34
43
  The CLI searches for `.env` in the current folder and then up parent directories.
35
44
 
36
45
  ## Common Commands
37
46
 
38
- - `npx myte config --json`
47
+ - `npx myte config --json`
48
+ - `npx myte doctor --json`
49
+ - `npx myte info`
39
50
  - `npx myte bootstrap`
40
51
  - `npx myte sync-qaqc`
41
52
  - `npx myte feedback-sync`
@@ -60,8 +71,9 @@ The CLI searches for `.env` in the current folder and then up parent directories
60
71
  - `npx myte feedback apply --file ./MyteCommandCenter/reviews/feedback/<id>-edit.yml`
61
72
  - `npx myte suggestions sync`
62
73
  - `npx myte mission archive --mission-ids "M001" --reason "Duplicate disposable mission"`
63
- - `npx myte query "Summarize the current branch changes" --with-diff`
74
+ - `npx myte query "Summarize the current branch changes" --with-diff --json`
64
75
  - `npx myte create-prd ./drafts/auth-prd.md --confirm-write --approval-artifact ./drafts/auth-prd.md`
76
+ - `npx myte create-prd ./drafts/proposal.md ./drafts/harness.md ./drafts/security.md --document-set --confirm-write --approval-artifact ./drafts/approval.md`
65
77
  - `npx myte update-team "Backend deploy completed." --confirm-write --approval-artifact ./updates/team.md`
66
78
  - `npx myte update-owner --subject "QAQC progress" --body-file ./updates/owner.md --confirm-write --approval-artifact ./updates/owner.md`
67
79
  - `npx myte update-client --subject "Weekly client update" --body-file ./updates/week-12.md --confirm-write --approval-artifact ./updates/week-12.md`
@@ -72,6 +84,17 @@ The CLI searches for `.env` in the current folder and then up parent directories
72
84
 
73
85
  ## Behavior
74
86
 
87
+ - `doctor` performs read-only package, credential-presence, DNS, direct
88
+ TCP/TLS, authenticated config, proxy, and workspace checks. It reports the
89
+ failing layer without printing the API key, proxy URL, request body, or
90
+ response body.
91
+ - Network failures distinguish DNS, TCP, TLS/certificate, timeout, captive
92
+ portal/non-JSON, authentication, authorization, rate-limit, and server
93
+ response failures. Do not disable TLS verification to work around a failed
94
+ diagnostic.
95
+ - Safe transient reads and query polling use bounded retries. Query creation
96
+ uses one stable idempotency key across ambiguous retries so a lost response
97
+ cannot create duplicate inference jobs.
75
98
  - `bootstrap`, `sync-qaqc`, `feedback-sync`, and `suggestions sync` write project-scoped local context under `MyteCommandCenter` in the current workspace unless `--output-dir` is provided.
76
99
  - `bootstrap` writes mission cards and mission suggestion thread state together; agents should run it before looking for mission or suggestion ids.
77
100
  - `mission status` is active-state only (`todo`, `in_progress`, `done`). Use `mission archive` for project-key lifecycle archival; restore archived missions from the web archived-board view.
@@ -119,7 +142,13 @@ Minimum artifact contents:
119
142
  Batch guidance:
120
143
 
121
144
  - Mission edit/create batches use `myte suggestions create` or `myte suggestions revise`. The artifact must list each item. For edits include `change_type: update`, the existing `mission_id`, and changed fields. For new missions include `change_type: create`, title, description, and acceptance details. For revisions include each `suggestion_id` and expected revision.
122
- - PRD batches use one `myte create-prd fileA.md fileB.md ...`; the artifact must list each PRD file/title/client ref and `batch_count` must match the number of PRD items.
145
+ - Without `--document-set`, `myte create-prd fileA.md fileB.md ...` preserves
146
+ the existing behavior and creates one independent Feedback item per file.
147
+ - With `--document-set`, one to three Markdown files create one Feedback item
148
+ with ordered, independently readable PRD documents. Each document is
149
+ validated locally against the 250,000-character server contract. The
150
+ approval artifact must list every file/title/client ref and the matching
151
+ document count.
123
152
  - Feedback submit/revise/comment artifacts are usually the same YAML or markdown file being submitted. If the command uses inline text or stdin, create a separate approval memo with the feedback id or request id and exact content.
124
153
  - Team, owner, and client update artifacts should name the audience and include the exact message body or a complete summary. Client updates should include target contact ids when used.
125
154
  - `feedback review --request-ids`, `feedback move --feedback-ids`, `mission status --mission-ids`, `mission archive --mission-ids`, and `run-qaqc --mission-ids` are batched governed writes, but they are marked `Not required` and should not receive approval artifact flags.
@@ -141,7 +170,7 @@ Recommended agent flow:
141
170
  1. Run `myte config --json` to confirm the project, API base, configured repos, and local workspace detection.
142
171
  2. Run `myte bootstrap --json`, `myte feedback-sync --json`, or `myte sync-qaqc --json` to hydrate local context under `MyteCommandCenter`. `bootstrap` also writes `MyteCommandCenter/AgentsMyteAPI.md`, the local action matrix agents should consult before mutating Myte state. Use `myte suggestions sync --json` only for narrow mission-review refreshes after bootstrap.
143
172
  3. Use `myte query "<goal/evidence/ask>" --with-diff` when local code changes matter.
144
- 4. Use `myte create-prd <file.md> --confirm-write --approval-artifact <path>` only after the PRD markdown has been reviewed by a human. The file body is the PRD document; `--description` is only the short board/card summary.
173
+ 4. Use `myte create-prd <file.md> --confirm-write --approval-artifact <path>` only after the PRD markdown has been reviewed by a human. Add `--document-set` for one parent with up to three ordered documents. Without that flag, multiple files remain independent PRDs. The file body is the PRD document; `--description` is only the short board/card summary.
145
174
  5. Use `myte feedback status|edit|assign|archive|refine` to create reviewable local artifacts. `feedback submit` and `feedback revise` require an approval artifact; `feedback review` does not because the backend owner/delegate review membrane is the approval control.
146
175
  6. Use `myte feedback move` only for direct board movement that is intentionally audited, with a clear `--reason`; use `--feedback-ids` for batch moves or batch archive.
147
176
  7. Use `myte suggestions create|revise|review` for mission review threads. `suggestions create` and `suggestions revise` require an approval artifact; `suggestions review` does not because the backend Project Owner/elevated-delegate decision is the approval control. Valid create `change_type` values are exactly `update` and `create`; revisions keep the existing thread type and must not include `change_type`.
@@ -157,7 +186,33 @@ PRD document contract:
157
186
  - The UI renders the PRD from the stored document text, not from the card description.
158
187
  - Renderer-friendly PRDs should use one `# Title`, `##` sections, concise paragraphs, bullets, GitHub tables/checklists where useful, and fenced code blocks only for real code/config.
159
188
  - Do not wrap the whole PRD in a ` ```markdown ` fence. Do not use raw HTML, inline style blocks, or decorative banners.
160
- - PRD identity is explicit: `myte create-prd` creates a PRD asset with PRD metadata. Generic uploaded `.md`, `.docx`, `.pdf`, and `.txt` files remain normal attachments unless explicitly created as PRDs.
189
+ - PRD identity is explicit: `myte create-prd` creates a PRD asset with PRD metadata. Generic uploaded `.md`, `.docx`, `.pdf`, and `.txt` files remain normal attachments unless explicitly created as PRDs.
190
+ - Document-set uploads preserve the exact source Markdown and also store a
191
+ normalized rendering copy. Rendering cleanup never silently rewrites the
192
+ approved source.
193
+
194
+ ## Connectivity Diagnostics
195
+
196
+ Run this before assuming an API key or server failure:
197
+
198
+ ```bash
199
+ myte doctor --json
200
+ ```
201
+
202
+ Interpret the first failed layer:
203
+
204
+ - `dns`: the API hostname could not be resolved.
205
+ - `tcp`: the host resolved but port 443 could not be reached.
206
+ - `tls`: the secure connection was reset or certificate validation failed
207
+ before an HTTP request reached Myte.
208
+ - `http`: Myte or an intermediary returned a status or non-JSON response.
209
+ - `authentication` / `authorization`: the API received the request and
210
+ rejected the credential or capability.
211
+
212
+ On restricted Wi-Fi, complete any captive-portal login, configure the
213
+ network's supported proxy/VPN, or retry on another network. The CLI honors
214
+ `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY`; it never recommends disabling
215
+ certificate verification.
161
216
 
162
217
  Preferred file shape:
163
218
 
package/package.json CHANGED
@@ -1,24 +1,28 @@
1
1
  {
2
2
  "name": "myte",
3
- "version": "0.0.47",
3
+ "version": "0.0.49",
4
4
  "description": "Myte developer CLI.",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "files": [
8
- "README.md",
9
- "THIRD_PARTY_NOTICES.md",
10
- "TRADEMARKS.md",
11
- "bin",
12
- "package.json"
8
+ "README.md",
9
+ "THIRD_PARTY_NOTICES.md",
10
+ "TRADEMARKS.md",
11
+ "bin",
12
+ "scripts",
13
+ "package.json"
13
14
  ],
14
- "bin": {
15
- "myte": "bin/myte.js",
16
- "mytecody": "bin/mytecody.js"
17
- },
18
- "engines": {
19
- "node": ">=18"
15
+ "bin": {
16
+ "myte": "bin/myte.js",
17
+ "mytecody": "bin/mytecody.js"
18
+ },
19
+ "scripts": {
20
+ "postinstall": "node scripts/postinstall.js"
21
+ },
22
+ "engines": {
23
+ "node": ">=18.17"
20
24
  },
21
25
  "dependencies": {
22
- "@mytegroupinc/myte-core": "0.0.47"
26
+ "@mytegroupinc/myte-core": "0.0.49"
23
27
  }
24
28
  }
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+
3
+ console.log([
4
+ "Myte CLI installed successfully.",
5
+ "Included: myte and mytecody commands, the Myte API client, and portable proxy support.",
6
+ "The MyteCody engine and client assets are downloaded on first `mytecody` coding run.",
7
+ "Run `myte --help` to get started.",
8
+ ].join("\n"));