specweave 3.1.9 → 3.1.10

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.
Files changed (64) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/README.md +2 -0
  3. package/bin/specweave.js +5 -0
  4. package/dist/src/cli/commands/create-increment.d.ts +2 -0
  5. package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
  6. package/dist/src/cli/commands/create-increment.js +22 -2
  7. package/dist/src/cli/commands/create-increment.js.map +1 -1
  8. package/dist/src/cli/commands/generate-rubric.d.ts.map +1 -1
  9. package/dist/src/cli/commands/generate-rubric.js +13 -0
  10. package/dist/src/cli/commands/generate-rubric.js.map +1 -1
  11. package/dist/src/cli/commands/handoff.d.ts +2 -0
  12. package/dist/src/cli/commands/handoff.d.ts.map +1 -1
  13. package/dist/src/cli/commands/handoff.js +6 -0
  14. package/dist/src/cli/commands/handoff.js.map +1 -1
  15. package/dist/src/cli/commands/task.d.ts +4 -0
  16. package/dist/src/cli/commands/task.d.ts.map +1 -1
  17. package/dist/src/cli/commands/task.js +58 -23
  18. package/dist/src/cli/commands/task.js.map +1 -1
  19. package/dist/src/core/auto/config.d.ts.map +1 -1
  20. package/dist/src/core/auto/config.js +1 -3
  21. package/dist/src/core/auto/config.js.map +1 -1
  22. package/dist/src/core/auto/types.d.ts +0 -1
  23. package/dist/src/core/auto/types.d.ts.map +1 -1
  24. package/dist/src/core/auto/types.js +0 -2
  25. package/dist/src/core/auto/types.js.map +1 -1
  26. package/dist/src/core/config/types.d.ts +13 -1
  27. package/dist/src/core/config/types.d.ts.map +1 -1
  28. package/dist/src/core/config/types.js +1 -0
  29. package/dist/src/core/config/types.js.map +1 -1
  30. package/dist/src/core/hooks/handlers/pre-compact.d.ts +14 -4
  31. package/dist/src/core/hooks/handlers/pre-compact.d.ts.map +1 -1
  32. package/dist/src/core/hooks/handlers/pre-compact.js +36 -6
  33. package/dist/src/core/hooks/handlers/pre-compact.js.map +1 -1
  34. package/dist/src/core/hooks/handlers/require-increment.d.ts +6 -0
  35. package/dist/src/core/hooks/handlers/require-increment.d.ts.map +1 -1
  36. package/dist/src/core/hooks/handlers/require-increment.js +1 -1
  37. package/dist/src/core/hooks/handlers/require-increment.js.map +1 -1
  38. package/dist/src/core/increment/auto-commit.d.ts +91 -0
  39. package/dist/src/core/increment/auto-commit.d.ts.map +1 -0
  40. package/dist/src/core/increment/auto-commit.js +371 -0
  41. package/dist/src/core/increment/auto-commit.js.map +1 -0
  42. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  43. package/dist/src/core/increment/completion-validator.js +11 -12
  44. package/dist/src/core/increment/completion-validator.js.map +1 -1
  45. package/dist/src/core/increment/metadata-manager.d.ts +1 -1
  46. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  47. package/dist/src/core/increment/metadata-manager.js +3 -9
  48. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  49. package/dist/src/core/rubric/rubric-generator.d.ts.map +1 -1
  50. package/dist/src/core/rubric/rubric-generator.js +19 -18
  51. package/dist/src/core/rubric/rubric-generator.js.map +1 -1
  52. package/dist/src/core/session/handoff-remote.d.ts +2 -0
  53. package/dist/src/core/session/handoff-remote.d.ts.map +1 -1
  54. package/dist/src/core/session/handoff-remote.js +4 -1
  55. package/dist/src/core/session/handoff-remote.js.map +1 -1
  56. package/dist/src/core/session/work-handoff.d.ts +5 -0
  57. package/dist/src/core/session/work-handoff.d.ts.map +1 -1
  58. package/dist/src/core/session/work-handoff.js +17 -2
  59. package/dist/src/core/session/work-handoff.js.map +1 -1
  60. package/package.json +1 -1
  61. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  62. package/plugins/specweave/defaults/rubric-defaults.md +4 -5
  63. package/plugins/specweave/skills/do/SKILL.md +3 -3
  64. package/src/core/schemas/specweave-config.schema.json +31 -46
