@creator-notes/cli 0.4.0 → 0.6.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/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +12 -0
- package/LICENSE +21 -0
- package/SKILL.md +33 -0
- package/dist/commands/theme.d.ts.map +1 -1
- package/dist/commands/theme.js +28 -19
- package/dist/commands/theme.js.map +1 -1
- package/dist/lib/api-client.js +2 -2
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/themes.d.ts +24 -3
- package/dist/lib/themes.d.ts.map +1 -1
- package/dist/lib/themes.js +86 -5
- package/dist/lib/themes.js.map +1 -1
- package/package.json +20 -2
- package/skills/cn/SKILL.md +30 -0
package/.mcp.json
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 CreatorNotes
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/SKILL.md
CHANGED
|
@@ -173,6 +173,39 @@ cn memory facts [--source <conversation|notes>]
|
|
|
173
173
|
cn memory entities [--source <conversation|notes>]
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
+
### Theme (`cn theme`)
|
|
177
|
+
|
|
178
|
+
Personal UI theme preference (synced to your account, applies on next browser reload — does NOT live-update an open tab).
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# List built-in presets — current one is marked with *
|
|
182
|
+
cn theme list
|
|
183
|
+
|
|
184
|
+
# Show the active theme + any per-token color overrides
|
|
185
|
+
cn theme get
|
|
186
|
+
|
|
187
|
+
# Switch to a built-in preset
|
|
188
|
+
cn theme set <id> # e.g. dracula, ember, catppuccin-mocha, sage, light, dark
|
|
189
|
+
|
|
190
|
+
# Override a single color (switches the theme to "custom" automatically)
|
|
191
|
+
# <color> can be HSL ("310 85% 67%"), HSL with alpha ("310 85% 67% / 0.5"),
|
|
192
|
+
# hex ("#ff00aa"), or the keyword "transparent". HSL is the canonical form
|
|
193
|
+
# — it round-trips losslessly and makes good-feeling combos easier to pick.
|
|
194
|
+
cn theme set-color <token> <color> # e.g. cn theme set-color primary "310 85% 67%"
|
|
195
|
+
|
|
196
|
+
# Drop all custom overrides and return to the base preset
|
|
197
|
+
cn theme reset
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Editable tokens** (anything else is rejected with 422):
|
|
201
|
+
`background`, `card`, `popover`, `muted`, `border`, `sidebar-background`,
|
|
202
|
+
`primary`, `primary-foreground`, `ring`, `accent-teal`,
|
|
203
|
+
`foreground`, `muted-foreground`, `prose-body`, `prose-heading`,
|
|
204
|
+
`code-background`, `code-foreground`, `blockquote-border`,
|
|
205
|
+
`destructive`, `success`, `warning`, `info`.
|
|
206
|
+
|
|
207
|
+
`set-color` merges into existing overrides — call it repeatedly to build up a custom palette. `reset` returns to the preset that was the base of your custom theme (or `dark` if you started from scratch).
|
|
208
|
+
|
|
176
209
|
### Config
|
|
177
210
|
```bash
|
|
178
211
|
cn config get-server
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkN5D"}
|
package/dist/commands/theme.js
CHANGED
|
@@ -2,8 +2,7 @@ import { ApiClient } from "../lib/api-client.js";
|
|
|
2
2
|
import { resolveBaseConfig } from "../lib/config.js";
|
|
3
3
|
import { AuthError, ValidationError, handleError } from "../lib/errors.js";
|
|
4
4
|
import { outputJson, outputTable } from "../lib/output.js";
|
|
5
|
-
import { PRESETS, EDITABLE_TOKEN_NAMES, hslTripleToHex,
|
|
6
|
-
const EDITABLE_TOKEN_SET = new Set(EDITABLE_TOKEN_NAMES);
|
|
5
|
+
import { PRESETS, PRESET_IDS, EDITABLE_TOKEN_NAMES, EDITABLE_TOKEN_NAME_SET, hslTripleToHex, parseColorInput, } from "../lib/themes.js";
|
|
7
6
|
function requireAuthedConfig(program) {
|
|
8
7
|
const cfg = resolveBaseConfig(program.opts());
|
|
9
8
|
if (!cfg.token)
|
|
@@ -77,7 +76,9 @@ export function registerThemeCommands(program) {
|
|
|
77
76
|
const rows = overrides.map(([token, hsl]) => [
|
|
78
77
|
token,
|
|
79
78
|
hsl,
|
|
80
|
-
|
|
79
|
+
// Hex is a lossy preview, so omit it for alpha-bearing triples
|
|
80
|
+
// (including "transparent") where it would mislead.
|
|
81
|
+
hsl.includes("/") ? "—" : hslTripleToHex(hsl),
|
|
81
82
|
]);
|
|
82
83
|
outputTable(["TOKEN", "HSL", "HEX"], rows);
|
|
83
84
|
}
|
|
@@ -93,8 +94,10 @@ export function registerThemeCommands(program) {
|
|
|
93
94
|
.action(async (id) => {
|
|
94
95
|
const cfg = requireAuthedConfig(program);
|
|
95
96
|
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
if (id === "custom") {
|
|
98
|
+
throw new ValidationError("`cn theme set custom` is not supported. Use `cn theme set-color <token> <color>` to enter custom mode (it seeds the base palette atomically).");
|
|
99
|
+
}
|
|
100
|
+
if (!PRESET_IDS.has(id)) {
|
|
98
101
|
throw new ValidationError(`Unknown theme id: ${id}. Run \`cn theme list\` to see available presets.`);
|
|
99
102
|
}
|
|
100
103
|
try {
|
|
@@ -115,32 +118,38 @@ export function registerThemeCommands(program) {
|
|
|
115
118
|
.command("set-color")
|
|
116
119
|
.description("Override a single token color (switches theme to 'custom')")
|
|
117
120
|
.argument("<token>", "Editable token name (e.g. primary, background)")
|
|
118
|
-
.argument("<
|
|
119
|
-
.action(async (token,
|
|
121
|
+
.argument("<color>", 'HSL ("310 85% 67%"), HSL with alpha ("310 85% 67% / 0.5"), hex ("#ff00aa"), or "transparent"')
|
|
122
|
+
.action(async (token, color) => {
|
|
120
123
|
const cfg = requireAuthedConfig(program);
|
|
121
124
|
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
122
|
-
if (!
|
|
125
|
+
if (!EDITABLE_TOKEN_NAME_SET.has(token)) {
|
|
123
126
|
throw new ValidationError(`Token "${token}" is not editable. Editable tokens: ${EDITABLE_TOKEN_NAMES.join(", ")}`);
|
|
124
127
|
}
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
const normalized = parseColorInput(color);
|
|
129
|
+
if (normalized === null) {
|
|
130
|
+
throw new ValidationError(`Invalid color: ${color}. Use HSL ("310 85% 67%"), hex ("#ff00aa"), or "transparent".`);
|
|
127
131
|
}
|
|
128
132
|
try {
|
|
133
|
+
// Use PATCH so the server merges this single token into the
|
|
134
|
+
// existing HSL palette without round-tripping unmodified tokens.
|
|
135
|
+
// We still need the current themeId to seed customBaseId on the
|
|
136
|
+
// first transition into custom — once we're already custom, the
|
|
137
|
+
// server preserves the existing base.
|
|
129
138
|
const current = await api.get("/api/theme");
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
mergedHex[token] = hex;
|
|
135
|
-
const data = await api.put("/api/theme/colors", {
|
|
136
|
-
customColors: mergedHex,
|
|
137
|
-
customBaseId: current.themeId === "custom" ? current.customBaseId : current.themeId,
|
|
139
|
+
const customBaseId = current.themeId === "custom" ? undefined : current.themeId;
|
|
140
|
+
const data = await api.patch("/api/theme/colors", {
|
|
141
|
+
customColors: { [token]: normalized },
|
|
142
|
+
...(customBaseId ? { customBaseId } : {}),
|
|
138
143
|
});
|
|
139
144
|
if (cfg.json) {
|
|
140
145
|
outputJson(data);
|
|
141
146
|
}
|
|
142
147
|
else {
|
|
143
|
-
|
|
148
|
+
const storedHsl = data.customColors[token];
|
|
149
|
+
const display = storedHsl ?? normalized;
|
|
150
|
+
// Skip the hex hint when alpha is in play — hex can't represent it.
|
|
151
|
+
const hexHint = storedHsl && !storedHsl.includes("/") ? hslTripleToHex(storedHsl) : "";
|
|
152
|
+
console.log(`Set ${token} = ${display}${hexHint && hexHint !== display ? ` (${hexHint})` : ""}.`);
|
|
144
153
|
console.log(`Theme is now custom (based on ${data.customBaseId}).`);
|
|
145
154
|
console.log("Reload an open browser tab to see the change.");
|
|
146
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -77,7 +77,7 @@ export class ApiClient {
|
|
|
77
77
|
const body = await res.json().catch(() => ({}));
|
|
78
78
|
throw new ApiError(res.status, body);
|
|
79
79
|
}
|
|
80
|
-
return
|
|
80
|
+
return this.parseJsonSafe(res);
|
|
81
81
|
}
|
|
82
82
|
async post(path, body) {
|
|
83
83
|
const url = new URL(path, this.serverUrl);
|
|
@@ -90,7 +90,7 @@ export class ApiClient {
|
|
|
90
90
|
const respBody = await res.json().catch(() => ({}));
|
|
91
91
|
throw new ApiError(res.status, respBody);
|
|
92
92
|
}
|
|
93
|
-
return
|
|
93
|
+
return this.parseJsonSafe(res);
|
|
94
94
|
}
|
|
95
95
|
async postFormData(path, buildFormData) {
|
|
96
96
|
const url = new URL(path, this.serverUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/themes.d.ts
CHANGED
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* The CLI publishes as a standalone package, so it can't import from
|
|
5
5
|
* the Next.js project's `lib/themes/`. Keep this in sync with:
|
|
6
6
|
* - lib/themes/presets.ts (PRESETS, EDITABLE_TOKEN_NAMES)
|
|
7
|
-
* - lib/themes/color.ts (parseHex, hslTripleToHex
|
|
7
|
+
* - lib/themes/color.ts (parseHex, hslTripleToHex,
|
|
8
|
+
* parseColorInput, TRANSPARENT_TRIPLE)
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* Parity with the canonical helpers is pinned by
|
|
11
|
+
* __tests__/cli-themes.test.ts — the test fails before users see a
|
|
12
|
+
* discrepancy. Server-side validation in /api/theme uses the canonical
|
|
13
|
+
* sources, so this file is for local UX only — the server is the contract.
|
|
11
14
|
*/
|
|
12
15
|
export interface PresetMeta {
|
|
13
16
|
id: string;
|
|
@@ -18,6 +21,24 @@ export interface PresetMeta {
|
|
|
18
21
|
export declare const PRESETS: PresetMeta[];
|
|
19
22
|
/** Tokens the visual editor / `cn theme set-color` is allowed to override. */
|
|
20
23
|
export declare const EDITABLE_TOKEN_NAMES: string[];
|
|
24
|
+
export declare const EDITABLE_TOKEN_NAME_SET: ReadonlySet<string>;
|
|
25
|
+
/** All known preset ids — kept in sync with lib/themes/presets.ts PRESET_IDS. */
|
|
26
|
+
export declare const PRESET_IDS: ReadonlySet<string>;
|
|
21
27
|
export declare function parseHex(hex: string): [number, number, number] | null;
|
|
28
|
+
export declare const TRANSPARENT_TRIPLE = "0 0% 0% / 0";
|
|
29
|
+
/**
|
|
30
|
+
* Pure HSL→hex conversion. Alpha is dropped — this is for hex preview only.
|
|
31
|
+
* Kept byte-identical to the canonical lib/themes/color.ts hslTripleToHex
|
|
32
|
+
* so the parity test in __tests__/cli-themes.test.ts stays green.
|
|
33
|
+
*/
|
|
22
34
|
export declare function hslTripleToHex(triple: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Coerce a color argument into a stored HSL triple. Accepts:
|
|
37
|
+
* - "transparent"
|
|
38
|
+
* - "H S% L%" or "H S% L% / A"
|
|
39
|
+
* - "#rrggbb" / "#rgb" (must be `#`-prefixed; bare "abc" is too easy
|
|
40
|
+
* to confuse with a typo'd HSL triple, so we don't accept it)
|
|
41
|
+
* Returns null when nothing matches.
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseColorInput(value: string): string | null;
|
|
23
44
|
//# sourceMappingURL=themes.d.ts.map
|
package/dist/lib/themes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/lib/themes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/lib/themes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,UAAU,EAU/B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAWxC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAiC,CAAC;AAE1F,iFAAiF;AACjF,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,CAAqC,CAAC;AAKjF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAUrE;AAMD,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAqDhD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB5D"}
|
package/dist/lib/themes.js
CHANGED
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* The CLI publishes as a standalone package, so it can't import from
|
|
5
5
|
* the Next.js project's `lib/themes/`. Keep this in sync with:
|
|
6
6
|
* - lib/themes/presets.ts (PRESETS, EDITABLE_TOKEN_NAMES)
|
|
7
|
-
* - lib/themes/color.ts (parseHex, hslTripleToHex
|
|
7
|
+
* - lib/themes/color.ts (parseHex, hslTripleToHex,
|
|
8
|
+
* parseColorInput, TRANSPARENT_TRIPLE)
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* Parity with the canonical helpers is pinned by
|
|
11
|
+
* __tests__/cli-themes.test.ts — the test fails before users see a
|
|
12
|
+
* discrepancy. Server-side validation in /api/theme uses the canonical
|
|
13
|
+
* sources, so this file is for local UX only — the server is the contract.
|
|
11
14
|
*/
|
|
12
15
|
export const PRESETS = [
|
|
13
16
|
{ id: "dark", name: "Tia", isDark: true, description: "Default dark with magenta accent." },
|
|
@@ -17,7 +20,7 @@ export const PRESETS = [
|
|
|
17
20
|
{ id: "catppuccin-latte", name: "Catppuccin Latte", isDark: false, description: "Soothing pastel light from the Catppuccin family." },
|
|
18
21
|
{ id: "dracula", name: "Dracula", isDark: true, description: "Iconic high-contrast dark with purple accent." },
|
|
19
22
|
{ id: "solarized-dark", name: "Solarized Dark", isDark: true, description: "Ethan Schoonover's classic teal-on-navy palette." },
|
|
20
|
-
{ id: "
|
|
23
|
+
{ id: "ember", name: "Ember", isDark: true, description: "Roasted-coffee dark with glowing ember orange and a cool teal spark." },
|
|
21
24
|
{ id: "rose-pine", name: "Rosé Pine", isDark: true, description: "Soho-vibes for the pastel-loving developer." },
|
|
22
25
|
];
|
|
23
26
|
/** Tokens the visual editor / `cn theme set-color` is allowed to override. */
|
|
@@ -33,6 +36,9 @@ export const EDITABLE_TOKEN_NAMES = [
|
|
|
33
36
|
// Status
|
|
34
37
|
"destructive", "success", "warning", "info",
|
|
35
38
|
];
|
|
39
|
+
export const EDITABLE_TOKEN_NAME_SET = new Set(EDITABLE_TOKEN_NAMES);
|
|
40
|
+
/** All known preset ids — kept in sync with lib/themes/presets.ts PRESET_IDS. */
|
|
41
|
+
export const PRESET_IDS = new Set(PRESETS.map((p) => p.id));
|
|
36
42
|
const HEX3 = /^#?([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])$/;
|
|
37
43
|
const HEX6 = /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/;
|
|
38
44
|
export function parseHex(hex) {
|
|
@@ -48,7 +54,9 @@ export function parseHex(hex) {
|
|
|
48
54
|
];
|
|
49
55
|
return null;
|
|
50
56
|
}
|
|
51
|
-
|
|
57
|
+
// Same shape as lib/themes/color.ts — accepts an optional `/ alpha` suffix.
|
|
58
|
+
const HSL_RE = /^\s*(-?\d+(?:\.\d+)?)\s+(-?\d+(?:\.\d+)?)%\s+(-?\d+(?:\.\d+)?)%(?:\s*\/\s*(\d+(?:\.\d+)?%?|\.\d+%?))?\s*$/;
|
|
59
|
+
export const TRANSPARENT_TRIPLE = "0 0% 0% / 0";
|
|
52
60
|
function hslToRgb(h, s, l) {
|
|
53
61
|
const sNorm = Math.max(0, Math.min(100, s)) / 100;
|
|
54
62
|
const lNorm = Math.max(0, Math.min(100, l)) / 100;
|
|
@@ -75,6 +83,44 @@ function hslToRgb(h, s, l) {
|
|
|
75
83
|
Math.round((b1 + m) * 255),
|
|
76
84
|
];
|
|
77
85
|
}
|
|
86
|
+
function rgbToHsl(r, g, b) {
|
|
87
|
+
const rN = r / 255, gN = g / 255, bN = b / 255;
|
|
88
|
+
const max = Math.max(rN, gN, bN);
|
|
89
|
+
const min = Math.min(rN, gN, bN);
|
|
90
|
+
const l = (max + min) / 2;
|
|
91
|
+
let h = 0, s = 0;
|
|
92
|
+
if (max !== min) {
|
|
93
|
+
const d = max - min;
|
|
94
|
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
95
|
+
switch (max) {
|
|
96
|
+
case rN:
|
|
97
|
+
h = ((gN - bN) / d + (gN < bN ? 6 : 0));
|
|
98
|
+
break;
|
|
99
|
+
case gN:
|
|
100
|
+
h = ((bN - rN) / d + 2);
|
|
101
|
+
break;
|
|
102
|
+
default: h = ((rN - gN) / d + 4);
|
|
103
|
+
}
|
|
104
|
+
h *= 60;
|
|
105
|
+
}
|
|
106
|
+
return { h, s: s * 100, l: l * 100 };
|
|
107
|
+
}
|
|
108
|
+
function parseAlpha(raw) {
|
|
109
|
+
if (raw === undefined)
|
|
110
|
+
return 1;
|
|
111
|
+
const trimmed = raw.trim();
|
|
112
|
+
if (trimmed.endsWith("%")) {
|
|
113
|
+
const n = Number(trimmed.slice(0, -1));
|
|
114
|
+
return Number.isFinite(n) ? Math.max(0, Math.min(1, n / 100)) : 1;
|
|
115
|
+
}
|
|
116
|
+
const n = Number(trimmed);
|
|
117
|
+
return Number.isFinite(n) ? Math.max(0, Math.min(1, n)) : 1;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Pure HSL→hex conversion. Alpha is dropped — this is for hex preview only.
|
|
121
|
+
* Kept byte-identical to the canonical lib/themes/color.ts hslTripleToHex
|
|
122
|
+
* so the parity test in __tests__/cli-themes.test.ts stays green.
|
|
123
|
+
*/
|
|
78
124
|
export function hslTripleToHex(triple) {
|
|
79
125
|
const m = HSL_RE.exec(triple);
|
|
80
126
|
if (!m)
|
|
@@ -83,4 +129,39 @@ export function hslTripleToHex(triple) {
|
|
|
83
129
|
const toHex = (n) => n.toString(16).padStart(2, "0");
|
|
84
130
|
return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
|
|
85
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Coerce a color argument into a stored HSL triple. Accepts:
|
|
134
|
+
* - "transparent"
|
|
135
|
+
* - "H S% L%" or "H S% L% / A"
|
|
136
|
+
* - "#rrggbb" / "#rgb" (must be `#`-prefixed; bare "abc" is too easy
|
|
137
|
+
* to confuse with a typo'd HSL triple, so we don't accept it)
|
|
138
|
+
* Returns null when nothing matches.
|
|
139
|
+
*/
|
|
140
|
+
export function parseColorInput(value) {
|
|
141
|
+
const trimmed = value.trim();
|
|
142
|
+
if (trimmed === "")
|
|
143
|
+
return null;
|
|
144
|
+
if (trimmed.toLowerCase() === "transparent")
|
|
145
|
+
return TRANSPARENT_TRIPLE;
|
|
146
|
+
const m = HSL_RE.exec(trimmed);
|
|
147
|
+
if (m) {
|
|
148
|
+
const round = (n) => Math.round(n * 10) / 10;
|
|
149
|
+
const base = `${round(Number(m[1]))} ${round(Number(m[2]))}% ${round(Number(m[3]))}%`;
|
|
150
|
+
const a = parseAlpha(m[4]);
|
|
151
|
+
if (a >= 1)
|
|
152
|
+
return base;
|
|
153
|
+
if (a <= 0)
|
|
154
|
+
return TRANSPARENT_TRIPLE;
|
|
155
|
+
return `${base} / ${Math.round(a * 1000) / 1000}`;
|
|
156
|
+
}
|
|
157
|
+
if (trimmed.startsWith("#")) {
|
|
158
|
+
const rgb = parseHex(trimmed);
|
|
159
|
+
if (rgb) {
|
|
160
|
+
const { h, s, l } = rgbToHsl(rgb[0], rgb[1], rgb[2]);
|
|
161
|
+
const round = (n) => Math.round(n * 10) / 10;
|
|
162
|
+
return `${round(h)} ${round(s)}% ${round(l)}%`;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
86
167
|
//# sourceMappingURL=themes.js.map
|
package/dist/lib/themes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/lib/themes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/lib/themes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,EAAE,EAAE,EAAE,MAAM,EAAc,IAAI,EAAE,KAAK,EAAe,MAAM,EAAE,IAAI,EAAG,WAAW,EAAE,mCAAmC,EAAE;IACrH,EAAE,EAAE,EAAE,MAAM,EAAc,IAAI,EAAE,MAAM,EAAc,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,wCAAwC,EAAE;IAC1H,EAAE,EAAE,EAAE,OAAO,EAAa,IAAI,EAAE,OAAO,EAAa,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACxG,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAG,WAAW,EAAE,kDAAkD,EAAE;IACpI,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,mDAAmD,EAAE;IACrI,EAAE,EAAE,EAAE,SAAS,EAAW,IAAI,EAAE,SAAS,EAAW,MAAM,EAAE,IAAI,EAAG,WAAW,EAAE,+CAA+C,EAAE;IACjI,EAAE,EAAE,EAAE,gBAAgB,EAAI,IAAI,EAAE,gBAAgB,EAAI,MAAM,EAAE,IAAI,EAAG,WAAW,EAAE,kDAAkD,EAAE;IACpI,EAAE,EAAE,EAAE,OAAO,EAAa,IAAI,EAAE,OAAO,EAAa,MAAM,EAAE,IAAI,EAAG,WAAW,EAAE,sEAAsE,EAAE;IACxJ,EAAE,EAAE,EAAE,WAAW,EAAS,IAAI,EAAE,WAAW,EAAS,MAAM,EAAE,IAAI,EAAG,WAAW,EAAE,6CAA6C,EAAE;CAChI,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C,cAAc;IACd,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB;IACxE,gBAAgB;IAChB,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa;IACtD,OAAO;IACP,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe;IAC/D,gBAAgB;IAChB,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB;IACzD,SAAS;IACT,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE1F,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,IAAI,GAAG,6CAA6C,CAAC;AAC3D,MAAM,IAAI,GAAG,sDAAsD,CAAC;AAEpE,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QAAE,OAAO;YACb,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC5B,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,MAAM,MAAM,GACV,2GAA2G,CAAC;AAE9G,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAChD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;QACzB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QACpB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACpD,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,EAAE;gBAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM;YACxD,KAAK,EAAE;gBAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAC,MAAM;YACxC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,CAAC,IAAI,EAAE,CAAC;IACV,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,GAAuB;IACzC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa;QAAE,OAAO,kBAAkB,CAAC;IAEvE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtF,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,kBAAkB,CAAC;QACtC,OAAO,GAAG,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@creator-notes/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "CLI for CreatorNotes — create notes, build canvases, search knowledge from the terminal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"dist",
|
|
13
13
|
"README.md",
|
|
14
14
|
"SKILL.md",
|
|
15
|
+
"LICENSE",
|
|
15
16
|
".claude-plugin",
|
|
17
|
+
".mcp.json",
|
|
16
18
|
"skills"
|
|
17
19
|
],
|
|
18
20
|
"scripts": {
|
|
@@ -21,10 +23,26 @@
|
|
|
21
23
|
"start": "node dist/cn.js",
|
|
22
24
|
"prepublishOnly": "npm run build"
|
|
23
25
|
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"cli",
|
|
28
|
+
"notes",
|
|
29
|
+
"canvas",
|
|
30
|
+
"knowledge-management",
|
|
31
|
+
"productivity",
|
|
32
|
+
"mcp",
|
|
33
|
+
"claude",
|
|
34
|
+
"ai",
|
|
35
|
+
"creatornotes"
|
|
36
|
+
],
|
|
37
|
+
"author": "CreatorNotes (https://creatornotes.app)",
|
|
24
38
|
"license": "MIT",
|
|
39
|
+
"homepage": "https://github.com/creatornotes/pm-notes/tree/main/cli#readme",
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/creatornotes/pm-notes/issues"
|
|
42
|
+
},
|
|
25
43
|
"repository": {
|
|
26
44
|
"type": "git",
|
|
27
|
-
"url": "https://github.com/creatornotes/pm-notes",
|
|
45
|
+
"url": "git+https://github.com/creatornotes/pm-notes.git",
|
|
28
46
|
"directory": "cli"
|
|
29
47
|
},
|
|
30
48
|
"publishConfig": {
|
package/skills/cn/SKILL.md
CHANGED
|
@@ -208,6 +208,36 @@ cn mcp setup # Claude Desktop
|
|
|
208
208
|
cn mcp setup-codex # OpenAI Codex
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
+
### Theme (`cn theme`)
|
|
212
|
+
|
|
213
|
+
Personal UI theme preference (synced to your account, applies on next browser reload — does NOT live-update an open tab).
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# List built-in presets — current one is marked with *
|
|
217
|
+
cn theme list
|
|
218
|
+
|
|
219
|
+
# Show the active theme + any per-token color overrides
|
|
220
|
+
cn theme get
|
|
221
|
+
|
|
222
|
+
# Switch to a built-in preset
|
|
223
|
+
cn theme set <id> # e.g. dracula, ember, catppuccin-mocha, sage, light, dark
|
|
224
|
+
|
|
225
|
+
# Override a single color (switches the theme to "custom" automatically)
|
|
226
|
+
cn theme set-color <token> <hex> # e.g. cn theme set-color primary "#ff00aa"
|
|
227
|
+
|
|
228
|
+
# Drop all custom overrides and return to the base preset
|
|
229
|
+
cn theme reset
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**Editable tokens** (anything else is rejected with 422):
|
|
233
|
+
`background`, `card`, `popover`, `muted`, `border`, `sidebar-background`,
|
|
234
|
+
`primary`, `primary-foreground`, `ring`, `accent-teal`,
|
|
235
|
+
`foreground`, `muted-foreground`, `prose-body`, `prose-heading`,
|
|
236
|
+
`code-background`, `code-foreground`, `blockquote-border`,
|
|
237
|
+
`destructive`, `success`, `warning`, `info`.
|
|
238
|
+
|
|
239
|
+
`set-color` merges into existing overrides — call it repeatedly to build up a custom palette. `reset` returns to the preset that was the base of your custom theme (or `dark` if you started from scratch).
|
|
240
|
+
|
|
211
241
|
### Config
|
|
212
242
|
```bash
|
|
213
243
|
cn config get-server
|