specweave 1.0.253 → 1.0.255

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 (138) hide show
  1. package/CLAUDE.md +24 -24
  2. package/README.md +163 -1
  3. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -1
  4. package/dist/src/adapters/agents-md-generator.js +0 -1
  5. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  6. package/dist/src/adapters/claude/README.md +0 -1
  7. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -1
  8. package/dist/src/adapters/claude-md-generator.js +0 -1
  9. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  10. package/dist/src/cli/commands/docs.d.ts.map +1 -1
  11. package/dist/src/cli/commands/docs.js +59 -55
  12. package/dist/src/cli/commands/docs.js.map +1 -1
  13. package/dist/src/cli/helpers/init/smart-defaults.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/smart-defaults.js +7 -1
  15. package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
  16. package/dist/src/core/config/types.d.ts +2 -0
  17. package/dist/src/core/config/types.d.ts.map +1 -1
  18. package/dist/src/core/config/types.js.map +1 -1
  19. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -1
  20. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +5 -0
  21. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -1
  22. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +21 -0
  23. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  24. package/dist/src/core/lazy-loading/llm-plugin-detector.js +61 -107
  25. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  26. package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts.map +1 -1
  27. package/dist/src/core/living-docs/enterprise/history-analyzer.js +1 -3
  28. package/dist/src/core/living-docs/enterprise/history-analyzer.js.map +1 -1
  29. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts.map +1 -1
  30. package/dist/src/core/living-docs/governance/java-standards-parser.js +37 -18
  31. package/dist/src/core/living-docs/governance/java-standards-parser.js.map +1 -1
  32. package/dist/src/core/living-docs/operations/ops-generator.js +2 -2
  33. package/dist/src/core/living-docs/operations/ops-generator.js.map +1 -1
  34. package/dist/src/core/reflection/index.d.ts +1 -1
  35. package/dist/src/core/reflection/index.d.ts.map +1 -1
  36. package/dist/src/core/reflection/index.js +1 -1
  37. package/dist/src/core/reflection/index.js.map +1 -1
  38. package/dist/src/core/reflection/reflect-handler.d.ts.map +1 -1
  39. package/dist/src/core/reflection/reflect-handler.js +1 -2
  40. package/dist/src/core/reflection/reflect-handler.js.map +1 -1
  41. package/dist/src/core/reflection/skill-memories.d.ts +13 -1
  42. package/dist/src/core/reflection/skill-memories.d.ts.map +1 -1
  43. package/dist/src/core/reflection/skill-memories.js +55 -10
  44. package/dist/src/core/reflection/skill-memories.js.map +1 -1
  45. package/dist/src/core/repo-structure/prefix-validator.d.ts +25 -0
  46. package/dist/src/core/repo-structure/prefix-validator.d.ts.map +1 -0
  47. package/dist/src/core/repo-structure/prefix-validator.js +47 -0
  48. package/dist/src/core/repo-structure/prefix-validator.js.map +1 -0
  49. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +4 -0
  50. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  51. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  52. package/dist/src/core/repo-structure/role-prefix-collector.d.ts +45 -0
  53. package/dist/src/core/repo-structure/role-prefix-collector.d.ts.map +1 -0
  54. package/dist/src/core/repo-structure/role-prefix-collector.js +106 -0
  55. package/dist/src/core/repo-structure/role-prefix-collector.js.map +1 -0
  56. package/dist/src/hooks/session-start.js +7 -0
  57. package/dist/src/hooks/session-start.js.map +1 -1
  58. package/dist/src/sync/story-router.d.ts +36 -0
  59. package/dist/src/sync/story-router.d.ts.map +1 -0
  60. package/dist/src/sync/story-router.js +56 -0
  61. package/dist/src/sync/story-router.js.map +1 -0
  62. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -1
  63. package/dist/src/utils/agents-md-compiler.js +0 -1
  64. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  65. package/dist/src/utils/state-cleanup.d.ts +19 -0
  66. package/dist/src/utils/state-cleanup.d.ts.map +1 -0
  67. package/dist/src/utils/state-cleanup.js +61 -0
  68. package/dist/src/utils/state-cleanup.js.map +1 -0
  69. package/package.json +1 -1
  70. package/plugins/specweave/PLUGIN.md +0 -1
  71. package/plugins/specweave/commands/brownfield-analyzer.md +0 -10
  72. package/plugins/specweave/commands/brownfield-onboarder.md +0 -10
  73. package/plugins/specweave/commands/export-skills.md +0 -10
  74. package/plugins/specweave/commands/plugin-validator.md +0 -10
  75. package/plugins/specweave/hooks/stop-reflect.sh +4 -2
  76. package/plugins/specweave/hooks/user-prompt-submit.sh +29 -68
  77. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +0 -3
  78. package/plugins/specweave/skills/architect/SKILL.md +2 -6
  79. package/plugins/specweave/skills/archive-increments/SKILL.md +0 -10
  80. package/plugins/specweave/skills/auto/SKILL.md +4 -0
  81. package/plugins/specweave/skills/cancel-auto/SKILL.md +5 -1
  82. package/plugins/specweave/skills/code-review/SKILL.md +1 -11
  83. package/plugins/specweave/skills/code-simplifier/SKILL.md +3 -7
  84. package/plugins/specweave/skills/do/SKILL.md +6 -2
  85. package/plugins/specweave/skills/docs/SKILL.md +5 -8
  86. package/plugins/specweave/skills/docs-updater/SKILL.md +4 -10
  87. package/plugins/specweave/skills/done/SKILL.md +6 -3
  88. package/plugins/specweave/skills/framework/SKILL.md +4 -10
  89. package/plugins/specweave/skills/grill/SKILL.md +7 -12
  90. package/plugins/specweave/skills/increment/SKILL.md +5 -0
  91. package/plugins/specweave/skills/increment-planner/SKILL.md +4 -7
  92. package/plugins/specweave/skills/increment-work-router/SKILL.md +0 -10
  93. package/plugins/specweave/skills/judge-llm/SKILL.md +0 -11
  94. package/plugins/specweave/skills/lsp/SKILL.md +4 -10
  95. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +0 -10
  96. package/plugins/specweave/skills/next/SKILL.md +1 -1
  97. package/plugins/specweave/skills/plan/SKILL.md +1 -1
  98. package/plugins/specweave/skills/pm/SKILL.md +6 -11
  99. package/plugins/specweave/skills/pm-closure-validation/SKILL.md +0 -10
  100. package/plugins/specweave/skills/progress/SKILL.md +5 -1
  101. package/plugins/specweave/skills/progress-sync/SKILL.md +2 -11
  102. package/plugins/specweave/skills/save/SKILL.md +6 -1
  103. package/plugins/specweave/skills/security/SKILL.md +2 -6
  104. package/plugins/specweave/skills/security-patterns/SKILL.md +4 -10
  105. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +0 -10
  106. package/plugins/specweave/skills/spec-generator/SKILL.md +0 -10
  107. package/plugins/specweave/skills/tdd-cycle/SKILL.md +5 -1
  108. package/plugins/specweave/skills/tdd-green/SKILL.md +5 -1
  109. package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +4 -10
  110. package/plugins/specweave/skills/tdd-red/SKILL.md +5 -1
  111. package/plugins/specweave/skills/tdd-refactor/SKILL.md +1 -1
  112. package/plugins/specweave/skills/team-build/SKILL.md +1 -1
  113. package/plugins/specweave/skills/team-lead/SKILL.md +3 -3
  114. package/plugins/specweave/skills/test-aware-planner/SKILL.md +0 -10
  115. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +0 -10
  116. package/plugins/specweave/skills/update-instructions/SKILL.md +0 -10
  117. package/plugins/specweave/skills/validate/SKILL.md +6 -1
  118. package/plugins/specweave-github/commands/close.md +2 -2
  119. package/src/templates/CLAUDE.md.template +1 -1
  120. package/src/templates/docs/adr-template.md +1 -1
  121. package/src/templates/docs/hld-template.md +1 -1
  122. package/src/templates/docs/lld-template.md +2 -2
  123. package/src/templates/docs/rfc-template.md +1 -1
  124. package/src/templates/docs/spec-template.md +1 -1
  125. package/dist/src/core/reflection/skill-memory-injector.d.ts +0 -42
  126. package/dist/src/core/reflection/skill-memory-injector.d.ts.map +0 -1
  127. package/dist/src/core/reflection/skill-memory-injector.js +0 -67
  128. package/dist/src/core/reflection/skill-memory-injector.js.map +0 -1
  129. package/plugins/specweave/commands/skill.md +0 -620
  130. package/plugins/specweave/skills/tech-lead/SKILL.md +0 -25
  131. package/plugins/specweave/templates/coding-standards.md.template +0 -535
  132. package/plugins/specweave/templates/hookify/README.md +0 -47
  133. package/plugins/specweave/templates/hookify/hookify.block-force-push.local.md +0 -19
  134. package/plugins/specweave/templates/hookify/hookify.block-metadata-status.local.md +0 -18
  135. package/plugins/specweave/templates/hookify/hookify.block-secrets.local.md +0 -26
  136. package/plugins/specweave/templates/hookify/hookify.require-tests.local.md +0 -22
  137. package/plugins/specweave/templates/hookify/hookify.warn-dangerous-rm.local.md +0 -23
  138. package/plugins/specweave/templates/hookify/hookify.warn-root-files.local.md +0 -21
