@creator-notes/cnotes 0.16.18 → 0.16.19
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/dist/cn.js
CHANGED
|
@@ -23,6 +23,7 @@ import { registerInitCommand } from "./commands/init.js";
|
|
|
23
23
|
import { registerSchemaCommand } from "./commands/schema.js";
|
|
24
24
|
import { registerThemeCommands } from "./commands/theme.js";
|
|
25
25
|
import { registerOperationsCommands } from "./commands/operations.js";
|
|
26
|
+
import { registerFeedbackCommands } from "./commands/feedback.js";
|
|
26
27
|
import { registerClaudeHookCommand } from "./commands/claude-hook.js";
|
|
27
28
|
import { loadConfig, getServerConfig } from "./lib/auth-store.js";
|
|
28
29
|
const program = new Command();
|
|
@@ -69,6 +70,7 @@ registerMcpCommands(program);
|
|
|
69
70
|
registerSchemaCommand(program);
|
|
70
71
|
registerThemeCommands(program);
|
|
71
72
|
registerOperationsCommands(program);
|
|
73
|
+
registerFeedbackCommands(program);
|
|
72
74
|
registerClaudeHookCommand(program);
|
|
73
75
|
// Default action: show help + first-run hint when invoked with no arguments
|
|
74
76
|
program.action(() => {
|
package/dist/cn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../src/cn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../src/cn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8G/D"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ApiClient } from "../lib/api-client.js";
|
|
2
|
+
import { resolveBaseConfig } from "../lib/config.js";
|
|
3
|
+
import { AuthError, handleError, ValidationError } from "../lib/errors.js";
|
|
4
|
+
import { readFileSafe } from "../lib/fs-utils.js";
|
|
5
|
+
import { readStdin } from "../lib/stdin.js";
|
|
6
|
+
import { outputJson, outputQuiet } from "../lib/output.js";
|
|
7
|
+
const SEVERITIES = ["blocking", "high", "medium", "low", "praise"];
|
|
8
|
+
export function registerFeedbackCommands(program) {
|
|
9
|
+
const feedback = program
|
|
10
|
+
.command("feedback")
|
|
11
|
+
.description("Send feedback about the cnotes CLI or product to the CreatorNotes team");
|
|
12
|
+
feedback
|
|
13
|
+
.command("submit")
|
|
14
|
+
.description("Report friction, a bug, or praise from inside an agent session.\n" +
|
|
15
|
+
" Routes to the CreatorNotes team's central feedback inbox (the team triages\n" +
|
|
16
|
+
" and fixes from there). Ask the user before sending — feedback is attributed\n" +
|
|
17
|
+
" to them. Be concrete: exact command, exact error, suspected root cause, a\n" +
|
|
18
|
+
" suggested fix. A precise report is what makes a report directly fixable.")
|
|
19
|
+
.requiredOption("--title <text>", "One-line headline, in plain language (what's wrong)")
|
|
20
|
+
.requiredOption("--severity <level>", `One of: ${SEVERITIES.join(", ")}`)
|
|
21
|
+
.requiredOption("--area <area>", 'Where it bites, e.g. "cli/canvas", "editor", "api/notes"')
|
|
22
|
+
.option("--body <text>", "Body as markdown (what happened, root cause, suggested fix)")
|
|
23
|
+
.option("--body-file <path>", "Read the markdown body from a file")
|
|
24
|
+
.option("--body-stdin", "Read the markdown body from stdin")
|
|
25
|
+
.option("--model <id>", "The reporting agent's model id, e.g. claude-opus-4-8")
|
|
26
|
+
.option("--rating <1-5>", "Optional 1-5 rating")
|
|
27
|
+
.addHelpText("after", `
|
|
28
|
+
Examples:
|
|
29
|
+
$ cnotes feedback submit --severity blocking --area cli/canvas \\
|
|
30
|
+
--title "canvas list 500s" --body-file ./report.md --model claude-opus-4-8
|
|
31
|
+
$ echo "Loved the batch @key cross-links." | cnotes feedback submit \\
|
|
32
|
+
--severity praise --area cli/notes \\
|
|
33
|
+
--title "Batch create is the right primitive" --body-stdin
|
|
34
|
+
`)
|
|
35
|
+
.action(async (opts) => {
|
|
36
|
+
// Feedback is user-level, not a workspace write, so it must work even
|
|
37
|
+
// when no workspace is selected (e.g. an agent that just installed the
|
|
38
|
+
// CLI and hit friction before picking one). Use the workspace-optional
|
|
39
|
+
// resolver and require only a token — checked inside the try so the
|
|
40
|
+
// AuthError renders a clean exit code + hint via handleError.
|
|
41
|
+
const cfg = resolveBaseConfig(program.opts());
|
|
42
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
43
|
+
try {
|
|
44
|
+
if (!cfg.token)
|
|
45
|
+
throw new AuthError();
|
|
46
|
+
if (!SEVERITIES.includes(opts.severity)) {
|
|
47
|
+
throw new ValidationError(`--severity must be one of: ${SEVERITIES.join(", ")}`);
|
|
48
|
+
}
|
|
49
|
+
let body;
|
|
50
|
+
if (opts.bodyFile)
|
|
51
|
+
body = readFileSafe(opts.bodyFile);
|
|
52
|
+
else if (opts.bodyStdin)
|
|
53
|
+
body = await readStdin();
|
|
54
|
+
else if (opts.body)
|
|
55
|
+
body = opts.body;
|
|
56
|
+
if (!body || !body.trim()) {
|
|
57
|
+
throw new ValidationError("A body is required. Use --body, --body-file, or --body-stdin");
|
|
58
|
+
}
|
|
59
|
+
let rating;
|
|
60
|
+
if (opts.rating !== undefined) {
|
|
61
|
+
rating = Number.parseInt(opts.rating, 10);
|
|
62
|
+
if (Number.isNaN(rating) || rating < 1 || rating > 5) {
|
|
63
|
+
throw new ValidationError("--rating must be a whole number from 1 to 5");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const data = await api.post("/api/feedback", {
|
|
67
|
+
// Context only, and optional — omit entirely when unset so the
|
|
68
|
+
// server's `workspaceId: z.string().min(1).optional()` is satisfied.
|
|
69
|
+
...(cfg.workspaceId ? { workspaceId: cfg.workspaceId } : {}),
|
|
70
|
+
title: opts.title,
|
|
71
|
+
severity: opts.severity,
|
|
72
|
+
area: opts.area,
|
|
73
|
+
body,
|
|
74
|
+
model: opts.model || "unknown",
|
|
75
|
+
rating,
|
|
76
|
+
});
|
|
77
|
+
if (cfg.quiet) {
|
|
78
|
+
outputQuiet(String(data.feedbackId || ""));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (cfg.json) {
|
|
82
|
+
outputJson(data, cfg.fields);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
console.log("Thanks — feedback sent to the CreatorNotes team.");
|
|
86
|
+
if (data.feedbackId)
|
|
87
|
+
console.log(` id: ${data.feedbackId}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
handleError(error, cfg.json);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skills/cnotes/SKILL.md
CHANGED
|
@@ -344,6 +344,22 @@ cnotes config get-server
|
|
|
344
344
|
cnotes config set-server <url>
|
|
345
345
|
```
|
|
346
346
|
|
|
347
|
+
### Feedback (`cnotes feedback`)
|
|
348
|
+
```bash
|
|
349
|
+
# Report friction, a bug, or praise from inside an agent session.
|
|
350
|
+
# Routes to the CreatorNotes team's central feedback inbox (server-side routing —
|
|
351
|
+
# you never need a canvas or workspace id). See "Closing the loop" in Best Practices
|
|
352
|
+
# for WHEN to use this and the rule to ask the user first.
|
|
353
|
+
cnotes feedback submit --severity <blocking|high|medium|low|praise> --area <area> --title <text> \
|
|
354
|
+
[--body <md> | --body-file <path> | --body-stdin] [--model <id>] [--rating <1-5>]
|
|
355
|
+
|
|
356
|
+
# Examples
|
|
357
|
+
cnotes feedback submit --severity blocking --area cli/canvas \
|
|
358
|
+
--title "canvas list 500s" --body-file ./report.md --model claude-opus-4-8
|
|
359
|
+
echo "Loved the batch @key cross-links." | cnotes feedback submit \
|
|
360
|
+
--severity praise --area cli/notes --title "Batch create is the right primitive" --body-stdin
|
|
361
|
+
```
|
|
362
|
+
|
|
347
363
|
## Assembling URLs for Responses
|
|
348
364
|
|
|
349
365
|
When you reference a workspace or canvas in a response (so the user can click through), build the URL yourself in this exact shape:
|
|
@@ -763,3 +779,22 @@ Before creating or updating notes on a topic, **query memory first** to understa
|
|
|
763
779
|
- In `--json` mode a failure prints `{ error, code, exitCode, hint }` to stderr. The `hint` names the command that fixes it, so read it before retrying.
|
|
764
780
|
- If a command fails with auth errors (exit `2`), run `cnotes auth status` to verify credentials.
|
|
765
781
|
- If a workspace error occurs (exit `4` not found, or `7` permission), verify with `cnotes workspace current` and list options with `cnotes workspace list`.
|
|
782
|
+
|
|
783
|
+
### Closing the loop: submit feedback when you hit friction
|
|
784
|
+
|
|
785
|
+
CreatorNotes is built for humans *and* agents, so feedback from an agent is real feedback. When you hit something worth reporting, offer to log it with `cnotes feedback submit` (above). Resolved reports get fixed fast, which makes the tool better for the next agent — that loop only works if you actually file the signal.
|
|
786
|
+
|
|
787
|
+
**When to offer it** (be selective, not noisy):
|
|
788
|
+
- A reproducible bug: a command 500s, returns wrong/empty data, or a documented path doesn't behave as described.
|
|
789
|
+
- A real capability gap that blocked the task (not a transient blip, not your own mistake — rule those out first).
|
|
790
|
+
- Standout praise is welcome too, but lead with friction; it's the actionable signal.
|
|
791
|
+
|
|
792
|
+
**Always ask the user first.** The report is attributed to them and goes to the CreatorNotes team. Say in one line what you'd report and ask if they want it sent. Never file silently, and never file the same issue twice.
|
|
793
|
+
|
|
794
|
+
**Make it directly fixable.** A precise report is the difference between a fix today and a shrug. In the `--body` (markdown), include:
|
|
795
|
+
- **What happened** — the exact command you ran and the exact error/behavior.
|
|
796
|
+
- **Root cause (suspected)** — your best read from the outside; say what's uncertain.
|
|
797
|
+
- **Suggested fix** — what would resolve it.
|
|
798
|
+
- **Severity** — who/what is blocked.
|
|
799
|
+
|
|
800
|
+
Set `--severity` honestly (`blocking` only if it stops the task), `--area` to where it bites (e.g. `cli/canvas`, `editor`, `api/notes`), and `--model` to your own model id so the team knows which agent reported it. One note per issue.
|