xtrm-tools 2.0.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.
Files changed (447) hide show
  1. package/CHANGELOG.md +496 -0
  2. package/README.md +762 -0
  3. package/cli/dist/index.cjs +55245 -0
  4. package/cli/dist/index.cjs.map +1 -0
  5. package/cli/dist/index.d.cts +2 -0
  6. package/cli/package.json +43 -0
  7. package/config/.env.example +40 -0
  8. package/config/hooks.json +36 -0
  9. package/config/mcp_servers.json +46 -0
  10. package/config/mcp_servers_optional.json +53 -0
  11. package/config/settings.json +70 -0
  12. package/hooks/README.md +156 -0
  13. package/hooks/__pycache__/agent_context.cpython-314.pyc +0 -0
  14. package/hooks/agent_context.py +105 -0
  15. package/hooks/gitnexus/gitnexus-hook.cjs +133 -0
  16. package/hooks/serena-workflow-reminder.py +74 -0
  17. package/hooks/skill-discovery.py +90 -0
  18. package/hooks/skill-suggestion.py +112 -0
  19. package/hooks/test_agent_context.py +112 -0
  20. package/hooks/type-safety-enforcement.py +107 -0
  21. package/package.json +48 -0
  22. package/project-skills/main-guard/.claude/hooks/main-guard.cjs +188 -0
  23. package/project-skills/main-guard/.claude/settings.json +16 -0
  24. package/project-skills/main-guard/.claude/skills/using-main-guard/SKILL.md +135 -0
  25. package/project-skills/main-guard/README.md +163 -0
  26. package/project-skills/py-quality-gate/.claude/hooks/quality-check.py +311 -0
  27. package/project-skills/py-quality-gate/.claude/settings.json +16 -0
  28. package/project-skills/py-quality-gate/.claude/skills/using-py-quality-gate/SKILL.md +112 -0
  29. package/project-skills/py-quality-gate/README.md +147 -0
  30. package/project-skills/service-skills-set/.claude/git-hooks/__pycache__/doc_reminder.cpython-314.pyc +0 -0
  31. package/project-skills/service-skills-set/.claude/git-hooks/__pycache__/skill_staleness.cpython-314.pyc +0 -0
  32. package/project-skills/service-skills-set/.claude/git-hooks/doc_reminder.py +67 -0
  33. package/project-skills/service-skills-set/.claude/git-hooks/skill_staleness.py +194 -0
  34. package/project-skills/service-skills-set/.claude/service-registry.json +4 -0
  35. package/project-skills/service-skills-set/.claude/settings.json +37 -0
  36. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +433 -0
  37. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +412 -0
  38. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +264 -0
  39. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/bootstrap.py +308 -0
  40. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/deep_dive.py +304 -0
  41. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/scaffolder.py +482 -0
  42. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +231 -0
  43. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/scripts/scope.py +74 -0
  44. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +136 -0
  45. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/__pycache__/drift_detector.cpython-314.pyc +0 -0
  46. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/drift_detector.py +222 -0
  47. package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +108 -0
  48. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/cataloger.cpython-314.pyc +0 -0
  49. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/skill_activator.cpython-314.pyc +0 -0
  50. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/cataloger.py +74 -0
  51. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +152 -0
  52. package/project-skills/service-skills-set/README.md +93 -0
  53. package/project-skills/service-skills-set/__pycache__/install-service-skills.cpython-314.pyc +0 -0
  54. package/project-skills/service-skills-set/install-service-skills.py +163 -0
  55. package/project-skills/service-skills-set/service-skills-readme.md +236 -0
  56. package/project-skills/tdd-guard/.claude/settings.json +38 -0
  57. package/project-skills/tdd-guard/.claude/skills/using-tdd-guard/SKILL.md +74 -0
  58. package/project-skills/tdd-guard/CLAUDE.md +98 -0
  59. package/project-skills/tdd-guard/CONTRIBUTING.md +38 -0
  60. package/project-skills/tdd-guard/DEVELOPMENT.md +127 -0
  61. package/project-skills/tdd-guard/LICENSE +21 -0
  62. package/project-skills/tdd-guard/README.md +396 -0
  63. package/project-skills/tdd-guard/docs/adr/001-claude-session-subdirectory.md +52 -0
  64. package/project-skills/tdd-guard/docs/adr/002-secure-claude-binary-path.md +56 -0
  65. package/project-skills/tdd-guard/docs/adr/003-remove-configurable-data-directory.md +56 -0
  66. package/project-skills/tdd-guard/docs/adr/004-monorepo-architecture.md +64 -0
  67. package/project-skills/tdd-guard/docs/adr/005-claude-project-dir-support.md +55 -0
  68. package/project-skills/tdd-guard/docs/adr/006-phpunit-separate-repository.md +93 -0
  69. package/project-skills/tdd-guard/docs/adr/007-golangci-lint-path-support.md +83 -0
  70. package/project-skills/tdd-guard/docs/adr/008-storybook-reporter-design.md +182 -0
  71. package/project-skills/tdd-guard/docs/assets/tdd-guard-demo-screenshot.gif +0 -0
  72. package/project-skills/tdd-guard/docs/config-migration.md +143 -0
  73. package/project-skills/tdd-guard/docs/configuration.md +137 -0
  74. package/project-skills/tdd-guard/docs/custom-instructions.md +43 -0
  75. package/project-skills/tdd-guard/docs/enforcement.md +46 -0
  76. package/project-skills/tdd-guard/docs/ignore-patterns.md +81 -0
  77. package/project-skills/tdd-guard/docs/linting.md +109 -0
  78. package/project-skills/tdd-guard/docs/quick-commands.md +52 -0
  79. package/project-skills/tdd-guard/docs/session-management.md +75 -0
  80. package/project-skills/tdd-guard/docs/storybook-vitest-addon.md +120 -0
  81. package/project-skills/tdd-guard/docs/validation-model.md +63 -0
  82. package/project-skills/tdd-guard/eslint.config.mjs +140 -0
  83. package/project-skills/tdd-guard/package-lock.json +16937 -0
  84. package/project-skills/tdd-guard/package.json +102 -0
  85. package/project-skills/tdd-guard/reporters/go/README.md +67 -0
  86. package/project-skills/tdd-guard/reporters/go/cmd/tdd-guard-go/main.go +127 -0
  87. package/project-skills/tdd-guard/reporters/go/cmd/tdd-guard-go/main_test.go +280 -0
  88. package/project-skills/tdd-guard/reporters/go/go.mod +3 -0
  89. package/project-skills/tdd-guard/reporters/go/go.sum +0 -0
  90. package/project-skills/tdd-guard/reporters/go/internal/formatter/formatter.go +126 -0
  91. package/project-skills/tdd-guard/reporters/go/internal/formatter/formatter_test.go +264 -0
  92. package/project-skills/tdd-guard/reporters/go/internal/io/tee_reader.go +26 -0
  93. package/project-skills/tdd-guard/reporters/go/internal/io/tee_reader_test.go +37 -0
  94. package/project-skills/tdd-guard/reporters/go/internal/parser/mixed_reader.go +94 -0
  95. package/project-skills/tdd-guard/reporters/go/internal/parser/mixed_reader_test.go +198 -0
  96. package/project-skills/tdd-guard/reporters/go/internal/parser/parser.go +245 -0
  97. package/project-skills/tdd-guard/reporters/go/internal/parser/parser_test.go +547 -0
  98. package/project-skills/tdd-guard/reporters/go/internal/storage/storage.go +35 -0
  99. package/project-skills/tdd-guard/reporters/go/internal/storage/storage_test.go +113 -0
  100. package/project-skills/tdd-guard/reporters/go/internal/transformer/transformer.go +103 -0
  101. package/project-skills/tdd-guard/reporters/go/internal/transformer/transformer_test.go +303 -0
  102. package/project-skills/tdd-guard/reporters/jest/README.md +102 -0
  103. package/project-skills/tdd-guard/reporters/jest/package.json +38 -0
  104. package/project-skills/tdd-guard/reporters/phpunit/.php-cs-fixer.php +28 -0
  105. package/project-skills/tdd-guard/reporters/phpunit/README.md +97 -0
  106. package/project-skills/tdd-guard/reporters/phpunit/SYNC_README.md +29 -0
  107. package/project-skills/tdd-guard/reporters/phpunit/composer.json +55 -0
  108. package/project-skills/tdd-guard/reporters/phpunit/phpunit.xml.dist +19 -0
  109. package/project-skills/tdd-guard/reporters/phpunit/psalm.xml +44 -0
  110. package/project-skills/tdd-guard/reporters/phpunit/src/Event/ErroredTestSubscriber.php +28 -0
  111. package/project-skills/tdd-guard/reporters/phpunit/src/Event/FailedTestSubscriber.php +28 -0
  112. package/project-skills/tdd-guard/reporters/phpunit/src/Event/IncompleteTestSubscriber.php +28 -0
  113. package/project-skills/tdd-guard/reporters/phpunit/src/Event/PassedTestSubscriber.php +27 -0
  114. package/project-skills/tdd-guard/reporters/phpunit/src/Event/SkippedTestSubscriber.php +28 -0
  115. package/project-skills/tdd-guard/reporters/phpunit/src/Event/TestRunnerFinishedSubscriber.php +24 -0
  116. package/project-skills/tdd-guard/reporters/phpunit/src/PathValidator.php +88 -0
  117. package/project-skills/tdd-guard/reporters/phpunit/src/Storage.php +26 -0
  118. package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardExtension.php +33 -0
  119. package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardListener.php +158 -0
  120. package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardSubscriber.php +35 -0
  121. package/project-skills/tdd-guard/reporters/phpunit/src/TestResultCollector.php +105 -0
  122. package/project-skills/tdd-guard/reporters/phpunit/tests/PathValidatorTest.php +74 -0
  123. package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardExtensionFailedTest.php +241 -0
  124. package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardExtensionTest.php +84 -0
  125. package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardStorageLocationTest.php +71 -0
  126. package/project-skills/tdd-guard/reporters/pytest/README.md +77 -0
  127. package/project-skills/tdd-guard/reporters/pytest/pyproject.toml +43 -0
  128. package/project-skills/tdd-guard/reporters/pytest/pytest.ini.example +7 -0
  129. package/project-skills/tdd-guard/reporters/pytest/tdd_guard_pytest/__init__.py +1 -0
  130. package/project-skills/tdd-guard/reporters/pytest/tdd_guard_pytest/pytest_reporter.py +134 -0
  131. package/project-skills/tdd-guard/reporters/pytest/tests/__init__.py +1 -0
  132. package/project-skills/tdd-guard/reporters/pytest/tests/conftest.py +3 -0
  133. package/project-skills/tdd-guard/reporters/pytest/tests/helpers.py +293 -0
  134. package/project-skills/tdd-guard/reporters/pytest/tests/test_config_option.py +38 -0
  135. package/project-skills/tdd-guard/reporters/pytest/tests/test_path_validation.py +59 -0
  136. package/project-skills/tdd-guard/reporters/pytest/tests/test_plugin_config.py +32 -0
  137. package/project-skills/tdd-guard/reporters/pytest/tests/test_project_root.py +296 -0
  138. package/project-skills/tdd-guard/reporters/pytest/tests/test_pytest_reporter.py +137 -0
  139. package/project-skills/tdd-guard/reporters/rspec/Gemfile +3 -0
  140. package/project-skills/tdd-guard/reporters/rust/Cargo.lock +458 -0
  141. package/project-skills/tdd-guard/reporters/rust/Cargo.toml +33 -0
  142. package/project-skills/tdd-guard/reporters/rust/Makefile.example +95 -0
  143. package/project-skills/tdd-guard/reporters/rust/README.md +88 -0
  144. package/project-skills/tdd-guard/reporters/rust/src/error_parser.rs +309 -0
  145. package/project-skills/tdd-guard/reporters/rust/src/main.rs +464 -0
  146. package/project-skills/tdd-guard/reporters/rust/src/parser.rs +225 -0
  147. package/project-skills/tdd-guard/reporters/rust/src/transformer.rs +409 -0
  148. package/project-skills/tdd-guard/reporters/storybook/README.md +108 -0
  149. package/project-skills/tdd-guard/reporters/storybook/package-lock.json +9482 -0
  150. package/project-skills/tdd-guard/reporters/storybook/package.json +43 -0
  151. package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.test-data.ts +22 -0
  152. package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.test.ts +190 -0
  153. package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.ts +88 -0
  154. package/project-skills/tdd-guard/reporters/storybook/src/index.ts +12 -0
  155. package/project-skills/tdd-guard/reporters/storybook/src/types.ts +37 -0
  156. package/project-skills/tdd-guard/reporters/storybook/tsconfig.json +11 -0
  157. package/project-skills/tdd-guard/reporters/test/artifacts/go/failing/go.mod +3 -0
  158. package/project-skills/tdd-guard/reporters/test/artifacts/go/failing/single_failing_test.go +13 -0
  159. package/project-skills/tdd-guard/reporters/test/artifacts/go/import/go.mod +3 -0
  160. package/project-skills/tdd-guard/reporters/test/artifacts/go/import/single_import_error_test.go +17 -0
  161. package/project-skills/tdd-guard/reporters/test/artifacts/go/passing/go.mod +3 -0
  162. package/project-skills/tdd-guard/reporters/test/artifacts/go/passing/single_passing_test.go +13 -0
  163. package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-failing.test.js +5 -0
  164. package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-import-error.test.js +8 -0
  165. package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-passing.test.js +5 -0
  166. package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SingleFailingTest.php +11 -0
  167. package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SingleImportErrorTest.php +14 -0
  168. package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SinglePassingTest.php +11 -0
  169. package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_failing.py +3 -0
  170. package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_import_error.py +6 -0
  171. package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_passing.py +3 -0
  172. package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/Cargo.lock +7 -0
  173. package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/Cargo.toml +4 -0
  174. package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/src/lib.rs +14 -0
  175. package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/Cargo.lock +7 -0
  176. package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/Cargo.toml +4 -0
  177. package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/src/lib.rs +13 -0
  178. package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/Cargo.lock +7 -0
  179. package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/Cargo.toml +4 -0
  180. package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/src/lib.rs +14 -0
  181. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/Calculator.js +4 -0
  182. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-failing.stories.js +15 -0
  183. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-import-error.stories.js +14 -0
  184. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-passing.stories.js +15 -0
  185. package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-failing.test.js +7 -0
  186. package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-import-error.test.js +9 -0
  187. package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-passing.test.js +7 -0
  188. package/project-skills/tdd-guard/reporters/test/factories/go.ts +59 -0
  189. package/project-skills/tdd-guard/reporters/test/factories/helpers.ts +48 -0
  190. package/project-skills/tdd-guard/reporters/test/factories/index.ts +7 -0
  191. package/project-skills/tdd-guard/reporters/test/factories/jest.ts +51 -0
  192. package/project-skills/tdd-guard/reporters/test/factories/phpunit.ts +63 -0
  193. package/project-skills/tdd-guard/reporters/test/factories/pytest.ts +41 -0
  194. package/project-skills/tdd-guard/reporters/test/factories/rust.ts +158 -0
  195. package/project-skills/tdd-guard/reporters/test/factories/storybook.ts +198 -0
  196. package/project-skills/tdd-guard/reporters/test/factories/vitest.ts +51 -0
  197. package/project-skills/tdd-guard/reporters/test/reporters.integration.test.ts +735 -0
  198. package/project-skills/tdd-guard/reporters/test/types.ts +28 -0
  199. package/project-skills/tdd-guard/reporters/vitest/README.md +64 -0
  200. package/project-skills/tdd-guard/reporters/vitest/package.json +35 -0
  201. package/project-skills/tdd-guard/src/cli/buildContext.test.ts +200 -0
  202. package/project-skills/tdd-guard/src/cli/buildContext.ts +48 -0
  203. package/project-skills/tdd-guard/src/cli/tdd-guard.test.ts +159 -0
  204. package/project-skills/tdd-guard/src/cli/tdd-guard.ts +48 -0
  205. package/project-skills/tdd-guard/src/config/Config.test.ts +538 -0
  206. package/project-skills/tdd-guard/src/config/Config.ts +172 -0
  207. package/project-skills/tdd-guard/src/contracts/schemas/guardSchemas.test.ts +58 -0
  208. package/project-skills/tdd-guard/src/contracts/schemas/guardSchemas.ts +8 -0
  209. package/project-skills/tdd-guard/src/contracts/schemas/lintSchemas.test.ts +347 -0
  210. package/project-skills/tdd-guard/src/contracts/schemas/lintSchemas.ts +61 -0
  211. package/project-skills/tdd-guard/src/contracts/schemas/pytestSchemas.test.ts +24 -0
  212. package/project-skills/tdd-guard/src/contracts/schemas/pytestSchemas.ts +7 -0
  213. package/project-skills/tdd-guard/src/contracts/schemas/reporterSchemas.test.ts +377 -0
  214. package/project-skills/tdd-guard/src/contracts/schemas/reporterSchemas.ts +75 -0
  215. package/project-skills/tdd-guard/src/contracts/schemas/toolSchemas.test.ts +563 -0
  216. package/project-skills/tdd-guard/src/contracts/schemas/toolSchemas.ts +140 -0
  217. package/project-skills/tdd-guard/src/contracts/types/ClientType.ts +1 -0
  218. package/project-skills/tdd-guard/src/contracts/types/ConfigOptions.ts +12 -0
  219. package/project-skills/tdd-guard/src/contracts/types/Context.ts +16 -0
  220. package/project-skills/tdd-guard/src/contracts/types/ModelClient.ts +3 -0
  221. package/project-skills/tdd-guard/src/contracts/types/ValidationResult.ts +6 -0
  222. package/project-skills/tdd-guard/src/guard/GuardManager.test.ts +336 -0
  223. package/project-skills/tdd-guard/src/guard/GuardManager.ts +83 -0
  224. package/project-skills/tdd-guard/src/hooks/HookEvents.test.ts +107 -0
  225. package/project-skills/tdd-guard/src/hooks/HookEvents.ts +39 -0
  226. package/project-skills/tdd-guard/src/hooks/fileTypeDetection.ts +16 -0
  227. package/project-skills/tdd-guard/src/hooks/postToolLint.test.ts +327 -0
  228. package/project-skills/tdd-guard/src/hooks/postToolLint.ts +165 -0
  229. package/project-skills/tdd-guard/src/hooks/processHookData.test.ts +465 -0
  230. package/project-skills/tdd-guard/src/hooks/processHookData.ts +203 -0
  231. package/project-skills/tdd-guard/src/hooks/sessionHandler.test.ts +136 -0
  232. package/project-skills/tdd-guard/src/hooks/sessionHandler.ts +31 -0
  233. package/project-skills/tdd-guard/src/hooks/userPromptHandler.test.ts +131 -0
  234. package/project-skills/tdd-guard/src/hooks/userPromptHandler.ts +55 -0
  235. package/project-skills/tdd-guard/src/index.ts +19 -0
  236. package/project-skills/tdd-guard/src/linters/Linter.ts +5 -0
  237. package/project-skills/tdd-guard/src/linters/eslint/ESLint.test.ts +183 -0
  238. package/project-skills/tdd-guard/src/linters/eslint/ESLint.ts +82 -0
  239. package/project-skills/tdd-guard/src/linters/golangci/GolangciLint.test.ts +170 -0
  240. package/project-skills/tdd-guard/src/linters/golangci/GolangciLint.ts +148 -0
  241. package/project-skills/tdd-guard/src/processors/index.ts +1 -0
  242. package/project-skills/tdd-guard/src/processors/lintProcessor.ts +77 -0
  243. package/project-skills/tdd-guard/src/processors/testResults/TestResultsProcessor.test.ts +303 -0
  244. package/project-skills/tdd-guard/src/processors/testResults/TestResultsProcessor.ts +255 -0
  245. package/project-skills/tdd-guard/src/providers/LinterProvider.test.ts +43 -0
  246. package/project-skills/tdd-guard/src/providers/LinterProvider.ts +20 -0
  247. package/project-skills/tdd-guard/src/providers/ModelClientProvider.test.ts +68 -0
  248. package/project-skills/tdd-guard/src/providers/ModelClientProvider.ts +22 -0
  249. package/project-skills/tdd-guard/src/storage/FileStorage.test.ts +76 -0
  250. package/project-skills/tdd-guard/src/storage/FileStorage.ts +108 -0
  251. package/project-skills/tdd-guard/src/storage/MemoryStorage.ts +57 -0
  252. package/project-skills/tdd-guard/src/storage/Storage.test.ts +227 -0
  253. package/project-skills/tdd-guard/src/storage/Storage.ts +17 -0
  254. package/project-skills/tdd-guard/src/validation/context/context.test.ts +364 -0
  255. package/project-skills/tdd-guard/src/validation/context/context.ts +155 -0
  256. package/project-skills/tdd-guard/src/validation/models/AnthropicApi.test.ts +171 -0
  257. package/project-skills/tdd-guard/src/validation/models/AnthropicApi.ts +49 -0
  258. package/project-skills/tdd-guard/src/validation/models/ClaudeAgentSdk.test.ts +167 -0
  259. package/project-skills/tdd-guard/src/validation/models/ClaudeAgentSdk.ts +54 -0
  260. package/project-skills/tdd-guard/src/validation/models/ClaudeCli.test.ts +239 -0
  261. package/project-skills/tdd-guard/src/validation/models/ClaudeCli.ts +57 -0
  262. package/project-skills/tdd-guard/src/validation/prompts/file-types.ts +52 -0
  263. package/project-skills/tdd-guard/src/validation/prompts/operations/edit.ts +58 -0
  264. package/project-skills/tdd-guard/src/validation/prompts/operations/multi-edit.ts +54 -0
  265. package/project-skills/tdd-guard/src/validation/prompts/operations/write.ts +54 -0
  266. package/project-skills/tdd-guard/src/validation/prompts/response.ts +40 -0
  267. package/project-skills/tdd-guard/src/validation/prompts/rules.ts +51 -0
  268. package/project-skills/tdd-guard/src/validation/prompts/system-prompt.ts +10 -0
  269. package/project-skills/tdd-guard/src/validation/prompts/tools/lint-results.ts +15 -0
  270. package/project-skills/tdd-guard/src/validation/prompts/tools/test-output.ts +14 -0
  271. package/project-skills/tdd-guard/src/validation/prompts/tools/todos.ts +9 -0
  272. package/project-skills/tdd-guard/src/validation/validator.test.ts +268 -0
  273. package/project-skills/tdd-guard/src/validation/validator.ts +159 -0
  274. package/project-skills/tdd-guard/test/artifacts/go/.golangci.yml +6 -0
  275. package/project-skills/tdd-guard/test/artifacts/go/with-issues/file-with-issues.go +12 -0
  276. package/project-skills/tdd-guard/test/artifacts/go/with-issues/go.mod +3 -0
  277. package/project-skills/tdd-guard/test/artifacts/go/without-issues/file-without-issues.go +7 -0
  278. package/project-skills/tdd-guard/test/artifacts/go/without-issues/go.mod +3 -0
  279. package/project-skills/tdd-guard/test/artifacts/javascript/eslint.config.js +20 -0
  280. package/project-skills/tdd-guard/test/artifacts/javascript/file-with-issues.js +12 -0
  281. package/project-skills/tdd-guard/test/artifacts/javascript/file-without-issues.js +10 -0
  282. package/project-skills/tdd-guard/test/hooks/fileTypeDetection.test.ts +26 -0
  283. package/project-skills/tdd-guard/test/hooks/processHookData.fileType.test.ts +46 -0
  284. package/project-skills/tdd-guard/test/hooks/processHookData.python.test.ts +68 -0
  285. package/project-skills/tdd-guard/test/integration/test-context.test.ts +66 -0
  286. package/project-skills/tdd-guard/test/integration/validator.core.test.ts +96 -0
  287. package/project-skills/tdd-guard/test/integration/validator.scenarios.test.ts +497 -0
  288. package/project-skills/tdd-guard/test/utils/assertions.ts +29 -0
  289. package/project-skills/tdd-guard/test/utils/factories/contextFactory.ts +30 -0
  290. package/project-skills/tdd-guard/test/utils/factories/editFactory.ts +82 -0
  291. package/project-skills/tdd-guard/test/utils/factories/helpers.test.ts +46 -0
  292. package/project-skills/tdd-guard/test/utils/factories/helpers.ts +46 -0
  293. package/project-skills/tdd-guard/test/utils/factories/lintFactory.ts +352 -0
  294. package/project-skills/tdd-guard/test/utils/factories/modelClientProviderFactory.ts +21 -0
  295. package/project-skills/tdd-guard/test/utils/factories/multiEditFactory.ts +79 -0
  296. package/project-skills/tdd-guard/test/utils/factories/operations.ts +57 -0
  297. package/project-skills/tdd-guard/test/utils/factories/reporterFactory.ts +55 -0
  298. package/project-skills/tdd-guard/test/utils/factories/scenarios/index.ts +22 -0
  299. package/project-skills/tdd-guard/test/utils/factories/scenarios/languages/python.ts +745 -0
  300. package/project-skills/tdd-guard/test/utils/factories/scenarios/languages/typescript.ts +767 -0
  301. package/project-skills/tdd-guard/test/utils/factories/scenarios/types.ts +77 -0
  302. package/project-skills/tdd-guard/test/utils/factories/scenarios/utils.ts +15 -0
  303. package/project-skills/tdd-guard/test/utils/factories/sessionStartFactory.ts +36 -0
  304. package/project-skills/tdd-guard/test/utils/factories/testDefaults.ts +90 -0
  305. package/project-skills/tdd-guard/test/utils/factories/testResultsFactory.ts +234 -0
  306. package/project-skills/tdd-guard/test/utils/factories/todoFactory.ts +99 -0
  307. package/project-skills/tdd-guard/test/utils/factories/userPromptSubmitFactory.ts +39 -0
  308. package/project-skills/tdd-guard/test/utils/factories/writeFactory.ts +70 -0
  309. package/project-skills/tdd-guard/test/utils/index.ts +131 -0
  310. package/project-skills/tdd-guard/tsconfig.build.json +16 -0
  311. package/project-skills/tdd-guard/tsconfig.eslint.json +17 -0
  312. package/project-skills/tdd-guard/tsconfig.json +32 -0
  313. package/project-skills/tdd-guard/tsconfig.node.json +10 -0
  314. package/project-skills/tdd-guard/vitest.config.ts +85 -0
  315. package/project-skills/ts-quality-gate/.claude/hooks/hook-config.json +66 -0
  316. package/project-skills/ts-quality-gate/.claude/hooks/quality-check.cjs +1251 -0
  317. package/project-skills/ts-quality-gate/.claude/settings.json +16 -0
  318. package/project-skills/ts-quality-gate/.claude/skills/using-ts-quality-gate/SKILL.md +81 -0
  319. package/project-skills/ts-quality-gate/README.md +115 -0
  320. package/skills/README.txt +31 -0
  321. package/skills/clean-code/SKILL.md +201 -0
  322. package/skills/delegating/SKILL.md +196 -0
  323. package/skills/delegating/config.yaml +210 -0
  324. package/skills/delegating/references/orchestration-protocols.md +41 -0
  325. package/skills/docker-expert/SKILL.md +409 -0
  326. package/skills/documenting/CHANGELOG.md +23 -0
  327. package/skills/documenting/README.md +148 -0
  328. package/skills/documenting/SKILL.md +113 -0
  329. package/skills/documenting/examples/example_pattern.md +70 -0
  330. package/skills/documenting/examples/example_reference.md +70 -0
  331. package/skills/documenting/examples/example_ssot_analytics.md +64 -0
  332. package/skills/documenting/examples/example_workflow.md +141 -0
  333. package/skills/documenting/references/changelog-format.md +97 -0
  334. package/skills/documenting/references/metadata-schema.md +136 -0
  335. package/skills/documenting/references/taxonomy.md +81 -0
  336. package/skills/documenting/references/versioning-rules.md +78 -0
  337. package/skills/documenting/scripts/__pycache__/drift_detector.cpython-314.pyc +0 -0
  338. package/skills/documenting/scripts/__pycache__/orchestrator.cpython-314.pyc +0 -0
  339. package/skills/documenting/scripts/__pycache__/validate_metadata.cpython-314.pyc +0 -0
  340. package/skills/documenting/scripts/bump_version.sh +60 -0
  341. package/skills/documenting/scripts/changelog/__init__.py +0 -0
  342. package/skills/documenting/scripts/changelog/__pycache__/__init__.cpython-314.pyc +0 -0
  343. package/skills/documenting/scripts/changelog/__pycache__/add_entry.cpython-314.pyc +0 -0
  344. package/skills/documenting/scripts/changelog/__pycache__/bump_release.cpython-314.pyc +0 -0
  345. package/skills/documenting/scripts/changelog/__pycache__/validate_changelog.cpython-314.pyc +0 -0
  346. package/skills/documenting/scripts/changelog/add_entry.py +216 -0
  347. package/skills/documenting/scripts/changelog/bump_release.py +117 -0
  348. package/skills/documenting/scripts/changelog/init_changelog.py +54 -0
  349. package/skills/documenting/scripts/changelog/validate_changelog.py +128 -0
  350. package/skills/documenting/scripts/drift_detector.py +266 -0
  351. package/skills/documenting/scripts/generate_template.py +311 -0
  352. package/skills/documenting/scripts/list_by_category.sh +84 -0
  353. package/skills/documenting/scripts/orchestrator.py +255 -0
  354. package/skills/documenting/scripts/validate_metadata.py +242 -0
  355. package/skills/documenting/templates/CHANGELOG.md.template +13 -0
  356. package/skills/documenting/tests/__pycache__/test_changelog.cpython-314-pytest-9.0.2.pyc +0 -0
  357. package/skills/documenting/tests/__pycache__/test_drift_detector.cpython-314-pytest-9.0.2.pyc +0 -0
  358. package/skills/documenting/tests/__pycache__/test_orchestrator.cpython-314-pytest-9.0.2.pyc +0 -0
  359. package/skills/documenting/tests/__pycache__/test_validate_metadata.cpython-314-pytest-9.0.2.pyc +0 -0
  360. package/skills/documenting/tests/integration_test.sh +70 -0
  361. package/skills/documenting/tests/test_changelog.py +201 -0
  362. package/skills/documenting/tests/test_drift_detector.py +80 -0
  363. package/skills/documenting/tests/test_orchestrator.py +52 -0
  364. package/skills/documenting/tests/test_validate_metadata.py +64 -0
  365. package/skills/find-skills/SKILL.md +133 -0
  366. package/skills/gitnexus-debugging/SKILL.md +85 -0
  367. package/skills/gitnexus-exploring/SKILL.md +75 -0
  368. package/skills/gitnexus-impact-analysis/SKILL.md +94 -0
  369. package/skills/gitnexus-refactoring/SKILL.md +113 -0
  370. package/skills/hook-development/SKILL.md +797 -0
  371. package/skills/hook-development/examples/load-context.sh +55 -0
  372. package/skills/hook-development/examples/quality-check.js +1168 -0
  373. package/skills/hook-development/examples/validate-bash.sh +43 -0
  374. package/skills/hook-development/examples/validate-write.sh +38 -0
  375. package/skills/hook-development/references/advanced.md +527 -0
  376. package/skills/hook-development/references/migration.md +369 -0
  377. package/skills/hook-development/references/patterns.md +412 -0
  378. package/skills/hook-development/scripts/README.md +164 -0
  379. package/skills/hook-development/scripts/hook-linter.sh +153 -0
  380. package/skills/hook-development/scripts/test-hook.sh +252 -0
  381. package/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
  382. package/skills/obsidian-cli/SKILL.md +106 -0
  383. package/skills/orchestrating-agents/SKILL.md +135 -0
  384. package/skills/orchestrating-agents/config.yaml +45 -0
  385. package/skills/orchestrating-agents/references/agent-context-integration.md +37 -0
  386. package/skills/orchestrating-agents/references/examples.md +45 -0
  387. package/skills/orchestrating-agents/references/handover-protocol.md +31 -0
  388. package/skills/orchestrating-agents/references/workflows.md +42 -0
  389. package/skills/orchestrating-agents/scripts/detect_neighbors.py +23 -0
  390. package/skills/prompt-improving/README.md +162 -0
  391. package/skills/prompt-improving/SKILL.md +74 -0
  392. package/skills/prompt-improving/references/analysis_commands.md +24 -0
  393. package/skills/prompt-improving/references/chain_of_thought.md +24 -0
  394. package/skills/prompt-improving/references/mcp_definitions.md +20 -0
  395. package/skills/prompt-improving/references/multishot.md +23 -0
  396. package/skills/prompt-improving/references/xml_core.md +60 -0
  397. package/skills/python-testing/SKILL.md +815 -0
  398. package/skills/senior-backend/SKILL.md +209 -0
  399. package/skills/senior-backend/references/api_design_patterns.md +103 -0
  400. package/skills/senior-backend/references/backend_security_practices.md +103 -0
  401. package/skills/senior-backend/references/database_optimization_guide.md +103 -0
  402. package/skills/senior-backend/scripts/api_load_tester.py +114 -0
  403. package/skills/senior-backend/scripts/api_scaffolder.py +114 -0
  404. package/skills/senior-backend/scripts/database_migration_tool.py +114 -0
  405. package/skills/senior-data-scientist/SKILL.md +226 -0
  406. package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
  407. package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
  408. package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
  409. package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
  410. package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
  411. package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
  412. package/skills/senior-devops/SKILL.md +209 -0
  413. package/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
  414. package/skills/senior-devops/references/deployment_strategies.md +103 -0
  415. package/skills/senior-devops/references/infrastructure_as_code.md +103 -0
  416. package/skills/senior-devops/scripts/deployment_manager.py +114 -0
  417. package/skills/senior-devops/scripts/pipeline_generator.py +114 -0
  418. package/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
  419. package/skills/senior-security/SKILL.md +209 -0
  420. package/skills/senior-security/references/cryptography_implementation.md +103 -0
  421. package/skills/senior-security/references/penetration_testing_guide.md +103 -0
  422. package/skills/senior-security/references/security_architecture_patterns.md +103 -0
  423. package/skills/senior-security/scripts/pentest_automator.py +114 -0
  424. package/skills/senior-security/scripts/security_auditor.py +114 -0
  425. package/skills/senior-security/scripts/threat_modeler.py +114 -0
  426. package/skills/skill-creator/LICENSE.txt +202 -0
  427. package/skills/skill-creator/SKILL.md +479 -0
  428. package/skills/skill-creator/agents/analyzer.md +274 -0
  429. package/skills/skill-creator/agents/comparator.md +202 -0
  430. package/skills/skill-creator/agents/grader.md +223 -0
  431. package/skills/skill-creator/assets/eval_review.html +146 -0
  432. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  433. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  434. package/skills/skill-creator/references/schemas.md +430 -0
  435. package/skills/skill-creator/scripts/__init__.py +0 -0
  436. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  437. package/skills/skill-creator/scripts/generate_report.py +326 -0
  438. package/skills/skill-creator/scripts/improve_description.py +248 -0
  439. package/skills/skill-creator/scripts/package_skill.py +136 -0
  440. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  441. package/skills/skill-creator/scripts/run_eval.py +310 -0
  442. package/skills/skill-creator/scripts/run_loop.py +332 -0
  443. package/skills/skill-creator/scripts/utils.py +47 -0
  444. package/skills/using-TDD/SKILL.md +410 -0
  445. package/skills/using-serena-lsp/README.md +8 -0
  446. package/skills/using-serena-lsp/REFERENCE.md +194 -0
  447. package/skills/using-serena-lsp/SKILL.md +82 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,496 @@
