@bensandee/tooling 0.92.1 → 0.93.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bensandee/tooling",
3
- "version": "0.92.1",
3
+ "version": "0.93.0",
4
4
  "description": "CLI tool to bootstrap and maintain standardized TypeScript project tooling",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -425,16 +425,55 @@
425
425
  },
426
426
  "additionalProperties": false
427
427
  },
428
+ "chars": {
429
+ "description": "Character gate (bst chars:check) configuration. On by default: the gate scans tracked text files for LLM-tell punctuation and invisible or deceptive characters, and passes letters in any language. Set enabled false to opt out.",
430
+ "type": "object",
431
+ "properties": {
432
+ "enabled": {
433
+ "description": "Run the chars:check gate (default true). Set false to opt out -- the only off-switch: the gate scans tracked text files for LLM-tell punctuation and invisible or deceptive characters, and passes letters in any language.",
434
+ "type": "boolean"
435
+ },
436
+ "exclude": {
437
+ "description": "Additional path globs the chars:check scan skips. Added to the built-in defaults (docs/**/retired/**, **/CHANGELOG.md, and the two generated .claude/hooks/bst-hook files), not a replacement for them.",
438
+ "type": "array",
439
+ "items": {
440
+ "type": "string"
441
+ }
442
+ },
443
+ "deny": {
444
+ "description": "Named offender categories to add to the default deny-list (e.g. \"math\")",
445
+ "type": "array",
446
+ "items": {
447
+ "type": "string"
448
+ }
449
+ },
450
+ "allow": {
451
+ "description": "Codepoints (as U+XXXX) to drop from the effective deny-list",
452
+ "type": "array",
453
+ "items": {
454
+ "type": "string"
455
+ }
456
+ },
457
+ "treatAsProse": {
458
+ "description": "Path globs (matched the same way as exclude) whose files --fix classifies as prose wholesale regardless of extension, flattening rather than flagging. The opt-back-in for an extension with no dedicated lexical-context classifier where blind flattening is known safe. No built-in defaults.",
459
+ "type": "array",
460
+ "items": {
461
+ "type": "string"
462
+ }
463
+ }
464
+ },
465
+ "additionalProperties": false
466
+ },
428
467
  "ascii": {
429
- "description": "ASCII-only gate (bst ascii:check) configuration. Opt-in: set enabled true to scan tracked text files for curated non-ASCII offenders (curly quotes, ellipsis, dashes, box-drawing) and report a suggested ASCII replacement for each hit.",
468
+ "description": "Deprecated alias of chars, read until 2026-12-15",
430
469
  "type": "object",
431
470
  "properties": {
432
471
  "enabled": {
433
- "description": "Opt into the ascii:check gate (default false)",
472
+ "description": "Run the chars:check gate (default true). Set false to opt out -- the only off-switch: the gate scans tracked text files for LLM-tell punctuation and invisible or deceptive characters, and passes letters in any language.",
434
473
  "type": "boolean"
435
474
  },
436
475
  "exclude": {
437
- "description": "Additional path globs to skip during scanning. Added to the built-in defaults (docs/**/retired/**, **/CHANGELOG.md, and the two generated .claude/hooks/bst-hook files), not a replacement for them.",
476
+ "description": "Additional path globs the chars:check scan skips. Added to the built-in defaults (docs/**/retired/**, **/CHANGELOG.md, and the two generated .claude/hooks/bst-hook files), not a replacement for them.",
438
477
  "type": "array",
439
478
  "items": {
440
479
  "type": "string"
@@ -552,12 +591,12 @@
552
591
  }
553
592
  },
554
593
  "stack": {
555
- "description": "Whether the repo has TS/JS source. Detected from source evidence; TypeScript is never inferred from absence.",
594
+ "description": "Whether the repo has TS/JS source. Detected from source evidence; TypeScript is never inferred from absence. Setting this key pins its value, even one that equals detection, and repo:sync keeps it until the key is deleted.",
556
595
  "type": "string",
557
596
  "enum": ["typescript", "javascript", "none"]
558
597
  },
559
598
  "builder": {
560
- "description": "What compiles the project. Detected from the package.json build script, then config-file presence.",
599
+ "description": "What compiles the project. Detected from the package.json build script, then config-file presence. Setting this key pins its value, even one that equals detection, and repo:sync keeps it until the key is deleted.",
561
600
  "type": "string",
562
601
  "enum": ["tsdown", "vite", "custom", "none"]
563
602
  },