@isaacriehm/cairn-core 0.3.1 → 0.3.3

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.
@@ -23,7 +23,11 @@ export function runDoctor(opts) {
23
23
  // projects — the Claude Code plugin owns hooks via its own
24
24
  // hooks/hooks.json, so a check here would always fire false negatives.
25
25
  checks.push(checkCairnLayout(repoRoot));
26
- checks.push(checkMcpRegistration(repoRoot));
26
+ // Project-level `.mcp.json` is forbidden in plugin-mode (the plugin's
27
+ // bundled `.mcp.json` is the single registration source). Skipping
28
+ // the check here avoids false errors in CI on plugin-adopted
29
+ // projects. CLI-only adopters still get registration via `cairn init`
30
+ // writing the bundle's manifest fields.
27
31
  // ── Ground state checks ────────────────────────────────────────────
28
32
  checks.push(checkDecisions(repoRoot));
29
33
  checks.push(checkBrandOverview(repoRoot));
@@ -85,56 +89,6 @@ function checkCairnLayout(repoRoot) {
85
89
  detail: `layout complete (${count} ground files)`,
86
90
  };
87
91
  }
88
- function checkMcpRegistration(repoRoot) {
89
- const path = join(repoRoot, ".mcp.json");
90
- if (!existsSync(path)) {
91
- return {
92
- group: "core",
93
- label: ".mcp.json",
94
- status: "error",
95
- detail: "missing — run cairn init",
96
- fixCommand: "cairn init",
97
- };
98
- }
99
- let parsed;
100
- try {
101
- parsed = JSON.parse(readFileSync(path, "utf8"));
102
- }
103
- catch {
104
- return {
105
- group: "core",
106
- label: ".mcp.json",
107
- status: "error",
108
- detail: "unreadable — re-run cairn init",
109
- fixCommand: "cairn init --force",
110
- };
111
- }
112
- const servers = parsed["mcpServers"];
113
- if (typeof servers !== "object" || servers === null) {
114
- return {
115
- group: "core",
116
- label: ".mcp.json",
117
- status: "error",
118
- detail: "missing mcpServers — re-run cairn init",
119
- fixCommand: "cairn init --force",
120
- };
121
- }
122
- if (servers["cairn"] === undefined) {
123
- return {
124
- group: "core",
125
- label: ".mcp.json",
126
- status: "error",
127
- detail: "no cairn entry — re-run cairn init",
128
- fixCommand: "cairn init --force",
129
- };
130
- }
131
- return {
132
- group: "core",
133
- label: ".mcp.json",
134
- status: "ok",
135
- detail: "cairn MCP server registered",
136
- };
137
- }
138
92
  // ── Ground state checks ──────────────────────────────────────────────
139
93
  function checkDecisions(repoRoot) {
140
94
  let accepted = 0;
@@ -201,21 +155,18 @@ function checkBrandOverview(repoRoot) {
201
155
  fixCommand: "cairn init --force",
202
156
  };
203
157
  }
158
+ // Brand overview is operator-paced — `status: draft` is the
159
+ // expected post-adoption state until the operator fills in voice
160
+ // + tone. Doctor reports it informationally (status: ok) so CI
161
+ // workflows pass while the operator still has work to do.
204
162
  const status = readFrontmatterStatus(path) ?? "(none)";
205
- if (status === "current" || status === "accepted") {
206
- return {
207
- group: "ground",
208
- label: "brand/overview",
209
- status: "ok",
210
- detail: `status:${status}`,
211
- };
212
- }
213
163
  return {
214
164
  group: "ground",
215
165
  label: "brand/overview",
216
- status: "warn",
217
- detail: `status:${status}`,
218
- fixCommand: "cairn configure brand",
166
+ status: "ok",
167
+ detail: status === "current" || status === "accepted"
168
+ ? `status:${status}`
169
+ : `status:${status} — fill in when ready (operator-paced)`,
219
170
  };
220
171
  }
