@martin0309205/prism 0.1.5 → 0.1.6

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.
@@ -0,0 +1,72 @@
1
+ # You are Prism
2
+
3
+ You're invoked by `prism`, a thin connector around Claude Code. A human asked something via Slack mention, HTTP API, or CLI — Prism spawned you in a temp working directory with that brief and is waiting for your output. There is no follow-up turn unless the human re-mentions you.
4
+
5
+ ## Your job in one sentence
6
+
7
+ Produce the deliverable they asked for, drop it at the root of `cwd`, then reply with a short comment explaining what you made. Don't ask clarifying questions before the first attempt — ship a sensible default, then offer alternatives.
8
+
9
+ ## How output reaches the human
10
+
11
+ | Surface | What they see |
12
+ |---|---|
13
+ | **Slack** | Files at cwd root are uploaded to the thread. Your stdout becomes the comment next to the file (Prism converts Markdown to Slack mrkdwn). |
14
+ | **HTTP** | JSON response: file URLs + your stdout as `text`. |
15
+ | **CLI** | Files copied to their `--out` directory. Stdout streamed to terminal. |
16
+
17
+ ## Output conventions (CRITICAL)
18
+
19
+ - **Final deliverables** at the root of `cwd`: the `.pdf`, the `.png`, the `.docx`, etc. Naming convention: `Astry_<Topic>_<Variant>.<ext>` in PascalCase.
20
+ - **Intermediate work** — scratch HTML, copied logos, debug data — goes in `_work/`. Prism ignores any path whose any segment starts with `_` or `.`. Use this for anything you don't want shipped.
21
+ - **Stdout** = your reply. Concise, in French by default.
22
+
23
+ ## Action bias > clarification bias
24
+
25
+ Don't ask "do you want a visual or just text?" before producing anything. Ship the most likely default, then offer alternatives at the end of your reply.
26
+
27
+ | Brief | Default action |
28
+ |---|---|
29
+ | "fais un post linkedin pour annoncer X" | Generate **the image** (1200×1200) AND **the text**. Image = deliverable file, text = your stdout reply. |
30
+ | "fais un récap du meeting Y" | Generate **the PDF**. |
31
+ | "résume cette conv" / "donne-moi le contexte sur X" | Reply with text only — no file. |
32
+ | "génère une image LinkedIn" | Image PNG, no PDF. |
33
+ | "fais un audit de notre landing" | PDF audit document. |
34
+
35
+ Only ask back when the brief is genuinely ambiguous about the output **type** (e.g. "fais quelque chose pour X").
36
+
37
+ ## Skills available (they auto-activate — you don't call them explicitly)
38
+
39
+ - `ask-mnemos-astry` — query the company brain (people, projects, decisions, dates, orthography). Use it whenever the brief references Astry-internal context (a teammate, a client name, a project codename).
40
+ - `astry-design-system` — Astry brand contract + queryable token registry at `brand.astry.agency/r`.
41
+ - `astry-pdf` — generate a brand-aligned multi-page PDF.
42
+ - `astry-linkedin-image` — generate a 1200×1200 brand-aligned LinkedIn image (PNG).
43
+
44
+ For LinkedIn announcements, the default is **image + text combo** — produce the visual, then the post copy in stdout.
45
+
46
+ ## Style for stdout (the reply)
47
+
48
+ - Language: **French** by default. English only if the human writes in English or asks for it.
49
+ - Concise. Bullets or numbered lists, not walls of text.
50
+ - Verbes concrets, voix directe (cf. astry-design-system brand voice).
51
+ - One idea per sentence. No emoji. No exclamation mark.
52
+ - Don't paraphrase the brief back at the human ("Tu m'as demandé de…") — deliver and explain.
53
+ - End with **one** offer of next-step variants if relevant: "Tu veux une variante plus courte / en anglais / avec stat ?".
54
+
55
+ ## Brand non-negotiable (deliverables)
56
+
57
+ - Colors: `#0029FF` brand-blue, `#0F1115` near-black, `#FFFFFF` white, `#F2F3F5` neutral surface. No other colors.
58
+ - Typography: Inter (Google Fonts fallback for Neue Haas Grotesk Display). Weights 400/500/600/700.
59
+ - No border-radius (sharp corners on cards/buttons/badges). Exception: `rounded-pill` on switch knobs, status dots.
60
+ - Wordmark logo only (`assets/logo-astry.png` bundled with relevant skills) — never the mascot alone, never a text fallback.
61
+ - For PDFs, the brand-blue terminal mark is `.` (period) at the end of section closes. For LinkedIn, that mark is omitted — LinkedIn doesn't render colored periods.
62
+
63
+ ## Never
64
+
65
+ - Never expose secrets (`$MNEMOS_API_KEY`, `GITHUB_TOKEN`, anything `_live_`). They live in env vars; reference by name only.
66
+ - Never write files outside `cwd`.
67
+ - Never echo the brief back before answering.
68
+ - Never apologize for not asking clarifying questions — you shipped the default, that's the goal.
69
+
70
+ ---
71
+
72
+ *This file is managed by `prism claude-md install`. It's regenerated on every `prism update`. Override locally if needed by editing `~/.claude/CLAUDE.md` directly — but be aware your edits will be overwritten on the next update.*
@@ -0,0 +1,11 @@
1
+ export declare const BUNDLED_CLAUDE_MD: string;
2
+ export declare function userClaudeMdPath(): string;
3
+ export interface InstallReport {
4
+ source: string;
5
+ target: string;
6
+ action: 'created' | 'updated' | 'unchanged';
7
+ }
8
+ export declare function installClaudeMd(opts?: {
9
+ force?: boolean;
10
+ }): InstallReport;
11
+ export declare function bundledClaudeMdSize(): number | null;
@@ -0,0 +1,33 @@
1
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, join, resolve } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ const here = dirname(fileURLToPath(import.meta.url));
6
+ // dist/claude-md.js → package root → assets/claude-md/CLAUDE.md
7
+ export const BUNDLED_CLAUDE_MD = resolve(here, '..', 'assets', 'claude-md', 'CLAUDE.md');
8
+ export function userClaudeMdPath() {
9
+ return join(homedir(), '.claude', 'CLAUDE.md');
10
+ }
11
+ export function installClaudeMd(opts = {}) {
12
+ const source = BUNDLED_CLAUDE_MD;
13
+ const target = userClaudeMdPath();
14
+ if (!existsSync(source)) {
15
+ throw new Error(`bundled CLAUDE.md missing at ${source}`);
16
+ }
17
+ mkdirSync(dirname(target), { recursive: true });
18
+ const sourceContent = readFileSync(source, 'utf8');
19
+ const targetExists = existsSync(target);
20
+ const targetContent = targetExists ? readFileSync(target, 'utf8') : '';
21
+ if (targetExists && targetContent === sourceContent && !opts.force) {
22
+ return { source, target, action: 'unchanged' };
23
+ }
24
+ const action = targetExists ? 'updated' : 'created';
25
+ copyFileSync(source, target);
26
+ return { source, target, action };
27
+ }
28
+ export function bundledClaudeMdSize() {
29
+ if (!existsSync(BUNDLED_CLAUDE_MD))
30
+ return null;
31
+ return statSync(BUNDLED_CLAUDE_MD).size;
32
+ }
33
+ //# sourceMappingURL=claude-md.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../src/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAEzF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,OAA4B,EAAE;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC;IACjC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,IAAI,YAAY,IAAI,aAAa,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAA4B,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function claudeMdCmd(program: Command): void;
@@ -0,0 +1,38 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { BUNDLED_CLAUDE_MD, bundledClaudeMdSize, installClaudeMd, userClaudeMdPath } from '../../claude-md.js';
3
+ export function claudeMdCmd(program) {
4
+ const cmd = program
5
+ .command('claude-md')
6
+ .alias('claude_md')
7
+ .description('Manage the ~/.claude/CLAUDE.md file that gives Claude Code context about Prism.');
8
+ cmd
9
+ .command('install')
10
+ .description('Copy the bundled CLAUDE.md template to ~/.claude/CLAUDE.md (overwrites existing).')
11
+ .option('--force', 'overwrite even if content is already up to date')
12
+ .action((opts) => {
13
+ const report = installClaudeMd({ force: !!opts.force });
14
+ const tag = report.action === 'created' ? '✓ created' :
15
+ report.action === 'updated' ? '✓ updated' :
16
+ '∙ unchanged (already up to date)';
17
+ process.stderr.write(`${tag}\n source: ${report.source}\n target: ${report.target}\n`);
18
+ });
19
+ cmd
20
+ .command('show')
21
+ .description('Print the bundled CLAUDE.md template to stdout.')
22
+ .action(() => {
23
+ if (!existsSync(BUNDLED_CLAUDE_MD)) {
24
+ console.error(`error: bundled CLAUDE.md missing at ${BUNDLED_CLAUDE_MD}`);
25
+ process.exit(1);
26
+ }
27
+ process.stdout.write(readFileSync(BUNDLED_CLAUDE_MD, 'utf8'));
28
+ });
29
+ cmd
30
+ .command('path')
31
+ .description('Print the path of the bundled and target CLAUDE.md files.')
32
+ .action(() => {
33
+ const size = bundledClaudeMdSize();
34
+ process.stderr.write(`bundled: ${BUNDLED_CLAUDE_MD}${size != null ? ` (${size} bytes)` : ' (missing!)'}\n`);
35
+ process.stderr.write(`target: ${userClaudeMdPath()}${existsSync(userClaudeMdPath()) ? ' (exists)' : ' (missing)'}\n`);
36
+ });
37
+ }
38
+ //# sourceMappingURL=claude-md.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../../src/cli/commands/claude-md.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/G,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,WAAW,CAAC;SAClB,WAAW,CAAC,iFAAiF,CAAC,CAAC;IAElG,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,SAAS,EAAE,iDAAiD,CAAC;SACpE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACxD,MAAM,GAAG,GACP,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC3C,kCAAkC,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,eAAe,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,uCAAuC,iBAAiB,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,gBAAgB,EAAE,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -4,6 +4,8 @@ import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { loadConfig, instanceRoot } from '../../config.js';
6
6
  import { readSkillsConfig } from '../../skills.js';
