@noodleseed/agent-kit 0.30.1 → 0.32.0
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/manifest.json +19 -9
- package/package.json +3 -2
- package/skills/claude-code/SKILL.md +9 -2
- package/skills/claude-code/examples/hello/README.md +5 -0
- package/skills/claude-code/references/cli-commands.md +1 -0
- package/skills/claude-code/references/deploy-and-ops.md +5 -0
- package/skills/claude-code/references/feedback.md +67 -0
- package/skills/codex/SKILL.md +9 -2
- package/skills/codex/examples/hello/README.md +5 -0
- package/skills/codex/references/cli-commands.md +1 -0
- package/skills/codex/references/deploy-and-ops.md +5 -0
- package/skills/codex/references/feedback.md +67 -0
package/manifest.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"packageVersion": "0.
|
|
2
|
+
"packageVersion": "0.32.0",
|
|
3
3
|
"files": [
|
|
4
4
|
{
|
|
5
5
|
"path": "skills/codex/SKILL.md",
|
|
6
|
-
"sha256": "
|
|
6
|
+
"sha256": "5f2acbe3b06a5bb88629267f361331c3644378ebd90741db7a1c6c1ce0a257df",
|
|
7
7
|
"agentTarget": "codex"
|
|
8
8
|
},
|
|
9
9
|
{
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "skills/codex/references/cli-commands.md",
|
|
16
|
-
"sha256": "
|
|
16
|
+
"sha256": "8d3a9aa1d68b7d5edc72605cc1f2b33e63b938ce768531fcc43cf681a264921e",
|
|
17
17
|
"agentTarget": "codex"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"path": "skills/codex/references/deploy-and-ops.md",
|
|
66
|
-
"sha256": "
|
|
66
|
+
"sha256": "17d56c27d31caf3792e16d8462986b4624335480d22a2e1483fe21745d0bd56c",
|
|
67
67
|
"agentTarget": "codex"
|
|
68
68
|
},
|
|
69
69
|
{
|
|
@@ -81,6 +81,11 @@
|
|
|
81
81
|
"sha256": "69ab3b0e85454f3d5df5f270b760216de7b1a69803a2f081447bc27bb634c524",
|
|
82
82
|
"agentTarget": "codex"
|
|
83
83
|
},
|
|
84
|
+
{
|
|
85
|
+
"path": "skills/codex/references/feedback.md",
|
|
86
|
+
"sha256": "114e6825123a0a0496b4909d9898f539fd2706af806c5882b10d0a941835a1c8",
|
|
87
|
+
"agentTarget": "codex"
|
|
88
|
+
},
|
|
84
89
|
{
|
|
85
90
|
"path": "skills/codex/examples/acme-bistro/README.md",
|
|
86
91
|
"sha256": "2bcf803ea2407479ddc70644a79ad503335880fd8439ed673b17c8d50e7cb59f",
|
|
@@ -328,7 +333,7 @@
|
|
|
328
333
|
},
|
|
329
334
|
{
|
|
330
335
|
"path": "skills/codex/examples/hello/README.md",
|
|
331
|
-
"sha256": "
|
|
336
|
+
"sha256": "82fbbaa49e6eae064fffb4ea59a45a17cf350075780ff3e386b92b7f72a8201d",
|
|
332
337
|
"agentTarget": "codex"
|
|
333
338
|
},
|
|
334
339
|
{
|
|
@@ -378,7 +383,7 @@
|
|
|
378
383
|
},
|
|
379
384
|
{
|
|
380
385
|
"path": "skills/claude-code/SKILL.md",
|
|
381
|
-
"sha256": "
|
|
386
|
+
"sha256": "5c4f947b83e99e5b0c536ed243ba6702041e7f93d3aff091405b8f4109779a9e",
|
|
382
387
|
"agentTarget": "claude-code"
|
|
383
388
|
},
|
|
384
389
|
{
|
|
@@ -388,7 +393,7 @@
|
|
|
388
393
|
},
|
|
389
394
|
{
|
|
390
395
|
"path": "skills/claude-code/references/cli-commands.md",
|
|
391
|
-
"sha256": "
|
|
396
|
+
"sha256": "8d3a9aa1d68b7d5edc72605cc1f2b33e63b938ce768531fcc43cf681a264921e",
|
|
392
397
|
"agentTarget": "claude-code"
|
|
393
398
|
},
|
|
394
399
|
{
|
|
@@ -438,7 +443,7 @@
|
|
|
438
443
|
},
|
|
439
444
|
{
|
|
440
445
|
"path": "skills/claude-code/references/deploy-and-ops.md",
|
|
441
|
-
"sha256": "
|
|
446
|
+
"sha256": "17d56c27d31caf3792e16d8462986b4624335480d22a2e1483fe21745d0bd56c",
|
|
442
447
|
"agentTarget": "claude-code"
|
|
443
448
|
},
|
|
444
449
|
{
|
|
@@ -456,6 +461,11 @@
|
|
|
456
461
|
"sha256": "69ab3b0e85454f3d5df5f270b760216de7b1a69803a2f081447bc27bb634c524",
|
|
457
462
|
"agentTarget": "claude-code"
|
|
458
463
|
},
|
|
464
|
+
{
|
|
465
|
+
"path": "skills/claude-code/references/feedback.md",
|
|
466
|
+
"sha256": "114e6825123a0a0496b4909d9898f539fd2706af806c5882b10d0a941835a1c8",
|
|
467
|
+
"agentTarget": "claude-code"
|
|
468
|
+
},
|
|
459
469
|
{
|
|
460
470
|
"path": "skills/claude-code/examples/acme-bistro/README.md",
|
|
461
471
|
"sha256": "2bcf803ea2407479ddc70644a79ad503335880fd8439ed673b17c8d50e7cb59f",
|
|
@@ -703,7 +713,7 @@
|
|
|
703
713
|
},
|
|
704
714
|
{
|
|
705
715
|
"path": "skills/claude-code/examples/hello/README.md",
|
|
706
|
-
"sha256": "
|
|
716
|
+
"sha256": "82fbbaa49e6eae064fffb4ea59a45a17cf350075780ff3e386b92b7f72a8201d",
|
|
707
717
|
"agentTarget": "claude-code"
|
|
708
718
|
},
|
|
709
719
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noodleseed/agent-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Self-checking, self-updating agent skills for the Noodle Seed CLI. Authored in this repo by @noodle-borg/agent-kit; this is the published, independently-versioned canonical skills artifact the CLI fetches and verifies.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"mcp",
|
|
34
34
|
"agent-skills",
|
|
35
35
|
"codex",
|
|
36
|
-
"claude-code"
|
|
36
|
+
"claude-code",
|
|
37
|
+
"cursor"
|
|
37
38
|
]
|
|
38
39
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: noodle-seed
|
|
3
3
|
description: Use when building, validating, testing, deploying, or operating a local or hosted Noodle Seed MCP server or app authored in TypeScript with the noodle CLI.
|
|
4
|
-
version: 0.
|
|
5
|
-
hash:
|
|
4
|
+
version: 0.32.0
|
|
5
|
+
hash: 9e69b4cf0440dc2d
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Noodle Seed
|
|
@@ -11,6 +11,8 @@ Build, validate, test, deploy, and operate Noodle Seed MCP servers and apps auth
|
|
|
11
11
|
|
|
12
12
|
Use this skill for project-local Noodle Seed authoring in Claude Code; preserve generated/user instruction boundaries.
|
|
13
13
|
|
|
14
|
+
**Installed-plugin execution.** When this skill is supplied by the Noodle Developer plugin, preserve the managed invocation path established by the plugin bootstrap and invoke every `noodle` command through that host bundle's managed launcher. Do not install or update a global CLI. Noodle guides and operates the lifecycle; you write and test the application source in the user's project.
|
|
15
|
+
|
|
14
16
|
## Golden path
|
|
15
17
|
|
|
16
18
|
This CLI is agent-native: the cold-agent-path commands speak the `--json` envelope (hosted admin/ops commands are still being normalized). Drive the loop by parsing machine state, not human prose. The full envelope, exit codes, and output modes are in `references/agent-contract.md`.
|
|
@@ -49,6 +51,11 @@ Scan all of these during discovery; open in full the ones your task touches:
|
|
|
49
51
|
- `references/publishing.md` — submit to the ChatGPT apps directory and Claude connectors directory.
|
|
50
52
|
- `references/chatgpt-compliance.md` — the OpenAI Apps SDK pre-submission checklist (beyond the metadata gate): conversational value, helpful-UI-only, in-chat completion, UI guidelines, domain guardrails, privacy.
|
|
51
53
|
- `references/examples.md` — flagship example index and a canonical `server.ts`.
|
|
54
|
+
- `references/feedback.md` — send sanitized product feedback to the Noodle Seed team with `noodle feedback`, proactively, whenever you discover a bug, gap, or improvement.
|
|
55
|
+
|
|
56
|
+
## Product feedback
|
|
57
|
+
|
|
58
|
+
When you discover a bug, missing capability, misleading doc, or improvement idea in the CLI, SDK, or any part of Noodle Seed, send it in the moment with `noodle feedback` — sanitized per `references/feedback.md` (never customer code, secrets, or personal data), one submission per finding.
|
|
52
59
|
|
|
53
60
|
## Safety
|
|
54
61
|
|
|
@@ -5,6 +5,11 @@ connectors, secrets, flows, widgets, or handoff policy. It still uses the curren
|
|
|
5
5
|
so new authors see where server-level branding belongs. Use it to smoke the author loop
|
|
6
6
|
(`noodle validate` / `noodle dev`) or a first deploy.
|
|
7
7
|
|
|
8
|
+
When an installed Noodle Developer plugin drives this example, its skill runs these logical
|
|
9
|
+
`noodle` commands through the plugin-managed, version-pinned launcher and isolated host profile.
|
|
10
|
+
Do not install or update a global CLI: the coding agent writes and tests this source while Noodle
|
|
11
|
+
guides and operates the validate, preview, deploy, inspect, and debug workflow.
|
|
12
|
+
|
|
8
13
|
```sh
|
|
9
14
|
noodle dev examples/hello/src/server.ts --app hello
|
|
10
15
|
noodle deploy examples/hello/src/server.ts --org acme --app hello
|
|
@@ -63,6 +63,7 @@ Every `noodle` command, grouped by area. Local authoring commands (`validate`, `
|
|
|
63
63
|
| `noodle login` | Authenticate with Noodle Seed Cloud. |
|
|
64
64
|
| `noodle logout` | Clear saved credentials. |
|
|
65
65
|
| `noodle whoami` | Print the current authenticated user. |
|
|
66
|
+
| `noodle feedback` | Send sanitized product feedback (bug, idea, docs gap) to the Noodle Seed team. |
|
|
66
67
|
| `noodle list` | Removed — promoted to `deployments list` (prints the recovery pointer and exits 2). |
|
|
67
68
|
| `noodle github` | Connect, inspect, or disconnect the GitHub repository behind an app’s GitHub-native deploys (`connect`/`status`/`disconnect`; `connect` opens a browser install, `--repo` for headless). |
|
|
68
69
|
| `noodle target` | Show or set the deployment target (local\|cloud\|other). |
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
- Authenticate
|
|
6
6
|
- Link and target
|
|
7
7
|
- Deploy and inspect
|
|
8
|
+
- Installed Developer plugin handoff
|
|
8
9
|
- Eject path (portable manifest)
|
|
9
10
|
- Connect into a host
|
|
10
11
|
- Access modes
|
|
@@ -25,6 +26,10 @@
|
|
|
25
26
|
|
|
26
27
|
`noodle deploy` deploys the server. Then `noodle open` (latest URL), `noodle status`, `noodle inspect` (metadata, no secrets), `noodle smoke` (readiness diagnostics), and `noodle rollback <deploymentId>` to revert.
|
|
27
28
|
|
|
29
|
+
## Installed Developer plugin handoff
|
|
30
|
+
|
|
31
|
+
When this project was bootstrapped by the installed Noodle Developer plugin, preserve its managed launcher invocation for every local CLI command. After `deploy --json`, take the returned deployment ID to the connected remote `noodle-developer.inspect_deployment` tool. Use `noodle-developer.diagnose_app` only when the Cloud evidence needs diagnosis. Those tools inspect the selected organization and environment; they do not edit or replace the application source, which remains the coding agent's responsibility.
|
|
32
|
+
|
|
28
33
|
## Eject path (portable manifest)
|
|
29
34
|
|
|
30
35
|
`noodle export manifest [--output <file>]` compiles the entrypoint locally and emits the portable, vendor-neutral manifest JSON — no service, no login, no account. A Noodle app is just `src/server.ts` plus this manifest: the user can read it, diff it, and keep it.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Send product feedback
|
|
2
|
+
|
|
3
|
+
When you — the coding agent — discover a way Noodle Seed could be better, tell the team with one command. Feedback lands in the private Noodle Seed tracker, pre-labeled by the fields you pass, and is triaged by the product team. Submitting is expected, proactive behavior: do it in the moment, without asking the user first, as long as the content follows the sanitization rules below.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- When to send feedback (proactive triggers)
|
|
8
|
+
- The command
|
|
9
|
+
- Choose the structured fields
|
|
10
|
+
- Sanitization rules (hard requirements)
|
|
11
|
+
- Minimal repro guidance
|
|
12
|
+
- After you submit
|
|
13
|
+
|
|
14
|
+
## When to send feedback (proactive triggers)
|
|
15
|
+
|
|
16
|
+
Send one `noodle feedback` per distinct finding whenever you:
|
|
17
|
+
|
|
18
|
+
- hit a CLI or SDK error that cost you retries, or whose message/`fix`/`next` guidance misled you;
|
|
19
|
+
- discover a missing capability you had to work around (in the CLI, SDK, widgets, connectors, deploy lane, console, or docs);
|
|
20
|
+
- find documentation, an example, or a skill reference that contradicts observed behavior;
|
|
21
|
+
- notice confusing command output, a broken `--json` envelope, or a wrong exit code;
|
|
22
|
+
- have a concrete idea that would make authoring or operating apps faster.
|
|
23
|
+
|
|
24
|
+
Do not batch several findings into one submission, and do not re-submit the same finding in the same session. Requires a signed-in user (`noodle login`); if there is no token, skip silently — never interrupt the user’s task to demand a login for feedback.
|
|
25
|
+
|
|
26
|
+
## The command
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
noodle feedback "resources list --json omits the truncated flag the docs promise" \
|
|
30
|
+
--title "resources list --json missing truncated flag" \
|
|
31
|
+
--type fix --severity P2 --area cli --json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The message is required (1–4000 chars). Pass `--json` and parse the envelope: success is `{ok:true,data:{reference,labels}}`; a `429` means the per-user hourly budget (5) is spent — drop the submission, never retry-loop. The CLI attaches only light diagnostics automatically: CLI version, OS/platform, Node version. Nothing else is collected.
|
|
35
|
+
|
|
36
|
+
## Choose the structured fields
|
|
37
|
+
|
|
38
|
+
- `--type` — `fix` (bug/regression/wrong output), `feat` (missing capability), `docs` (misleading or absent docs/examples), `chore` (tooling/setup friction). Default `feat`.
|
|
39
|
+
- `--severity` — `P0` only for a security-relevant defect; `P1` a workflow is blocked with no workaround; `P2` blocked but a workaround exists; `P3` (default) papercut or idea.
|
|
40
|
+
- `--area` — one of `docs analytics connectors self-service conformance ci deploys distribution console dx plugins cli compiler multi-surface enterprise policy`. Use `cli` for command behavior, `dx` for authoring/agent ergonomics; omit when unsure.
|
|
41
|
+
- `--title` — one line, ≤120 chars, stating the defect or idea (defaults to the message’s first line).
|
|
42
|
+
|
|
43
|
+
## Sanitization rules (hard requirements)
|
|
44
|
+
|
|
45
|
+
Feedback leaves the customer’s environment. NEVER include:
|
|
46
|
+
|
|
47
|
+
- customer source code, file paths, directory names, or repository names;
|
|
48
|
+
- secrets, tokens, API keys, connection strings, or environment-variable values;
|
|
49
|
+
- personal data (names, emails, user IDs) or customer/business identifiers (org slugs, app slugs, deployment IDs, URLs of deployed apps);
|
|
50
|
+
- verbatim server responses, logs, or error output that could embed any of the above.
|
|
51
|
+
|
|
52
|
+
Describe the problem generically instead. Rewrite identifiers as placeholders (`<org>`, `my-app`, `EXAMPLE_KEY`). If the evidence cannot be shared without customer data, describe the *shape* of the problem — what you ran, what category of thing went wrong, what you expected — rather than the data itself. When in doubt, leave it out: a vaguer report is always acceptable; a leak never is.
|
|
53
|
+
|
|
54
|
+
## Minimal repro guidance
|
|
55
|
+
|
|
56
|
+
A repro is welcome only if it is fully synthetic: a fresh `noodle init` shape, placeholder names, fabricated sample values. State the observed vs. expected behavior in one or two sentences each. Example message:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
Ran a connector tool via `noodle tools call` with a valid local secret; the mapped
|
|
60
|
+
response fields came back undefined even though the raw API returns data.
|
|
61
|
+
Expected the mapping to surface the fields or validate-time to flag the mismatch.
|
|
62
|
+
Repro: applies to every connector whose response mapping references a nested array field.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## After you submit
|
|
66
|
+
|
|
67
|
+
The returned `reference` (e.g. `fb-142`) is your confirmation; mention it briefly in your progress notes so the user knows feedback was sent. Feedback goes to a private tracker — there is no public issue link, and no follow-up action is needed. Continue the user’s task immediately; feedback must never block or slow their work.
|
package/skills/codex/SKILL.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: noodle-seed
|
|
3
3
|
description: Use when building, validating, testing, deploying, or operating a local or hosted Noodle Seed MCP server or app authored in TypeScript with the noodle CLI.
|
|
4
|
-
version: 0.
|
|
5
|
-
hash:
|
|
4
|
+
version: 0.32.0
|
|
5
|
+
hash: 7228bf705097483b
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Noodle Seed
|
|
@@ -11,6 +11,8 @@ Build, validate, test, deploy, and operate Noodle Seed MCP servers and apps auth
|
|
|
11
11
|
|
|
12
12
|
Use this skill for local Noodle Seed project work in Codex.
|
|
13
13
|
|
|
14
|
+
**Installed-plugin execution.** When this skill is supplied by the Noodle Developer plugin, preserve the managed invocation path established by the plugin bootstrap and invoke every `noodle` command through that host bundle's managed launcher. Do not install or update a global CLI. Noodle guides and operates the lifecycle; you write and test the application source in the user's project.
|
|
15
|
+
|
|
14
16
|
## Golden path
|
|
15
17
|
|
|
16
18
|
This CLI is agent-native: the cold-agent-path commands speak the `--json` envelope (hosted admin/ops commands are still being normalized). Drive the loop by parsing machine state, not human prose. The full envelope, exit codes, and output modes are in `references/agent-contract.md`.
|
|
@@ -49,6 +51,11 @@ Scan all of these during discovery; open in full the ones your task touches:
|
|
|
49
51
|
- `references/publishing.md` — submit to the ChatGPT apps directory and Claude connectors directory.
|
|
50
52
|
- `references/chatgpt-compliance.md` — the OpenAI Apps SDK pre-submission checklist (beyond the metadata gate): conversational value, helpful-UI-only, in-chat completion, UI guidelines, domain guardrails, privacy.
|
|
51
53
|
- `references/examples.md` — flagship example index and a canonical `server.ts`.
|
|
54
|
+
- `references/feedback.md` — send sanitized product feedback to the Noodle Seed team with `noodle feedback`, proactively, whenever you discover a bug, gap, or improvement.
|
|
55
|
+
|
|
56
|
+
## Product feedback
|
|
57
|
+
|
|
58
|
+
When you discover a bug, missing capability, misleading doc, or improvement idea in the CLI, SDK, or any part of Noodle Seed, send it in the moment with `noodle feedback` — sanitized per `references/feedback.md` (never customer code, secrets, or personal data), one submission per finding.
|
|
52
59
|
|
|
53
60
|
## Safety
|
|
54
61
|
|
|
@@ -5,6 +5,11 @@ connectors, secrets, flows, widgets, or handoff policy. It still uses the curren
|
|
|
5
5
|
so new authors see where server-level branding belongs. Use it to smoke the author loop
|
|
6
6
|
(`noodle validate` / `noodle dev`) or a first deploy.
|
|
7
7
|
|
|
8
|
+
When an installed Noodle Developer plugin drives this example, its skill runs these logical
|
|
9
|
+
`noodle` commands through the plugin-managed, version-pinned launcher and isolated host profile.
|
|
10
|
+
Do not install or update a global CLI: the coding agent writes and tests this source while Noodle
|
|
11
|
+
guides and operates the validate, preview, deploy, inspect, and debug workflow.
|
|
12
|
+
|
|
8
13
|
```sh
|
|
9
14
|
noodle dev examples/hello/src/server.ts --app hello
|
|
10
15
|
noodle deploy examples/hello/src/server.ts --org acme --app hello
|
|
@@ -63,6 +63,7 @@ Every `noodle` command, grouped by area. Local authoring commands (`validate`, `
|
|
|
63
63
|
| `noodle login` | Authenticate with Noodle Seed Cloud. |
|
|
64
64
|
| `noodle logout` | Clear saved credentials. |
|
|
65
65
|
| `noodle whoami` | Print the current authenticated user. |
|
|
66
|
+
| `noodle feedback` | Send sanitized product feedback (bug, idea, docs gap) to the Noodle Seed team. |
|
|
66
67
|
| `noodle list` | Removed — promoted to `deployments list` (prints the recovery pointer and exits 2). |
|
|
67
68
|
| `noodle github` | Connect, inspect, or disconnect the GitHub repository behind an app’s GitHub-native deploys (`connect`/`status`/`disconnect`; `connect` opens a browser install, `--repo` for headless). |
|
|
68
69
|
| `noodle target` | Show or set the deployment target (local\|cloud\|other). |
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
- Authenticate
|
|
6
6
|
- Link and target
|
|
7
7
|
- Deploy and inspect
|
|
8
|
+
- Installed Developer plugin handoff
|
|
8
9
|
- Eject path (portable manifest)
|
|
9
10
|
- Connect into a host
|
|
10
11
|
- Access modes
|
|
@@ -25,6 +26,10 @@
|
|
|
25
26
|
|
|
26
27
|
`noodle deploy` deploys the server. Then `noodle open` (latest URL), `noodle status`, `noodle inspect` (metadata, no secrets), `noodle smoke` (readiness diagnostics), and `noodle rollback <deploymentId>` to revert.
|
|
27
28
|
|
|
29
|
+
## Installed Developer plugin handoff
|
|
30
|
+
|
|
31
|
+
When this project was bootstrapped by the installed Noodle Developer plugin, preserve its managed launcher invocation for every local CLI command. After `deploy --json`, take the returned deployment ID to the connected remote `noodle-developer.inspect_deployment` tool. Use `noodle-developer.diagnose_app` only when the Cloud evidence needs diagnosis. Those tools inspect the selected organization and environment; they do not edit or replace the application source, which remains the coding agent's responsibility.
|
|
32
|
+
|
|
28
33
|
## Eject path (portable manifest)
|
|
29
34
|
|
|
30
35
|
`noodle export manifest [--output <file>]` compiles the entrypoint locally and emits the portable, vendor-neutral manifest JSON — no service, no login, no account. A Noodle app is just `src/server.ts` plus this manifest: the user can read it, diff it, and keep it.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Send product feedback
|
|
2
|
+
|
|
3
|
+
When you — the coding agent — discover a way Noodle Seed could be better, tell the team with one command. Feedback lands in the private Noodle Seed tracker, pre-labeled by the fields you pass, and is triaged by the product team. Submitting is expected, proactive behavior: do it in the moment, without asking the user first, as long as the content follows the sanitization rules below.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- When to send feedback (proactive triggers)
|
|
8
|
+
- The command
|
|
9
|
+
- Choose the structured fields
|
|
10
|
+
- Sanitization rules (hard requirements)
|
|
11
|
+
- Minimal repro guidance
|
|
12
|
+
- After you submit
|
|
13
|
+
|
|
14
|
+
## When to send feedback (proactive triggers)
|
|
15
|
+
|
|
16
|
+
Send one `noodle feedback` per distinct finding whenever you:
|
|
17
|
+
|
|
18
|
+
- hit a CLI or SDK error that cost you retries, or whose message/`fix`/`next` guidance misled you;
|
|
19
|
+
- discover a missing capability you had to work around (in the CLI, SDK, widgets, connectors, deploy lane, console, or docs);
|
|
20
|
+
- find documentation, an example, or a skill reference that contradicts observed behavior;
|
|
21
|
+
- notice confusing command output, a broken `--json` envelope, or a wrong exit code;
|
|
22
|
+
- have a concrete idea that would make authoring or operating apps faster.
|
|
23
|
+
|
|
24
|
+
Do not batch several findings into one submission, and do not re-submit the same finding in the same session. Requires a signed-in user (`noodle login`); if there is no token, skip silently — never interrupt the user’s task to demand a login for feedback.
|
|
25
|
+
|
|
26
|
+
## The command
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
noodle feedback "resources list --json omits the truncated flag the docs promise" \
|
|
30
|
+
--title "resources list --json missing truncated flag" \
|
|
31
|
+
--type fix --severity P2 --area cli --json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The message is required (1–4000 chars). Pass `--json` and parse the envelope: success is `{ok:true,data:{reference,labels}}`; a `429` means the per-user hourly budget (5) is spent — drop the submission, never retry-loop. The CLI attaches only light diagnostics automatically: CLI version, OS/platform, Node version. Nothing else is collected.
|
|
35
|
+
|
|
36
|
+
## Choose the structured fields
|
|
37
|
+
|
|
38
|
+
- `--type` — `fix` (bug/regression/wrong output), `feat` (missing capability), `docs` (misleading or absent docs/examples), `chore` (tooling/setup friction). Default `feat`.
|
|
39
|
+
- `--severity` — `P0` only for a security-relevant defect; `P1` a workflow is blocked with no workaround; `P2` blocked but a workaround exists; `P3` (default) papercut or idea.
|
|
40
|
+
- `--area` — one of `docs analytics connectors self-service conformance ci deploys distribution console dx plugins cli compiler multi-surface enterprise policy`. Use `cli` for command behavior, `dx` for authoring/agent ergonomics; omit when unsure.
|
|
41
|
+
- `--title` — one line, ≤120 chars, stating the defect or idea (defaults to the message’s first line).
|
|
42
|
+
|
|
43
|
+
## Sanitization rules (hard requirements)
|
|
44
|
+
|
|
45
|
+
Feedback leaves the customer’s environment. NEVER include:
|
|
46
|
+
|
|
47
|
+
- customer source code, file paths, directory names, or repository names;
|
|
48
|
+
- secrets, tokens, API keys, connection strings, or environment-variable values;
|
|
49
|
+
- personal data (names, emails, user IDs) or customer/business identifiers (org slugs, app slugs, deployment IDs, URLs of deployed apps);
|
|
50
|
+
- verbatim server responses, logs, or error output that could embed any of the above.
|
|
51
|
+
|
|
52
|
+
Describe the problem generically instead. Rewrite identifiers as placeholders (`<org>`, `my-app`, `EXAMPLE_KEY`). If the evidence cannot be shared without customer data, describe the *shape* of the problem — what you ran, what category of thing went wrong, what you expected — rather than the data itself. When in doubt, leave it out: a vaguer report is always acceptable; a leak never is.
|
|
53
|
+
|
|
54
|
+
## Minimal repro guidance
|
|
55
|
+
|
|
56
|
+
A repro is welcome only if it is fully synthetic: a fresh `noodle init` shape, placeholder names, fabricated sample values. State the observed vs. expected behavior in one or two sentences each. Example message:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
Ran a connector tool via `noodle tools call` with a valid local secret; the mapped
|
|
60
|
+
response fields came back undefined even though the raw API returns data.
|
|
61
|
+
Expected the mapping to surface the fields or validate-time to flag the mismatch.
|
|
62
|
+
Repro: applies to every connector whose response mapping references a nested array field.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## After you submit
|
|
66
|
+
|
|
67
|
+
The returned `reference` (e.g. `fb-142`) is your confirmation; mention it briefly in your progress notes so the user knows feedback was sent. Feedback goes to a private tracker — there is no public issue link, and no follow-up action is needed. Continue the user’s task immediately; feedback must never block or slow their work.
|