@@ -1,5 +1,6 @@
1
1
  ---
2
- description: Validate SpecWeave increment with rule-based checks and optional AI quality assessment
2
+ description: Validate increment with rule-based checks and AI quality assessment. Use when saying "validate", "check quality", or "verify increment".
3
+ argument-hint: "[increment-id]"
3
4
  hooks:
4
5
  Stop:
5
6
  - hooks:
@@ -9,6 +10,10 @@ hooks:
9
10
 
10
11
  # Validate Increment
11
12
 
13
+ ## Project Overrides
14
+
15
+ !`s="validate"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null`
16
+
12
17
  You are helping the user validate a SpecWeave increment with optional AI-powered quality assessment.
13
18
 
14
19
  ## Usage
@@ -364,9 +364,9 @@ plugins:
364
364
  - type: "pr_merged"
365
365
  required: true
366
366
 
367
- # Require approval from tech lead
367
+ # Require approval from architect
368
368
  - type: "approval"
369
- approvers: ["@tech-lead"]
369
+ approvers: ["@architect"]
370
370
  required: true
371
371
  ```
372
372
 
@@ -38,7 +38,7 @@ plugins/specweave/
38
38
  └── skills/ # Auto-activating expertise (keyword-triggered)
39
39
  ├── architect/ # → activates on "architecture", "system design"
40
40
  ├── pm/ # → activates on "product", "requirements", "MVP"
41
- └── tech-lead/ # → activates on "code review", "best practices"
41
+ └── code-simplifier/ # → activates on "simplify code", "clean up code"
42
42
  ```