7
+ import { BUNDLED_CLAUDE_MD, userClaudeMdPath } from '../../claude-md.js';
8
+ import { readFileSync } from 'node:fs';
7
9
  const EXPECTED_SKILLS = ['ask-mnemos-astry', 'astry-design-system', 'astry-pdf', 'astry-linkedin-image'];
8
10
  export function doctorCmd(program) {
9
11
  program
@@ -60,6 +62,22 @@ export function doctorCmd(program) {
60
62
  }
61
63
  }
62
64
  }
65
+ const claudeMdTarget = userClaudeMdPath();
66
+ if (existsSync(claudeMdTarget) && existsSync(BUNDLED_CLAUDE_MD)) {
67
+ const same = readFileSync(claudeMdTarget, 'utf8') === readFileSync(BUNDLED_CLAUDE_MD, 'utf8');
68
+ if (same) {
69
+ printOk(`CLAUDE.md installed and matches bundle: ${claudeMdTarget}`);
70
+ }
71
+ else {
72
+ printWarn(`CLAUDE.md exists but differs from bundle — run 'prism claude-md install --force' to refresh`);
73
+ }
74
+ }
75
+ else if (existsSync(claudeMdTarget)) {
76
+ printOk(`CLAUDE.md present (custom): ${claudeMdTarget}`);
77
+ }
78
+ else {
79
+ printWarn(`CLAUDE.md missing — run 'prism claude-md install' so Claude knows it's running inside Prism`);
80
+ }
63
81
  printOk(`config loaded: instance=${config.instance}, http=${config.surfaces.http.enabled}, slack=${config.surfaces.slack.enabled}`);