@@ -563,72 +563,57 @@
563
563
  }
564
564
  }
565
565
  },
566
+ "git": {
567
+ "type": "object",
568
+ "description": "Commits of the increment's own spec.md, ledger.jsonl and metadata.json",
569
+ "properties": {
570
+ "autoCommitIncrement": {
571
+ "type": "boolean",
572
+ "default": false,
573
+ "description": "Commit those files (pathspec only, hooks run) after task, create-increment and handoff; --no-commit skips one command"
574
+ },
575
+ "autoPushIncrement": {
576
+ "type": "boolean",
577
+ "default": false,
578
+ "description": "After an auto-commit, fast-forward push the branch to its upstream"
579
+ }
580
+ }
581
+ },
566
582
  "testing": {
567
583
  "type": "object",
568
- "description": "Testing configuration including TDD mode, coverage targets, and browser automation",
584
+ "description": "Verification commands and optional test policy. Nothing here is set by default; TDD and coverage targets apply only when you set them.",
569
585
  "properties": {
570
- "defaultTestMode": {
571
- "type": "string",
572
- "description": "Default test mode for new increments",
573
- "enum": ["TDD", "test-first", "test-after"],
574
- "default": "test-after"
586
+ "commands": {
587
+ "type": "array",
588
+ "description": "Commands `specweave verify` runs, in order. Empty or unset means auto-detect (package.json test, lint, build; Cargo, pytest or Go).",
589
+ "items": { "type": "string" }
575
590
  },
576
- "defaultCoverageTarget": {
577
- "type": "number",
578
- "description": "Default code coverage target percentage",
579
- "minimum": 0,
580
- "maximum": 100,
581
- "default": 80
591
+ "mode": {
592
+ "type": "string",
593
+ "description": "Optional. How tests are written for new work. Unset means no test-order rule. `TDD` adds 'all tests must pass' to `specweave auto` success criteria.",
594
+ "enum": ["TDD", "test-after", "manual", "none"]
582
595
  },
583
- "coverageTargets": {
596
+ "coverage": {
584
597
  "type": "object",
585
- "description": "Per-level coverage targets",
598
+ "description": "Optional coverage targets. Unset means no coverage check. Below target is a warning at close, never a block.",
586
599
  "properties": {
587
600
  "unit": {
588
601
  "type": "number",
589
602
  "description": "Unit test line coverage target (Istanbul/c8 percentage)",
590
603
  "minimum": 0,
591
- "maximum": 100,
592
- "default": 80
604
+ "maximum": 100
593
605
  },
594
606
  "integration": {
595
607
  "type": "number",
596
608
  "description": "Integration test line coverage target (Istanbul/c8 percentage)",
597
609
  "minimum": 0,
598
- "maximum": 100,
599
- "default": 70
610
+ "maximum": 100
600
611
  },
601
612
  "e2e": {
602
613
  "type": "number",
603
- "description": "E2E test pass-rate target (percentage of written Playwright tests that must pass, not line coverage)",
614
+ "description": "Share of written end-to-end tests that must pass (not line coverage)",
604
615
  "minimum": 0,
605
- "maximum": 100,
606
- "default": 100
607
- }
608
- },
609
- "additionalProperties": false
610
- },
611
- "tddEnforcement": {
612
- "type": "string",
613
- "description": "TDD enforcement level: strict blocks GREEN without RED, warn shows warning, off disables",
614
- "enum": ["strict", "warn", "off"],
615
- "default": "warn"
616
- },
617
- "playwright": {
618
- "type": "object",
619
- "description": "Playwright browser automation configuration for dual-mode (CLI vs MCP)",
620
- "properties": {
621
- "preferCli": {
622
- "type": "boolean",
623
- "description": "Prefer @playwright/cli over MCP plugin for automation tasks (98% token reduction). Set false to always use MCP.",
624
- "default": true
625
- },
626
- "cliFlags": {
627
- "type": "array",
628
- "description": "Additional flags to pass to playwright-cli commands",
629
- "items": {
630
- "type": "string"
631
- }
616
+ "maximum": 100
632
617
  }
633
618
  },
634
619
  "additionalProperties": false