1
+ # Changelog
2
+
3
+ All notable changes to Claude Code skills and configuration will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ---
9
+
10
+ ## [Unreleased]
11
+
12
+ ### Added
13
+
14
+ - **`AGENTS.md` — bd (beads) issue tracking section**: Comprehensive reference for the `bd` CLI covering session protocol, issue creation, dependency management, search/view commands, advanced features (`agent`, `gate`, `mol`, `audit`), and a bd vs TodoWrite decision table.
15
+
16
+ ### Roadmap
17
+
18
+ - `AGENTS.md` should be included in the `jaggers-config install-service-skills` installation flow so all target projects get agent context out of the box (see ROADMAP.md).
19
+
20
+ ---
21
+
22
+ ## [2.0.0] - 2026-03-12
23
+
24
+ ### Added
25
+
26
+ #### Project Skills Engine
27
+ - **`cli/src/commands/install-project.ts`**: Generic "Plug & Play" project skill installer with deep merge for `settings.json` hooks
28
+ - **`cli/src/commands/help.ts`**: Self-documenting help command with full CLI reference
29
+ - **Project skills directory structure**: `project-skills/<skill>/.claude/` standard for modular tool packages
30
+
31
+ #### Project Skills (5 skills shipped)
32
+ - **`service-skills-set`**: Docker service expertise with SessionStart, PreToolUse, PostToolUse hooks
33
+ - **`tdd-guard`**: Test-Driven Development enforcement with PreToolUse, UserPromptSubmit, SessionStart hooks
34
+ - **`ts-quality-gate`**: TypeScript/ESLint/Prettier quality gate with `quality-check.cjs` (ported from bartolli/claude-code-typescript-hooks)
35
+ - **`py-quality-gate`**: Python ruff/mypy quality gate with `quality-check.py` (custom implementation)
36
+ - **`main-guard`**: Git branch protection with `main-guard.cjs` (blocks direct edits to main/master)
37
+
38
+ #### Installation Commands
39
+ - **`xtrm install`**: Global installation (replaces `sync`)
40
+ - **`xtrm install all` / `xtrm install '*'`**: Non-interactive global install across all known targets
41
+ - **`xtrm install project <tool-name>`**: Install project-specific skill package
42
+ - **`xtrm install project list`**: List available project skills with descriptions
43
+
44
+ ### Changed
45
+
46
+ #### CLI Rebranding
47
+ - **Package renamed**: `jaggers-agent-tools` → `xtrm-tools`
48
+ - **Binary renamed**: `jaggers-config` → `xtrm`
49
+ - **Version bumped**: 1.7.0 → 2.0.0 (breaking changes)
50
+
51
+ #### Command Restructure
52
+ - **`sync` command** → renamed to `install` with updated messaging
53
+ - **Default action**: Now shows help instead of running sync automatically
54
+ - **`add-optional` command**: Removed (optional MCP servers now part of `install`)
55
+
56
+ #### Architecture Decision
57
+ - **Claude Code only support**: Removed multi-agent hook translation for Gemini/Qwen
58
+ - **Focus**: Robust, well-tested Claude Code installation engine
59
+
60
+ ### Removed
61
+
62
+ #### Multi-Agent Support
63
+ - **`cli/src/utils/transform-gemini.ts`**: Deleted (Gemini hook translation)
64
+ - **`cli/src/adapters/gemini.ts`**: Deleted (Gemini adapter)
65
+ - **`cli/src/adapters/qwen.ts`**: Deleted (Qwen adapter)
66
+ - **`transformToGeminiHooks`**, **`transformToGeminiFormat`**: Removed from `config-adapter.ts`
67
+ - **Gemini/Qwen command generation**: Removed from `sync-executor.ts`
68
+
69
+ #### Deprecated Commands
70
+ - **`jaggers-config add-optional`**: Superseded by `xtrm install`
71
+ - **`jaggers-config sync`**: Superseded by `xtrm install`
72
+
73
+ ### Fixed
74
+
75
+ - **Project skills structure**: Standardized `.claude/settings.json` + `.claude/skills/` format
76
+ - **Hook paths**: Corrected `$CLAUDE_PROJECT_DIR` references in all project skills
77
+ - **Documentation**: README.md updated with accurate skill list and installation instructions
78
+
79
+ ### Documentation
80
+
81
+ - **README.md**: Added Project Skills section, manual setup guide for Gemini/Qwen users
82
+ - **Updated installation instructions**: `npm install -g github:Jaggerxtrm/xtrm-tools` recommended
83
+ - **Each project skill**: Includes `README.md` and `SKILL.md` with usage guide
84
+
85
+ ### Migration Guide
86
+
87
+ #### For Existing Users
88
+
89
+ ```bash
90
+ # Old command (no longer works)
91
+ jaggers-config sync
92
+
93
+ # New command
94
+ xtrm install
95
+
96
+ # Global installation (recommended)
97
+ npm install -g github:Jaggerxtrm/xtrm-tools
98
+
99
+ # One-time run
100
+ npx -y github:Jaggerxtrm/xtrm-tools install
101
+ ```
102
+
103
+ #### For Gemini/Qwen Users
104
+
105
+ Automated hook translation is no longer supported. See README.md "Manual Setup for Gemini/Qwen" section for manual configuration instructions.
106
+
107
+ ---
108
+
109
+ ## [1.7.0] - 2026-02-25
110
+
111
+ ### Added
112
+
113
+ #### GitNexus Integration
114
+ - **Optional MCP server**: `gitnexus` added to `config/mcp_servers_optional.json` with auto-install support (`npm install -g gitnexus`)
115
+ - **PreToolUse hook**: `hooks/gitnexus/gitnexus-hook.cjs` — enriches Grep/Glob/Bash tool calls with knowledge-graph context via `gitnexus augment`
116
+ - **4 knowledge-graph skills**: `skills/gitnexus/{exploring,debugging,impact-analysis,refactoring}/SKILL.md` — synced via standard pipeline
117
+
118
+ #### Unified 3-Phase Sync Flow
119
+ - **`cli/src/core/preflight.ts`**: Parallel `Promise.all` preflight checks across all targets. Returns `PreflightPlan` with file diffs, MCP status, and optional server list. Per-target error isolation — one bad target never aborts the rest.
120
+ - **`cli/src/core/interactive-plan.ts`**: Single `prompts` multiselect plan — all targets, files, MCP servers, and optional servers in one view. `[~]` drifted and `[?]` optional items pre-unchecked by default.
121
+
122
+ #### MCP CLI Sync
123
+ - **`sync-mcp-cli.ts`**: Unified MCP CLI sync for Claude, Gemini, and Qwen via official `mcp add/remove/list` commands. Idempotent — re-running is always safe.
124
+ - **Env file management**: `~/.config/jaggers-agent-tools/.env` — auto-created on first sync, validates required env vars (e.g. `CONTEXT7_API_KEY`), preserves existing values.
125
+ - **ConfigAdapter enhancements**: Qwen and Antigravity support added; `type` field auto-handled per agent; `EnvVarTransformer` extended for cross-agent compatibility.
126
+
127
+ ### Changed
128
+
129
+ #### Sync Command — 3-Phase Rewrite
130
+ - `cli/src/commands/sync.ts` fully rewritten: Phase 1 preflight spinner → Phase 2 multiselect plan → Phase 3 ordered execution (prerequisite installs → file sync → MCP sync → post-install messages)
131
+ - `--dry-run`: displays full plan grouped by target, prints "Dry run — no changes written", exits cleanly
132
+ - `-y`/`--yes`: auto-applies pre-checked defaults without prompting
133
+ - `--prune`: propagated through `plan.syncMode` to `executeSync` correctly
134
+ - `--backport`: reverses sync direction (local → repo)
135
+
136
+ #### sync-executor.ts
137
+ - Removed inline `promptOptionalServers` call and manifest-based prompt tracking
138
+ - Added `selectedMcpServers?: string[]` parameter — optional server names pre-selected upstream in Phase 2
139
+
140
+ #### MCP Configuration
141
+ - Split into `config/mcp_servers.json` (core: serena, context7, github-grep, deepwiki) and `config/mcp_servers_optional.json` (optional: unitAI, omni-search-engine, gitnexus)
142
+ - `_notes.install_cmd` and `_notes.post_install_message` metadata — drives Phase 3 auto-install
143
+ - Core servers: removed unused `filesystem`, `git`, `memory`, `gmail`, `yfinance-market-intelligence`
144
+ - `serena` command updated to uvx-from-git with auto project detection
145
+
146
+ #### Exported Symbols
147
+ - `getCurrentServers(agent)` and `AgentName` exported from `cli/src/utils/sync-mcp-cli.ts` (consumed by `preflight.ts`)
148
+
149
+ ### Deprecated
150
+ - **`jaggers-config add-optional`**: now prints a redirect notice — optional servers are part of `jaggers-config sync`
151
+ - **JSON file sync for Claude/Gemini/Qwen MCP**: superseded by official `mcp` CLI method
152
+ - **Repo `.env` files**: use centralized `~/.config/jaggers-agent-tools/.env`
153
+
154
+ ### Removed
155
+ - **Old Claude-specific sync**: `cli/lib/sync-claude-mcp.js` (replaced by unified `sync-mcp-cli.ts`)
156
+
157
+ ### Fixed
158
+ - **`--prune` propagation**: `runPreflight` now sets `syncMode: 'prune'` when `--prune` passed (was hardcoded `'copy'`)
159
+ - **Optional server "already installed" filter**: now uses live `getCurrentServers()` call per agent instead of only checking core MCP names
160
+
161
+ ### Documentation
162
+ - Updated SSoT: `ssot_jaggers-agent-tools_installer_architecture` → v1.4.0
163
+ - Updated SSoT: `ssot_cli_ux_improvements` → v2.0.0
164
+ - Updated SSoT: `ssot_cli_universal_hub` → v2.2.0
165
+ - Updated SSoT: `ssot_cli_mcp_servers` → v3.2.1
166
+
167
+ ---
168
+
169
+ ## [1.6.0] - 2026-02-24
170
+
171
+ ### Added
172
+
173
+ #### Documenting Skill Hardening
174
+ - **`drift_detector.py`**: New script with `scan`, `check`, and `hook` subcommands — detects stale memories by cross-referencing `tracks:` globs against git-modified files
175
+ - **`tracks:` frontmatter field**: Each memory now declares which file globs it documents; added to schema, all templates, and all 11 existing memories
176
+ - **Intra-memory INDEX blocks**: `validate_metadata.py` now auto-generates a `<!-- INDEX -->` TOC table inside each memory from `##` headings + first-sentence summaries — allows agents to navigate without reading full documents
177
+ - **Stop hook**: `config/settings.json` wired with Stop hook → `drift_detector.py hook`; fires at session end, injects a one-line reminder only when stale memories detected (zero token cost when clean)
178
+ - **23 tests**: `test_validate_metadata.py` (4) and `test_drift_detector.py` (8, including `**` glob regression tests) added to existing suite
179
+
180
+ ### Changed
181
+ - **`validate_metadata.py`**: INDEX generation now unconditional (no longer blocked by schema validation errors)
182
+ - **`SKILL.md` workflow**: Rewritten with drift-first 5-step protocol and decision table (new feature → SSOT, bug fix → changelog only, etc.)
183
+ - **All 11 existing memories**: `tracks:` globs added; INDEX blocks regenerated
184
+
185
+ ### Fixed
186
+ - `extract_headings`: closing ` ``` ` was captured as section summary due to `in_code` toggle firing before capture check — fixed with `continue`
187
+ - `match_files_to_tracks`: `**/` expansion was producing `*.py` (too broad); replaced with recursive segment-by-segment `_match_glob` helper
188
+ - `inject_index`: frontmatter split hardened with anchored regex to prevent corruption on non-standard file openings
189
+ - `generate_index_table`: anchor generation collapsed consecutive hyphens from stripped `()/` chars
190
+
191
+ ### Documentation
192
+ - Updated SSOT: `ssot_jaggers-agent-tools_documenting_workflow_2026-02-03` → v2.0.0
193
+
194
+ ---
195
+
196
+ ## [1.5.0] - 2026-02-23
197
+
198
+ ### Added
199
+
200
+ #### Service Skills Set (`project-skills/service-skills-set/`)
201
+ - **Complete rewrite** of project-specific service skill infrastructure — replaces deprecated `service-skill-builder`
202
+ - **Trinity skills** installed into `.claude/skills/` of any target project:
203
+ - `creating-service-skills` — 3-phase workflow: scaffold → Serena LSP deep dive → hook registration
204
+ - `using-service-skills` — SessionStart catalog injection + PreToolUse skill enforcement
205
+ - `updating-service-skills` — PostToolUse drift detection
206
+ - **Scripts**:
207
+ - `scaffolder.py` — generates SKILL.md skeleton, script stubs, and auto-detects official docs from 30+ technology mappings (Docker images, requirements.txt, Cargo.toml, package.json)
208
+ - `deep_dive.py` — prints Serena LSP-driven research protocol with tool table for Phase 2
209
+ - `cataloger.py` — SessionStart hook; outputs ~150-token XML service catalog
210
+ - `skill_activator.py` — PreToolUse hook; territory glob + Bash command matching; injects skill load enforcement
211
+ - `drift_detector.py` — PostToolUse hook (`check-hook` stdin mode) + manual `check`, `sync`, `scan` subcommands
212
+ - `bootstrap.py` — shared registry CRUD and project root resolution via git
213
+ - **Service registry**: `.claude/skills/service-registry.json` with territory globs, skill path, last sync
214
+ - **Git hooks** (`pre-commit`, `pre-push`): idempotent marker-based installation for SSOT reminder and skill staleness warning
215
+ - **Installer** (`install-service-skills.py`): single-purpose ~90-line script; copies trinity, merges settings.json hooks, activates git hooks; idempotent
216
+ - **Phase 3 — Hook Registration**: new phase in `creating-service-skills` workflow verifies PreToolUse wiring, confirms territory globs in registry, communicates auto-activation to user
217
+
218
+ ### Changed
219
+ - Project structure: moved into `project-skills/service-skills-set/` with `.claude/` subdirectory
220
+ - `settings.json` PostToolUse hook moved to project-level (was only in skill frontmatter — now always-on)
221
+ - PreToolUse added to `settings.json` for territory-based skill auto-enforcement
222
+
223
+ ### Fixed
224
+ - `allowed-tools` in skill frontmatter: corrected to Claude Code native tool names — removed invalid MCP/Serena names
225
+ - `SessionStart` removed from skill frontmatter (unsupported); moved to `settings.json`
226
+ - Removed `disable-model-invocation: true` from workflow skill and scaffolder template
227
+ - `project_root.glob()` type error in `bootstrap.py` fixed by wrapping with `Path()`
228
+
229
+ ### Documentation
230
+ - Added `project-skills/service-skills-set/service-skills-readme.md`
231
+ - New SSOT memory: `ssot_jaggers-agent-tools_service_skills_set_2026-02-23`
232
+
233
+ ---
234
+
235
+ ## [1.4.0] - 2026-02-23
236
+
237
+ ### Changed
238
+
239
+ #### Delegating Skill Hardening
240
+ - **Description rewrite**: Proactive language with trigger keywords (`tests`, `typos`, `refactors`, `code reviews`, `debugging`) — auto-discovery now fires without explicit "delegate" keyword
241
+ - **Frontmatter cleanup**: Removed unsupported fields (`version`, `gemini-command`, `gemini-prompt`); added `allowed-tools: Bash`
242
+ - **CCS nested session fix**: All CCS execution commands now use `env -u CLAUDECODE ccs {profile} -p "{task}"` — confirmed working inside Claude Code sessions
243
+ - **Interactive menu**: Replaced TypeScript `ask_user()` pseudocode with prose `AskUserQuestion` instructions
244
+
245
+ #### skill-suggestion.py Hook
246
+ - **Orchestration patterns**: Added `ORCHESTRATION_PATTERNS` — hook now fires for code reviews, feature implementation, debugging, security audits, commit validation
247
+ - **CLAUDECODE detection**: Hints correctly say "Gemini or Qwen directly" when running inside Claude Code (CCS unavailable), "CCS backend" otherwise
248
+ - **Security exclusion fix**: Narrowed `security` exclude pattern to only block auth/vuln *implementation* — security *reviews* now correctly route to orchestration
249
+
250
+ ### Files Modified
251
+ - `skills/delegating/SKILL.md` — Description, frontmatter, pseudocode, CCS command
252
+ - `hooks/skill-suggestion.py` — Orchestration patterns, CLAUDECODE detection, security exclusion
253
+
254
+ ### Documentation
255
+ - Updated SSOT: `ssot_cli_hooks_2026-02-03` → v1.1.0
256
+ - New SSOT: `ssot_jaggers-agent-tools_delegating_skill_2026-02-23` v1.0.0
257
+
258
+ ---
259
+
260
+ ## [1.3.0] - 2026-02-22
261
+
262
+ ### Added
263
+
264
+ #### CLI UX Improvements (vsync-inspired)
265
+ - **Ora Spinners**: Visual feedback for all async operations (detect, diff, sync)
266
+ - **Enhanced Status**: Last sync time, item counts, health indicators, actionable hints
267
+ - **Single Confirmation**: Collect all changesets, display full plan, ask once
268
+ - **Drifted Items Feedback**: Report skipped drifted items post-sync with backport hint
269
+
270
+ ### Changed
271
+
272
+ #### Safety Improvements
273
+ - **Prune Mode Guard**: Added `PruneModeReadError` — aborts if system read fails in prune mode
274
+ - **Repo Root Detection**: Dynamic detection via `findRepoRoot()` utility (walks up looking for `skills/` + `hooks/`)
275
+ - **Dry-Run Banner**: Moved from before target selection to after plan display
276
+ - **Error Handling**: Global handlers for clean error messages (no stack traces)
277
+ - **Ignored Items**: Filter `__pycache__`, `.DS_Store`, `node_modules` from diff scanning
278
+
279
+ ### Dependencies
280
+ - Added `ora` for spinner UI
281
+
282
+ ### Files Modified
283
+ - `cli/src/core/diff.ts` — Prune guard, ignored items filtering
284
+ - `cli/src/utils/repo-root.ts` — New utility
285
+ - `cli/src/commands/sync.ts` — Spinners, single confirm, feedback improvements
286
+ - `cli/src/commands/status.ts` — Enhanced output with timestamps
287
+ - `cli/src/core/manifest.ts` — Added `getManifestPath()`
288
+ - `cli/src/index.ts` — Global error handlers
289
+
290
+ ### Documentation
291
+ - New SSOT: `ssot_cli_ux_improvements_2026-02-22.md`
292
+
293
+ ---
294
+
295
+ ## [1.2.0] - 2026-02-21
296
+
297
+ ### Added
298
+
299
+ #### CLI: TypeScript Migration
300
+ - **Full TypeScript rewrite** of `cli/` — all modules ported from plain JavaScript ESM to strict TypeScript
301
+ - **Commander.js** replaces `minimist` for structured sub-command routing
302
+ - **Zod schemas** for runtime validation of `ChangeSet`, `SyncMode`, `Manifest`, `MCPServer`
303
+ - **Adapter Pattern** — `ToolAdapter` base class with `ClaudeAdapter`, `GeminiAdapter`, `QwenAdapter` implementations
304
+ - `detectAdapter(systemRoot)` factory replaces scattered `includes('.claude')` checks codebase-wide
305
+ - **Rollback protection** — `core/rollback.ts` backs up every file before write; restores all on any failure
306
+ - **Hash-only diffing** — Pure MD5 comparison via `utils/hash.ts`; mtime used only as drift tie-breaker
307
+ - **`prepare` npm script** — auto-builds on `npm install`, restoring `npx github:Jaggerxtrm/jaggers-agent-tools` support
308
+ - **`vitest` test infrastructure** added to devDependencies (tests deferred, see `docs/plans/cli-testing.md`)
309
+
310
+ #### New sub-commands
311
+ - `jaggers-config sync [--dry-run] [-y] [--prune] [--backport]` — main sync
312
+ - `jaggers-config status` — read-only diff view (no file writes)
313
+ - `jaggers-config reset` — replaces `--reset` flag from old CLI
314
+
315
+ #### Windows Compatibility (baked in)
316
+ - `registry.ts` normalises backslashes before path matching
317
+ - `config-adapter.ts` uses `python` (not `python3`) on Windows for hook scripts
318
+ - `sync-executor.ts` falls back from symlinks to copy on Windows with a user warning
319
+
320
+ ### Changed
321
+ - `cli/package.json` `bin` and root `package.json` `bin` now point to `cli/dist/index.js` (compiled output)
322
+ - `cli/package.json` `scripts` updated: `build` (tsup), `dev` (tsx), `typecheck` (tsc), `test` (vitest), `start` (node dist)
323
+ - Old `cli/index.js` and `cli/lib/*.js` preserved on disk but no longer referenced
324
+
325
+ ### Fixed
326
+ - **Double-shebang bug** in tsup output — removed `banner` config, relying on tsup's auto-detection from `src/index.ts`
327
+
328
+ ---
329
+
330
+ ## [1.1.1] - 2026-02-03
331
+
332
+ ### Added
333
+ - **Orchestrating Agents Skill**: Multi-model collaboration skill for Gemini and Qwen.
334
+ - **Handshaking Workflows**: Deep multi-turn loops (Collaborative Design, Adversarial Review, Troubleshoot Session).
335
+ - **Gemini Command Sync**: CLI support for synchronizing `.toml` commands and auto-generating them from skills.
336
+ - **Cross-Agent Interactivity**: Support for both Gemini (`ask_user`) and Claude (`AskUserQuestion`) interactive menus.
337
+ - Implement specialized Gemini slash commands (/delegate, /document, /prompt)
338
+ - Enable zero-cloning installation via npx github:Jaggerxtrm/jaggers-agent-tools
339
+ - Implement Vault Sync Architecture for non-destructive settings management. Protects local secrets, MCP servers, and auth data during sync. Includes atomic writes and dry-run mode.
340
+ - **Architecture Roadmap**: Document CLI architectural improvements in ROADMAP.md based on multi-agent orchestration findings (Transactional Sync, Manifest Versioning, Namespace Prefixes, Observability).
341
+
342
+ ### Changed
343
+ - **CLI Enhancement**: Automatically transforms `SKILL.md` into Gemini `.toml` command files during sync.
344
+ - **Hook Migration**: Refined hook transformation logic for cross-agent compatibility.
345
+ - Update SSOT and CHANGELOG for cross-agent compatibility and CLI improvements
346
+ - Consolidate all v1.1.0 improvements: Zero-Cloning, Metadata-driven commands, and multi-turn orchestration
347
+ - **ROADMAP.md**: Added "CLI Architecture Improvements" section with 5 phases addressing transactional sync, versioning, collision detection, observability, and transformation refactoring.
348
+
349
+ ### Fixed
350
+ - Fix hook execution timeouts by updating settings.json to use milliseconds and enhancing transform-gemini.js to handle unit mismatches and improve hook naming.
351
+ - Prevent redundant auto-generation of commands for core skills in CLI
352
+ - Fix hardcoded paths in settings.json during sync
353
+ - Fix ReferenceError in sync.js by adding missing import and verify via Qwen handshake
354
+
355
+ ---
356
+
357
+ ## [6.0.0] - 2026-02-01
358
+
359
+ ### Added
360
+
361
+ #### `delegating` Skill (Unified)
362
+ - **New `delegating` skill** replaces `ccs-delegation`
363
+ - **Unified Backends**: Supports both CCS (cost-optimized) and unitAI (multi-agent workflows)
364
+ - **Configuration-Driven**: All logic defined in `config.yaml`
365
+ - **Auto-Focus**: Detects security/performance/quality focus from keywords
366
+ - **Autonomous Workflow Selection**: Claude picks optimal unitAI workflow based on patterns
367
+
368
+ ### Removed
369
+
370
+ #### `ccs-delegation` Skill
371
+ - **Deprecated**: Fully replaced by `delegating` skill
372
+ - **Removed**: `skills/ccs-delegation` directory deleted
373
+
374
+ ### Changed
375
+
376
+ #### Skill Suggestions Hook
377
+ - **Updated**: Suggests `/delegation` instead of `/ccs-delegation`
378
+ - **Renamed**: `skill-suggestion.sh` → `skill-suggestion.py` for Python implementation
379
+
380
+ ---
381
+
382
+ ## [5.1.0] - 2026-01-30
383
+
384
+ ### Changed
385
+
386
+ #### Naming Convention Alignment
387
+ - **Skill `p` renamed to `prompt-improving`**
388
+ - Updated skill directory: `~/.claude/skills/p` → `~/.claude/skills/prompt-improving`
389
+ - Updated YAML frontmatter: `name: p` → `name: prompt-improving`
390
+ - Updated trigger syntax: `/p` → `/prompt-improving`
391
+ - Updated hook suggestions to reference `/prompt-improving`
392
+ - Follows Claude's naming convention with `-ing` suffix for improved clarity
393
+
394
+ #### Breaking Changes
395
+ - **`/p` command no longer works** - Use `/prompt-improving` instead
396
+ - Users with muscle memory for `/p` will need to adapt to `/prompt-improving`
397
+ - Hook suggestions now display `/prompt-improving` in systemMessage
398
+
399
+ #### Migration Guide (5.0.0 → 5.1.0)
400
+ **For Users:**
401
+ - Replace all `/p "prompt"` invocations with `/prompt-improving "prompt"`
402
+ - Update any documentation or workflows referencing the `/p` skill
403
+
404
+ **For Backward Compatibility (Optional):**
405
+ If you prefer to keep `/p` working via symlink:
406
+ ```bash
407
+ ln -s ~/.claude/skills/prompt-improving ~/.claude/skills/p
408
+ ```
409
+
410
+ ---
411
+
412
+ ## [5.0.0] - 2026-01-30
413
+
414
+ ### Added
415
+
416
+ #### Skills Enhancement
417
+ - **UserPromptSubmit Hook** (`~/.claude/hooks/skill-suggestion.sh`)
418
+ - Proactive skill suggestions for `/p` and `/ccs` based on prompt analysis
419
+ - Bilingual pattern matching (Italian + English)
420
+ - Flexible synonym detection (e.g., "correggi|fix|sistema|repair")
421
+ - Sub-100ms execution time, no LLM calls
422
+ - Opt-in configuration via `settings.json`
423
+ - Detects simple tasks (typo, test, refactor, docs) → suggests `/ccs`
424
+ - Detects short/generic prompts → suggests `/p` for structure
425
+
426
+ #### Configuration
427
+ - **skillSuggestions config** in `settings.json`
428
+ - `enabled: true` - Hook active by default
429
+ - Can be disabled without restart
430
+ - **UserPromptSubmit hook registration** in `settings.json`
431
+ - Timeout: 1s
432
+ - Command: `/home/dawid/.claude/hooks/skill-suggestion.sh`
433
+
434
+ #### Skill Features
435
+ - **AskUserQuestion dialogs** in `ccs-delegation` skill for interactive delegation choice
436
+ - **AskUserQuestion clarification** in `p` skill for ambiguous prompts (<8 words)
437
+
438
+ ### Changed
439
+
440
+ #### Skill `p` (Prompt Improver)
441
+ - **SKILL.md**: Reduced from 118 to 64 lines (-46% size)
442
+ - **Simplified context detection**: From 10 categories to 3 (ANALYSIS, DEV, REFACTOR)
443
+ - **Removed multi-iteration improvement loop**: Single-pass processing only
444
+ - **Inline scoring heuristics**: Replaced complex quality metrics with simple keyword checks
445
+ - **Reference structure**: Merged prefill patterns into `xml_core.md` (+20 lines)
446
+
447
+ #### Skill `ccs-delegation`
448
+ - **SKILL.md**: Reduced from 486 to 151 lines (-69% size)
449
+ - **Keyword-based profile selection**: Replaced quantitative complexity scoring (0-10 scale)
450
+ - Simple patterns: `typo|test|doc` → glm
451
+ - Reasoning patterns: `analiz|think|reason` → gemini
452
+ - Architecture patterns: `architecture|entire|codebase` → gemini
453
+ - **Bilingual support**: IT+EN keywords throughout (e.g., "correggi|fix", "aggiungi.*test|add.*test")
454
+ - **Simplified execution flow**: Detect → Ask → Select Profile → Execute (removed fallback chains)
455
+
456
+ #### Performance Improvements
457
+ - **Skill load time**: 5-8s → <1s (-80-85% reduction)
458
+ - **Total token overhead**: 155KB → 16KB (-90% reduction)
459
+ - **Pattern matching**: Extended from basic English to IT+EN with wildcards
460
+
461
+ ### Removed
462
+
463
+ #### Skill `p` References (46KB total)
464
+ - `quality_metrics.md` (12.7KB, 511 lines) - Complex 0-100 scoring system
465
+ - `context_detection_rules.md` (10.4KB) - 10-category detection rules
466
+ - `prefill_patterns.md` (10KB) - Standalone prefill examples (merged into xml_core.md)
467
+ - `before_after_examples.md` (12.9KB) - Redundant examples
468
+
469
+ #### Skill `ccs-delegation` References (95KB total)
470
+ - `task_complexity_scoring.md` (14.4KB, 478 lines) - Quantitative complexity algorithm
471
+ - `smart_context_gathering.md` (16.6KB, 643 lines) - Multi-level context system
472
+ - `fallback_chain.md` (15.5KB) - Edge-case fallback handling
473
+ - `parallel_delegation.md` (17.1KB) - Multi-agent parallel execution
474
+ - `delegation_history_analysis.md` (15.7KB) - Learning/persistence system
475
+
476
+ ### Fixed
477
+
478
+ #### Pattern Matching
479
+ - **Too rigid English-only patterns** → Extended to bilingual IT+EN with synonyms
480
+ - **Missing common terms** → Added: "rimuovi|remove", "modifica|modify", "sistema|repair"
481
+ - **Case sensitivity issues** → All patterns use case-insensitive matching (`grep -i`)
482
+
483
+ #### Hook Configuration
484
+ - **Hook script not executable** → Added `chmod +x` to deployment checklist
485
+ - **Missing skillSuggestions config** → Added to `settings.json` with `enabled: true`
486
+
487
+ ---
488
+
489
+ ## [4.2.0] - Pre-refactoring baseline
490
+
491
+ ### Changed
492
+ #### Skills State Before Refactoring
493
+ - **Skill `p`**: 118 lines, 52KB references (9 files)
494
+ - **Skill `ccs-delegation`**: 486 lines, 103KB references (6 files)
495
+ - **Total overhead**: 155KB token cost per skill activation
496
+ - **Load time**: 5-8 seconds per skill invocation