64
82
  if (!ok) {
65
83
  process.stderr.write('\nprism doctor: issues detected.\n');
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@ const NPM_PACKAGE = '@martin0309205/prism';
5
5
  export function updateCmd(program) {
6
6
  program
7
7
  .command('update')
8
- .description('Pull the latest Prism from npm, sync skills from the configured repo, and restart services.')
8
+ .description('Pull the latest Prism from npm, sync skills, install CLAUDE.md, and restart services.')
9
9
  .option('--no-skills', 'skip the skills sync step')
10
+ .option('--no-claude-md', 'skip installing the bundled CLAUDE.md')
10
11
  .option('--no-restart', 'skip restarting systemd services')
11
12
  .option('--version <ver>', 'specific version to install', 'latest')
12
13
  .action((opts) => {
@@ -18,7 +19,14 @@ export function updateCmd(program) {
18
19
  process.exit(install.status ?? 1);
19
20
  }
20
21
  // After npm replaced our binary, re-exec the freshly installed `prism`
21
- // so the latest skills.ts logic runs.
22
+ // so the latest module logic runs.
23
+ if (opts.claudeMd !== false) {
24
+ process.stderr.write(`[prism] installing CLAUDE.md...\n`);
25
+ const r = spawnSync('prism', ['claude-md', 'install'], { stdio: 'inherit' });
26
+ if (r.status !== 0) {
27
+ process.stderr.write(`[prism] claude-md install failed (continuing)\n`);
28
+ }
29
+ }
22
30
  if (opts.skills !== false) {
23
31
  if (readSkillsConfig()) {
24
32
  process.stderr.write(`[prism] syncing skills...\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -10,6 +10,7 @@ import { serveCmd } from './commands/serve.js';
10
10
  import { updateCmd } from './commands/update.js';
11
11
  import { daemonCmd } from './commands/daemon.js';
12
12
  import { skillsCmd } from './commands/skills.js';
13
+ import { claudeMdCmd } from './commands/claude-md.js';
13
14
  const here = dirname(fileURLToPath(import.meta.url));
14
15
  const pkg = JSON.parse(readFileSync(resolve(here, '..', '..', 'package.json'), 'utf8'));
15
16
  const program = new Command();
@@ -22,6 +23,7 @@ serveCmd(program);
22
23
  onboardCmd(program);
23
24
  doctorCmd(program);
24
25
  skillsCmd(program);
26
+ claudeMdCmd(program);
25
27
  daemonCmd(program);
26
28
  updateCmd(program);
27
29
  program.parseAsync(process.argv).catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;AAE/G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,gGAAgG,CAAC;KAC7G,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,SAAS,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;AAE/G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,gGAAgG,CAAC;KAC7G,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,SAAS,CAAC,OAAO,CAAC,CAAC;AACnB,SAAS,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@martin0309205/prism",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Thin connector around Claude Code: Slack/HTTP/CLI surfaces that spawn `claude -p` and ship back the files Claude creates.",
5
5
  "type": "module",
6
6
  "bin": {