43
43
 
44
44
  ### Quick Examples
@@ -4,7 +4,7 @@
4
4
  **Author**: [Your Name]
5
5
  **Created**: YYYY-MM-DD
6
6
  **Last Updated**: YYYY-MM-DD
7
- **Reviewers**: @architect, @tech-lead
7
+ **Reviewers**: @architect
8
8
 
9
9
  ---
10
10
 
@@ -4,7 +4,7 @@
4
4
  **Author**: [Your Name]
5
5
  **Created**: YYYY-MM-DD
6
6
  **Last Updated**: YYYY-MM-DD
7
- **Reviewers**: @architect, @tech-lead
7
+ **Reviewers**: @architect
8
8
 
9
9
  ---
10
10
 
@@ -4,7 +4,7 @@
4
4
  **Author**: [Your Name]
5
5
  **Created**: YYYY-MM-DD
6
6
  **Last Updated**: YYYY-MM-DD
7
- **Reviewers**: @tech-lead, @senior-engineer
7
+ **Reviewers**: @architect, @senior-engineer
8
8
 
9
9
  **Related HLD**: [Link to HLD](hld-{system-name}.md)
10
10
 
@@ -553,7 +553,7 @@ Response:
553
553
  ## Open Questions / TODOs
554
554
 
555
555
  - [ ] **Q1**: Should we support OAuth 2.0 providers (Google, GitHub)?
556
- - **Owner**: @tech-lead
556
+ - **Owner**: @architect
557
557
  - **Due Date**: YYYY-MM-DD
558
558
 
559
559
  - [ ] **Q2**: Should we implement passwordless login (magic links)?
@@ -4,7 +4,7 @@
4
4
  **Author**: [Your Name]
5
5
  **Created**: YYYY-MM-DD
6
6
  **Last Updated**: YYYY-MM-DD
7
- **Reviewers**: @architect, @tech-lead, @security
7
+ **Reviewers**: @architect, @security
8
8
 
9
9
  ---
10
10
 
@@ -4,7 +4,7 @@
4
4
  **Author**: [Your Name]
5
5
  **Created**: YYYY-MM-DD
6
6
  **Last Updated**: YYYY-MM-DD
7
- **Reviewers**: @architect, @tech-lead, @security
7
+ **Reviewers**: @architect, @security
8
8
 
9
9
  ---
10
10
 
