@karmaniverous/stan-core 0.6.0 → 0.7.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.
@@ -428,6 +428,13 @@ Type inference (CRITICAL):
428
428
  - Favor intuitive signatures and inferred types over verbose annotations; changes that degrade downstream inference require rework or a design adjustment before merging.
429
429
  - Type-only imports MUST use `import type` (or inline `type` specifiers for mixed imports).
430
430
 
431
+ Avoid `any` (CRITICAL):
432
+
433
+ - The assistant MUST aggressively avoid the `any` type.
434
+ - Prefer `unknown` with explicit narrowing (type guards), or precise structural types such as `Record<string, unknown>`.
435
+ - If there is a compelling reason to use `any`, STOP and request a brief design discussion before implementing it.
436
+ - Once agreed, use the narrowest-scope `any` possible and memorialize the rationale with an inline comment at the point of use.
437
+
431
438
  Schema-first architecture (when runtime schemas are used):
432
439
 
433
440
  - Prefer a schema-first design: runtime schema is the source of truth; types are derived from schema; validation/parsing is centralized.
@@ -499,6 +506,12 @@ Assistant guidance
499
506
  - When emitting patches, respect house style; do not rewrap narrative Markdown outside the allowed contexts.
500
507
  - Opportunistic repair is allowed for local sections you are already modifying (e.g., unwrap manually wrapped paragraphs), but avoid repo‑wide reflows as part of unrelated changes.
501
508
 
509
+ ESLint rule disablements (extraordinary)
510
+
511
+ - The assistant MUST NOT add `eslint-disable` comments without a prior design discussion and agreement.
512
+ - If a disablement is approved, scope it as narrowly as possible (prefer `eslint-disable-next-line <rule>`) and include an inline comment explaining the rationale and (when applicable) the removal plan.
513
+ - Do not disable lint rules as a workaround for missing types; prefer proper typing, `unknown` + narrowing, or refactoring to smaller units.
514
+
502
515
  # CRITICAL: Layout
503
516
 
504
517
  - stanPath (default: `.stan`) is the root for STAN operational assets:
@@ -1258,6 +1271,10 @@ Before sending a reply, verify all of the following:
1258
1271
  4. Section headings
1259
1272
  - Headings match the template exactly (names and order).
1260
1273
 
1261
- 5. Documentation cadence and dev plan maintenance
1262
- - Normal replies: if any Patch block is present, include a Patch for `<stanPath>/system/stan.todo.md` (unless deletions-only or explicitly plan-only) and end with a Commit Message block.
1274
+ 5. Documentation cadence and required companion patches
1275
+ - Normal replies: if any Patch block is present, you MUST include:
1276
+ - A Patch for `<stanPath>/system/stan.scratch.md` (rewrite to match the current objective).
1277
+ - A Patch for `<stanPath>/system/stan.todo.md` (unless deletions-only or explicitly plan-only).
1278
+ - A `## Commit Message` block (last).
1279
+ - If any required companion patch is missing, STOP and recompose before sending.
1263
1280
  - Keep the dev plan under 300 lines by pruning whole oldest Completed entries when needed; do not rewrite retained Completed entries.
@@ -624,6 +624,10 @@ type BuildDependencyMetaArgs = {
624
624
  nodeDescriptionLimit?: number;
625
625
  nodeDescriptionTags?: string[];
626
626
  maxErrors?: number;
627
+ /** Host-injected TypeScript compiler API module (passed through to stan-context). */
628
+ typescript?: unknown;
629
+ /** Host-injected absolute path to a CommonJS TypeScript entry module (passed through to stan-context). */
630
+ typescriptPath?: string;
627
631
  };
628
632
  type NodeSource = {
629
633
  kind: 'repo';
package/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "devDependencies": {
26
26
  "@dotenvx/dotenvx": "^1.52.0",
27
27
  "@eslint/js": "^9.39.2",
28
- "@karmaniverous/stan-context": "^0.3.0",
28
+ "@karmaniverous/stan-context": "^0.4.1",
29
29
  "@rollup/plugin-alias": "^6.0.0",
30
30
  "@rollup/plugin-commonjs": "^29.0.0",
31
31
  "@rollup/plugin-json": "^6.1.0",
@@ -96,13 +96,7 @@
96
96
  "module": "dist/mjs/index.js",
97
97
  "name": "@karmaniverous/stan-core",
98
98
  "peerDependencies": {
99
- "@karmaniverous/stan-context": ">=0.0.0",
100
- "typescript": ">=5"
101
- },
102
- "peerDependenciesMeta": {
103
- "typescript": {
104
- "optional": true
105
- }
99
+ "@karmaniverous/stan-context": ">=0.0.0"
106
100
  },
107
101
  "publishConfig": {
108
102
  "access": "public"
@@ -135,7 +129,7 @@
135
129
  ]
136
130
  },
137
131
  "npm": {
138
- "publish": false
132
+ "publish": true
139
133
  }
140
134
  },
141
135
  "repository": {
@@ -157,5 +151,5 @@
157
151
  },
158
152
  "type": "module",
159
153
  "types": "dist/types/index.d.ts",
160
- "version": "0.6.0"
154
+ "version": "0.7.0"
161
155
  }