221
172
  function checkScopeIndex(repoRoot) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,15 @@ export function applyBrandAnswers(repoRoot, answers) {
79
79
  const ok = rewriteWithBody(join(repoRoot, rel), answers.whatItDoes, warnings, rel);
80
80
  if (ok)
81
81
  updated.push(rel);
82
+ // Also pre-fill brand/overview.md with the same domain summary —
83
+ // gives the operator a populated starting point instead of an
84
+ // empty `(operator: replace this paragraph...)` placeholder.
85
+ // Operator can diverge overview vs. positioning later; until
86
+ // then they share content.
87
+ const overviewRel = ".cairn/ground/brand/overview.md";
88
+ const overviewOk = rewriteWithBody(join(repoRoot, overviewRel), answers.whatItDoes, warnings, overviewRel);
89
+ if (overviewOk)
90
+ updated.push(overviewRel);
82
91
  }
83
92
  if (answers.mainUsers.length > 0) {
84
93
  const rel = ".cairn/ground/product/personas.yaml";
@@ -1 +1 @@
1
- {"version":3,"file":"brand-setup.js","sourceRoot":"","sources":["../../src/init/brand-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brand-setup.js","sourceRoot":"","sources":["../../src/init/brand-setup.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  /**
2
2
  * Phase 5-brand — adopt brand DEC drafts inline.
3
3
  *
4
- * Emits ONE A/B/C choice. `auto-fill` substitutes positioning + voice
5
- * from the mapper's domain summary; `skip` leaves status: draft for
6
- * later editing; `manual` hands off to the operator (drafts stay
7
- * draft, summary surfaces the file paths to edit).
4
+ * Emits ONE A/B/C choice. `auto-fill` substitutes positioning +
5
+ * brand-overview + voice + personas from the mapper's domain summary
6
+ * + sensible defaults; `skip` leaves status: draft for later editing;
7
+ * `manual` hands off to the operator (drafts stay draft, summary
8
+ * surfaces the file paths to edit).
9
+ *
10
+ * Auto-fill writes a populated draft to every brand/product file.
11
+ * Operator can refine + flip status to `accepted` when ready;
12
+ * doctor reports draft brand files as informational, not warning,
13
+ * so CI passes during the operator-paced review.
8
14
  */
9
15
  import type { PhaseResult, PhaseState } from "./types.js";
10
16
  export declare function runPhase5Brand(state: PhaseState): Promise<PhaseResult>;
@@ -1,13 +1,26 @@
1
1
  /**
2
2
  * Phase 5-brand — adopt brand DEC drafts inline.
3
3
  *
4
- * Emits ONE A/B/C choice. `auto-fill` substitutes positioning + voice
5
- * from the mapper's domain summary; `skip` leaves status: draft for
6
- * later editing; `manual` hands off to the operator (drafts stay
7
- * draft, summary surfaces the file paths to edit).
4
+ * Emits ONE A/B/C choice. `auto-fill` substitutes positioning +
5
+ * brand-overview + voice + personas from the mapper's domain summary
6
+ * + sensible defaults; `skip` leaves status: draft for later editing;
7
+ * `manual` hands off to the operator (drafts stay draft, summary
8
+ * surfaces the file paths to edit).
9
+ *
10
+ * Auto-fill writes a populated draft to every brand/product file.
11
+ * Operator can refine + flip status to `accepted` when ready;
12
+ * doctor reports draft brand files as informational, not warning,
13
+ * so CI passes during the operator-paced review.
8
14
  */
9
15
  import { applyBrandAnswers } from "../brand-setup.js";
10
16
  import { advancePhase } from "./orchestrator.js";
17
+ const DEFAULT_VOICE = "Direct, technical, project-aware. Match the existing tone in CLAUDE.md / AGENTS.md if those files set a register; otherwise default to short sentences, full English, no marketing language.";
18
+ const DEFAULT_AVOID = "Marketing fluff (\"world-class\", \"revolutionary\", \"game-changing\"). Speculative claims about behavior the code does not implement. Anything that contradicts an in-scope DEC or §INV.";
19
+ function deriveDefaultUsers(state) {
20
+ const detect = state.outputs["1-detect"];
21
+ const slug = detect?.project_slug ?? "this project";
22
+ return `Developers and operators working on ${slug}. Refine when adding consumer-facing or external personas.`;
23
+ }
11
24
  export async function runPhase5Brand(state) {
12
25
  // Pending operator answer → execute the chosen path.
13
26
  if (state.answer !== undefined && state.answer.length > 0) {
@@ -18,9 +31,9 @@ export async function runPhase5Brand(state) {
18
31
  if (mapper !== undefined) {
19
32
  const answers = {
20
33
  whatItDoes: mapper.output.domain_summary,
21
- mainUsers: "",
22
- voice: "",
23
- avoid: "",
34
+ mainUsers: deriveDefaultUsers(state),
35
+ voice: DEFAULT_VOICE,
36
+ avoid: DEFAULT_AVOID,
24
37
  };
25
38
  result = applyBrandAnswers(state.repoRoot, answers);
26
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"5-brand.js","sourceRoot":"","sources":["../../../src/init/phases/5-brand.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAqB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAiB;IACpD,qDAAqD;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,GAAqD,IAAI,CAAC;QACpE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAA6B,CAAC;YACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAiB;oBAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;oBACxC,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,EAAE;iBACV,CAAC;gBACF,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;aACvC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,6CAA6C;QACrD,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,2DAA2D;aACpE;YACD;gBACE,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,uDAAuD;aAChE;YACD;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE,sDAAsD;aAC/D;SACF;QACD,OAAO,EAAE,WAAW;KACrB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"5-brand.js","sourceRoot":"","sources":["../../../src/init/phases/5-brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAqB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD,MAAM,aAAa,GACjB,8LAA8L,CAAC;AAEjM,MAAM,aAAa,GACjB,4LAA4L,CAAC;AAE/L,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAA0C,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,EAAE,YAAY,IAAI,cAAc,CAAC;IACpD,OAAO,uCAAuC,IAAI,4DAA4D,CAAC;AACjH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAiB;IACpD,qDAAqD;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,GAAqD,IAAI,CAAC;QACpE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAA6B,CAAC;YACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAiB;oBAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;oBACxC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC;oBACpC,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,aAAa;iBACrB,CAAC;gBACF,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;aACvC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,6CAA6C;QACrD,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,2DAA2D;aACpE;YACD;gBACE,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,uDAAuD;aAChE;YACD;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE,sDAAsD;aAC/D;SACF;QACD,OAAO,EAAE,WAAW;KACrB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isaacriehm/cairn-core",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Cairn core — state + context layer. Curated `.cairn/ground/` (decisions, §INV invariants, canonical-map, brand, quality-grades), MCP server, init wizard, hook runners, sensors, GC drift sweep.",
5
5
  "author": "Isaac Riehm",
6
6
  "license": "MIT",
@@ -11,14 +11,46 @@ source-commits:
11
11
  # Brand overview
12
12
 
13
13
  <!--
14
- Fill this in. This file is injected at every SessionStart so the AI knows
15
- what your product looks and sounds like before it makes design decisions.
16
- Keep it short — one paragraph max, < 200 tokens. Cover: product personality,
17
- tone, what to avoid. Detailed colors/typography go in colors.yaml /
18
- typography.yaml.
19
-
20
- While status is `draft`, the AI will see a [DRAFT] hint in its context and
21
- ask before making design decisions. Flip status to `accepted` once filled.
14
+ WHAT THIS FILE IS
15
+
16
+ A one-paragraph product personality summary. Injected at every
17
+ SessionStart so Claude knows what your product looks and sounds like
18
+ before it makes design decisions or writes operator-facing text.
19
+
20
+ WHEN TO FILL IT IN
21
+
22
+ Adoption pre-fills the body below from the project mapper output (one
23
+ sentence describing what the product does). Edit it to add personality
24
+ + tone + what to avoid. Flip `status: draft` → `status: accepted` once
25
+ filled.
26
+
27
+ FORMAT
28
+
29
+ ≤200 tokens. Cover three things:
30
+ 1. Product personality — adjectives that describe the brand
31
+ 2. Tone — how the brand talks
32
+ 3. Avoid — what's off-limits (jargon, comparisons, claims)
33
+
34
+ Two examples to anchor on:
35
+
36
+ Example A (fictional consumer service):
37
+ > FoxGlove Florist hand-arranges seasonal bouquets for local
38
+ > delivery. Personality: warm, craft-focused, slightly nostalgic.
39
+ > Tone: confident but unfussy; talk about flowers like ingredients,
40
+ > not luxury items. Avoid: superlatives ("the best"), urgency
41
+ > language ("act now"), price comparisons. Visual identity is
42
+ > muted — sage + cream, no neon.
43
+
44
+ Example B (fictional B2B SaaS):
45
+ > Northstar is a developer-facing observability tool for distributed
46
+ > queues. Personality: opinionated, terse, engineer-to-engineer.
47
+ > Tone: assumes deep technical context, leads with the answer,
48
+ > skips preamble. Avoid: marketing fluff ("revolutionary",
49
+ > "game-changing"), generic AI hype, screenshot-driven feature
50
+ > lists, comparisons against other "monitoring" products.
51
+
52
+ Detailed visual identity (colors, typography, logo) goes in
53
+ sibling files: `colors.yaml`, `typography.yaml`, `logo.md`.
22
54
  -->
23
55
 
24
- (operator: replace this paragraph with your brand summary)
56
+ (adoption auto-fill writes the project's domain summary here; edit to add personality + tone + avoid)
@@ -11,10 +11,42 @@ source-commits:
11
11
  # Brand voice
12
12
 
13
13
  <!--
14
- Tone, vocabulary, communication style. Read at every SessionStart so the AI
15
- knows how to talk in this project. Keep tight — < 200 tokens.
14
+ WHAT THIS FILE IS
16
15
 
17
- Flip status to `accepted` once filled.
16
+ How the brand TALKS. Tone, vocabulary, sentence rhythm, default
17
+ register. Read at every SessionStart so Claude matches your voice
18
+ in chat replies, commit messages, PR descriptions, marketing copy,
19
+ and any operator-facing text it generates.
20
+
21
+ WHEN TO FILL IT IN
22
+
23
+ Adoption pre-fills the body with a sensible default derived from your
24
+ existing CLAUDE.md / AGENTS.md tone. Edit to add specifics. Flip
25
+ `status: draft` → `status: accepted` once it matches reality.
26
+
27
+ FORMAT
28
+
29
+ ≤200 tokens. Cover four things:
30
+ 1. Default register (formal / casual / technical / playful)
31
+ 2. Sentence shape (short fragments? full sentences? lists?)
32
+ 3. Vocabulary preferences (industry terms YES / NO)
33
+ 4. Pet peeves (phrases that immediately feel "off-brand")
34
+
35
+ Two examples to anchor on:
36
+
37
+ Example A (fictional consumer service):
38
+ > Casual, friendly, no jargon. Full sentences but never
39
+ > corporate. Use everyday words: "we'll deliver", not "we shall
40
+ > facilitate delivery". Avoid: "premium", "world-class", "passion
41
+ > for quality" — empty signals that read as filler. Sign emails
42
+ > with first name only.
43
+
44
+ Example B (fictional B2B SaaS):
45
+ > Technical, terse, engineer-to-engineer. Drop articles when it
46
+ > reads cleanly ("hook fires" not "the hook fires"). Lead with
47
+ > the answer; preamble dies. Use precise technical terms (HTTP
48
+ > 429 not "rate-limited"). Avoid: "AI-powered", "game-changing",
49
+ > emoji-heavy lists.
18
50
  -->
19
51
 
20
- (operator: replace this paragraph with how Claude should communicate)
52
+ (adoption auto-fill writes a default voice profile here; edit to match how your team actually talks)
@@ -1,4 +1,29 @@
1
1
  # MCP servers registered alongside Cairn in .mcp.json.
2
- # Includes name + description so the agent knows what's available without
3
- # listing every tool exhaustively.
2
+ #
3
+ # WHAT THIS FILE IS
4
+ #
5
+ # Inventory of the OTHER MCP servers this project uses (not cairn
6
+ # itself — cairn auto-registers via the plugin bundle). Includes
7
+ # server name + one-line capability summary. Read at SessionStart
8
+ # so the agent knows what tools it can reach without re-listing
9
+ # every tool exhaustively.
10
+ #
11
+ # WHEN TO FILL IT IN
12
+ #
13
+ # Operator-paced. Add an entry every time you wire up a new MCP
14
+ # server (Notion, Stripe, internal tools, etc.). Flip an entry's
15
+ # status when the server's capabilities shift.
16
+ #
17
+ # FORMAT
18
+ #
19
+ # Two examples to anchor on:
20
+ #
21
+ # mcp_tools:
22
+ # - name: stripe
23
+ # description: Stripe payments + customers + subscriptions. Use when the agent needs to look up a charge by id or check a customer's billing state.
24
+ # status: accepted
25
+ # - name: notion
26
+ # description: Read-only Notion workspace query. Use for cross-referencing PRDs that live in Notion, never for writes.
27
+ # status: accepted
28
+
4
29
  mcp_tools: []
@@ -1,3 +1,25 @@
1
1
  # Installed skill packs available in this session.
2
- # The init mapper scans .claude/skills/ and seeds entries; operator extends.
2
+ #
3
+ # WHAT THIS FILE IS
4
+ #
5
+ # Inventory of project-level skills the agent can invoke (the
6
+ # `.claude/skills/` directory of the host project). Each entry is
7
+ # name + one-line trigger description. Adoption seeds entries from
8
+ # whatever's already in `.claude/skills/`; operator extends.
9
+ #
10
+ # WHEN TO FILL IT IN
11
+ #
12
+ # Auto-populated at adoption + on `cairn fix` re-scans. Edit by
13
+ # hand only when adding a new project-local skill or removing one.
14
+ #
15
+ # FORMAT
16
+ #
17
+ # Two examples to anchor on:
18
+ #
19
+ # skills:
20
+ # - name: deploy-staging
21
+ # description: Push current branch to the staging GKE cluster + run smoke tests. Auto-invoke on "deploy", "ship", "push to staging".
22
+ # - name: db-migrate
23
+ # description: Generate + apply a Drizzle migration with backup snapshot. Auto-invoke when schema changes are mentioned.
24
+
3
25
  skills: []
@@ -1,2 +1,29 @@
1
1
  # Blessed implementations for security-sensitive patterns.
2
+ #
3
+ # WHAT THIS FILE IS
4
+ #
5
+ # A catalog of pattern → canonical-implementation pointers for code
6
+ # the operator wants Claude to NEVER reinvent. Each entry says "if
7
+ # you need to do X, copy from this exact location". Read at
8
+ # SessionStart so the agent skips improvising auth / signing /
9
+ # input-validation / etc.
10
+ #
11
+ # WHEN TO FILL IT IN
12
+ #
13
+ # Operator-paced. Add an entry every time you catch the agent
14
+ # hand-rolling something that has an existing blessed implementation
15
+ # in your codebase.
16
+ #
17
+ # FORMAT
18
+ #
19
+ # Two examples to anchor on:
20
+ #
21
+ # snippets:
22
+ # - pattern: jwt-signing
23
+ # canonical: src/auth/sign.ts:signSession
24
+ # why: Single source of HS256 secret + iat. Hand-rolled JWT signing has historically leaked the secret in test fixtures.
25
+ # - pattern: html-escape
26
+ # canonical: src/util/escape.ts:escape
27
+ # why: Uses the project's content-security-policy-aware escape; ad-hoc replace() chains miss attribute-context cases.
28
+
2
29
  snippets: []
@@ -1,3 +1,37 @@
1
- # Product personas — who this is for. Read at every SessionStart.
1
+ # Product personas — who this is for. Read at every SessionStart so
2
+ # the agent frames suggestions for the right audience.
3
+ #
4
+ # WHAT THIS FILE IS
5
+ #
6
+ # YAML list of named user types. Each persona is one named role with
7
+ # a one-line description (≤120 chars). 1–3 personas is the sweet
8
+ # spot; >3 dilutes signal.
9
+ #
10
+ # WHEN TO FILL IT IN
11
+ #
12
+ # Adoption pre-fills a single `primary` persona derived from project
13
+ # signals (mapper output + README). Edit to refine + add secondary
14
+ # personas. Flip `status: draft` → `status: accepted` once filled.
15
+ #
16
+ # FORMAT
17
+ #
18
+ # Two examples to anchor on:
19
+ #
20
+ # Example A (fictional consumer service — FoxGlove Florist):
21
+ # status: accepted
22
+ # personas:
23
+ # - name: gift-sender
24
+ # description: Adult ordering flowers for someone else (birthday, anniversary, sympathy). Wants warm but unfussy presentation.
25
+ # - name: wedding-planner
26
+ # description: Event coordinator booking florals 6+ weeks ahead. Cares about delivery windows + change-tolerance.
27
+ #
28
+ # Example B (fictional B2B SaaS — Northstar):
29
+ # status: accepted
30
+ # personas:
31
+ # - name: backend-engineer
32
+ # description: Owns the queue infrastructure. Reads dashboards daily, replays deadletters weekly, never wants to leave the terminal.
33
+ # - name: sre-on-call
34
+ # description: Gets paged at 3am. Wants per-queue p99 latency + a one-click deadletter snapshot, no setup.
35
+
2
36
  status: draft
3
37
  personas: []
@@ -11,11 +11,49 @@ source-commits:
11
11
  # Product positioning
12
12
 
13
13
  <!--
14
- Fill this in. This file is injected at every SessionStart so the AI knows
15
- what the product is and isn't. Keep it short — < 300 tokens. Cover: who
16
- this is for, the core value, what's deliberately out of scope.
14
+ WHAT THIS FILE IS
17
15
 
18
- Flip status to `accepted` once filled.
16
+ A tight statement of what the product is, who it's for, and
17
+ deliberately what it ISN'T. Injected at every SessionStart so the
18
+ agent stays inside-the-fence on feature suggestions and avoids
19
+ proposing work outside the product's intended scope.
20
+
21
+ WHEN TO FILL IT IN
22
+
23
+ Adoption pre-fills the body with the project's domain summary from
24
+ the mapper. Edit to add target audience + non-goals. Flip
25
+ `status: draft` → `status: accepted` once filled.
26
+
27
+ FORMAT
28
+
29
+ ≤300 tokens. Cover four things:
30
+ 1. What it IS (one-sentence elevator pitch)
31
+ 2. Who it's FOR (target operator / user)
32
+ 3. Core value (the one job it does well)
33
+ 4. What's deliberately OUT of scope
34
+
35
+ Two examples to anchor on:
36
+
37
+ Example A (fictional consumer service):
38
+ > FoxGlove Florist hand-arranges seasonal bouquets for same-day
39
+ > local delivery in the Pacific Northwest.
40
+ > For: residential customers ordering for special occasions
41
+ > (birthdays, sympathy, weddings).
42
+ > Core value: locally-grown flowers, hand-tied arrangements,
43
+ > deliveries within 4 hours of order.
44
+ > Out of scope: nationwide shipping, corporate event florals,
45
+ > artificial / silk arrangements, plant subscriptions.
46
+
47
+ Example B (fictional B2B SaaS):
48
+ > Northstar is a developer-facing observability tool that
49
+ > traces queue depth + worker latency across BullMQ + Sidekiq
50
+ > deployments.
51
+ > For: backend engineers + SREs running async-job systems at
52
+ > 1k–100k jobs/sec scale.
53
+ > Core value: per-queue p99 latency dashboards + deadletter
54
+ > replay without re-deploying.
55
+ > Out of scope: log aggregation, APM tracing, alerting (use
56
+ > PagerDuty), front-end RUM.
19
57
  -->
20
58
 
21
- (operator: replace this paragraph with a tight positioning statement)
59
+ (adoption auto-fill writes the project's domain summary here; edit to add audience + core value + out-of-scope)