@@ -1,42 +0,0 @@
1
- /**
2
- * Skill Memory Injector
3
- *
4
- * Provides functions to extract and inject skill-specific memories
5
- * into Claude's context when a skill is detected.
6
- *
7
- * Used by user-prompt-submit hook to automatically inject learnings
8
- * when detect-intent identifies a skill invocation.
9
- *
10
- * @module core/reflection/skill-memory-injector
11
- */
12
- /**
13
- * Extract skill name from full skill identifier
14
- *
15
- * @example
16
- * extractSkillName('sw:pm') // → 'pm'
17
- * extractSkillName('sw-frontend:frontend-architect') // → 'frontend-architect'
18
- * extractSkillName('architect') // → 'architect'
19
- */
20
- export declare function extractSkillName(fullSkillName: string): string;
21
- /**
22
- * Build skill memory content for injection into additionalContext
23
- *
24
- * Reads the skill memory file and extracts learnings section.
25
- * Returns formatted context string or null if no memory exists.
26
- *
27
- * @param projectRoot - Project root path
28
- * @param skillName - Skill name (e.g., 'pm', 'frontend-architect')
29
- * @returns Formatted memory context or null
30
- */
31
- export declare function buildSkillMemoryContext(projectRoot: string, skillName: string): string | null;
32
- /**
33
- * Build skill memory context from a full skill identifier
34
- *
35
- * Convenience function that combines extractSkillName and buildSkillMemoryContext.
36
- *
37
- * @param projectRoot - Project root path
38
- * @param fullSkillName - Full skill name (e.g., 'sw:pm', 'sw-frontend:frontend-architect')
39
- * @returns Formatted memory context or null
40
- */
41
- export declare function getSkillMemoryForInjection(projectRoot: string, fullSkillName: string): string | null;
42
- //# sourceMappingURL=skill-memory-injector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-memory-injector.d.ts","sourceRoot":"","sources":["../../../../src/core/reflection/skill-memory-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CA0Bf;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAGf"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Skill Memory Injector
3
- *
4
- * Provides functions to extract and inject skill-specific memories
5
- * into Claude's context when a skill is detected.
6
- *
7
- * Used by user-prompt-submit hook to automatically inject learnings
8
- * when detect-intent identifies a skill invocation.
9
- *
10
- * @module core/reflection/skill-memory-injector
11
- */
12
- import * as fs from 'fs';
13
- import * as path from 'path';
14
- /**
15
- * Extract skill name from full skill identifier
16
- *
17
- * @example
18
- * extractSkillName('sw:pm') // → 'pm'
19
- * extractSkillName('sw-frontend:frontend-architect') // → 'frontend-architect'
20
- * extractSkillName('architect') // → 'architect'
21
- */
22
- export function extractSkillName(fullSkillName) {
23
- // Format: "plugin:skill" or just "skill"
24
- const parts = fullSkillName.split(':');
25
- return parts.length > 1 ? parts[1] : parts[0];
26
- }
27
- /**
28
- * Build skill memory content for injection into additionalContext
29
- *
30
- * Reads the skill memory file and extracts learnings section.
31
- * Returns formatted context string or null if no memory exists.
32
- *
33
- * @param projectRoot - Project root path
34
- * @param skillName - Skill name (e.g., 'pm', 'frontend-architect')
35
- * @returns Formatted memory context or null
36
- */
37
- export function buildSkillMemoryContext(projectRoot, skillName) {
38
- const memoryPath = path.join(projectRoot, '.specweave', 'skill-memories', `${skillName}.md`);
39
- if (!fs.existsSync(memoryPath)) {
40
- return null;
41
- }
42
- const content = fs.readFileSync(memoryPath, 'utf-8');
43
- // Extract just the learnings section (skip the header)
44
- const learningsMatch = content.match(/## Learnings\n([\s\S]*?)(?:\n## |$)/);
45
- if (!learningsMatch) {
46
- return null;
47
- }
48
- const learnings = learningsMatch[1].trim();
49
- if (!learnings) {
50
- return null;
51
- }
52
- return `📚 **Skill Memory for ${skillName}**:\n${learnings}`;
53
- }
54
- /**
55
- * Build skill memory context from a full skill identifier
56
- *
57
- * Convenience function that combines extractSkillName and buildSkillMemoryContext.
58
- *
59
- * @param projectRoot - Project root path
60
- * @param fullSkillName - Full skill name (e.g., 'sw:pm', 'sw-frontend:frontend-architect')
61
- * @returns Formatted memory context or null
62
- */
63
- export function getSkillMemoryForInjection(projectRoot, fullSkillName) {
64
- const skillName = extractSkillName(fullSkillName);
65
- return buildSkillMemoryContext(projectRoot, skillName);
66
- }
67
- //# sourceMappingURL=skill-memory-injector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill-memory-injector.js","sourceRoot":"","sources":["../../../../src/core/reflection/skill-memory-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB;IACpD,yCAAyC;IACzC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAmB,EACnB,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,GAAG,SAAS,KAAK,CAClB,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAErD,uDAAuD;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC5E,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,yBAAyB,SAAS,QAAQ,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,aAAqB;IAErB,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,OAAO,uBAAuB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC"}