specweave 0.18.1 → 0.20.1

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 (389) hide show
  1. package/CLAUDE.md +229 -1817
  2. package/README.md +68 -0
  3. package/bin/specweave.js +62 -6
  4. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -1
  5. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +3 -0
  6. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -1
  7. package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts +21 -0
  8. package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts.map +1 -0
  9. package/dist/plugins/specweave/lib/hooks/update-ac-status.js +162 -0
  10. package/dist/plugins/specweave/lib/hooks/update-ac-status.js.map +1 -0
  11. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +1 -1
  12. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +65 -6
  13. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -1
  14. package/dist/plugins/specweave-github/lib/completion-calculator.d.ts +112 -0
  15. package/dist/plugins/specweave-github/lib/completion-calculator.d.ts.map +1 -0
  16. package/dist/plugins/specweave-github/lib/completion-calculator.js +301 -0
  17. package/dist/plugins/specweave-github/lib/completion-calculator.js.map +1 -0
  18. package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts +3 -3
  19. package/dist/plugins/specweave-github/lib/duplicate-detector.js +3 -3
  20. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +7 -0
  21. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +1 -1
  22. package/dist/plugins/specweave-github/lib/epic-content-builder.js +42 -0
  23. package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +1 -1
  24. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +14 -0
  25. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
  26. package/dist/plugins/specweave-github/lib/github-client-v2.js +51 -0
  27. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  28. package/dist/plugins/specweave-github/lib/github-epic-sync.js +1 -1
  29. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -1
  30. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +87 -0
  31. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -0
  32. package/dist/plugins/specweave-github/lib/github-feature-sync.js +412 -0
  33. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -0
  34. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
  35. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +64 -13
  36. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
  37. package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts +78 -0
  38. package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts.map +1 -0
  39. package/dist/plugins/specweave-github/lib/progress-comment-builder.js +237 -0
  40. package/dist/plugins/specweave-github/lib/progress-comment-builder.js.map +1 -0
  41. package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts +97 -0
  42. package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +1 -0
  43. package/dist/plugins/specweave-github/lib/user-story-content-builder.js +301 -0
  44. package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +1 -0
  45. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts +83 -0
  46. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -0
  47. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +386 -0
  48. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -0
  49. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +8 -6
  50. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -1
  51. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +78 -117
  52. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -1
  53. package/dist/src/cli/commands/import-docs.js +4 -4
  54. package/dist/src/cli/commands/import-docs.js.map +1 -1
  55. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -1
  56. package/dist/src/cli/commands/init-multiproject.js +17 -18
  57. package/dist/src/cli/commands/init-multiproject.js.map +1 -1
  58. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -1
  59. package/dist/src/cli/commands/migrate-to-multiproject.js +8 -4
  60. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
  61. package/dist/src/cli/commands/switch-project.d.ts.map +1 -1
  62. package/dist/src/cli/commands/switch-project.js +9 -26
  63. package/dist/src/cli/commands/switch-project.js.map +1 -1
  64. package/dist/src/cli/commands/sync-spec-content.js +3 -0
  65. package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
  66. package/dist/src/core/deduplication/command-deduplicator.d.ts +166 -0
  67. package/dist/src/core/deduplication/command-deduplicator.d.ts.map +1 -0
  68. package/dist/src/core/deduplication/command-deduplicator.js +254 -0
  69. package/dist/src/core/deduplication/command-deduplicator.js.map +1 -0
  70. package/dist/src/core/increment/active-increment-manager.d.ts +42 -15
  71. package/dist/src/core/increment/active-increment-manager.d.ts.map +1 -1
  72. package/dist/src/core/increment/active-increment-manager.js +113 -46
  73. package/dist/src/core/increment/active-increment-manager.js.map +1 -1
  74. package/dist/src/core/increment/conflict-resolver.d.ts +40 -0
  75. package/dist/src/core/increment/conflict-resolver.d.ts.map +1 -0
  76. package/dist/src/core/increment/conflict-resolver.js +219 -0
  77. package/dist/src/core/increment/conflict-resolver.js.map +1 -0
  78. package/dist/src/core/increment/discipline-checker.d.ts.map +1 -1
  79. package/dist/src/core/increment/discipline-checker.js +7 -1
  80. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  81. package/dist/src/core/increment/duplicate-detector.d.ts +52 -0
  82. package/dist/src/core/increment/duplicate-detector.d.ts.map +1 -0
  83. package/dist/src/core/increment/duplicate-detector.js +276 -0
  84. package/dist/src/core/increment/duplicate-detector.js.map +1 -0
  85. package/dist/src/core/increment/increment-archiver.d.ts +90 -0
  86. package/dist/src/core/increment/increment-archiver.d.ts.map +1 -0
  87. package/dist/src/core/increment/increment-archiver.js +368 -0
  88. package/dist/src/core/increment/increment-archiver.js.map +1 -0
  89. package/dist/src/core/increment/increment-reopener.d.ts +165 -0
  90. package/dist/src/core/increment/increment-reopener.d.ts.map +1 -0
  91. package/dist/src/core/increment/increment-reopener.js +390 -0
  92. package/dist/src/core/increment/increment-reopener.js.map +1 -0
  93. package/dist/src/core/increment/metadata-manager.d.ts +26 -1
  94. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  95. package/dist/src/core/increment/metadata-manager.js +143 -5
  96. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  97. package/dist/src/core/increment/recent-work-scanner.d.ts +121 -0
  98. package/dist/src/core/increment/recent-work-scanner.d.ts.map +1 -0
  99. package/dist/src/core/increment/recent-work-scanner.js +303 -0
  100. package/dist/src/core/increment/recent-work-scanner.js.map +1 -0
  101. package/dist/src/core/increment/types.d.ts +1 -0
  102. package/dist/src/core/increment/types.d.ts.map +1 -1
  103. package/dist/src/core/increment-utils.d.ts +112 -0
  104. package/dist/src/core/increment-utils.d.ts.map +1 -0
  105. package/dist/src/core/increment-utils.js +210 -0
  106. package/dist/src/core/increment-utils.js.map +1 -0
  107. package/dist/src/core/living-docs/ac-project-specific-generator.d.ts +65 -0
  108. package/dist/src/core/living-docs/ac-project-specific-generator.d.ts.map +1 -0
  109. package/dist/src/core/living-docs/ac-project-specific-generator.js +175 -0
  110. package/dist/src/core/living-docs/ac-project-specific-generator.js.map +1 -0
  111. package/dist/src/core/living-docs/feature-archiver.d.ts +130 -0
  112. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -0
  113. package/dist/src/core/living-docs/feature-archiver.js +549 -0
  114. package/dist/src/core/living-docs/feature-archiver.js.map +1 -0
  115. package/dist/src/core/living-docs/feature-id-manager.d.ts +81 -0
  116. package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -0
  117. package/dist/src/core/living-docs/feature-id-manager.js +339 -0
  118. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -0
  119. package/dist/src/core/living-docs/hierarchy-mapper.d.ts +144 -83
  120. package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
  121. package/dist/src/core/living-docs/hierarchy-mapper.js +488 -270
  122. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  123. package/dist/src/core/living-docs/index.d.ts +6 -0
  124. package/dist/src/core/living-docs/index.d.ts.map +1 -1
  125. package/dist/src/core/living-docs/index.js +6 -0
  126. package/dist/src/core/living-docs/index.js.map +1 -1
  127. package/dist/src/core/living-docs/project-detector.d.ts +6 -0
  128. package/dist/src/core/living-docs/project-detector.d.ts.map +1 -1
  129. package/dist/src/core/living-docs/project-detector.js +35 -1
  130. package/dist/src/core/living-docs/project-detector.js.map +1 -1
  131. package/dist/src/core/living-docs/spec-distributor.d.ts +100 -26
  132. package/dist/src/core/living-docs/spec-distributor.d.ts.map +1 -1
  133. package/dist/src/core/living-docs/spec-distributor.js +1275 -258
  134. package/dist/src/core/living-docs/spec-distributor.js.map +1 -1
  135. package/dist/src/core/living-docs/task-project-specific-generator.d.ts +109 -0
  136. package/dist/src/core/living-docs/task-project-specific-generator.d.ts.map +1 -0
  137. package/dist/src/core/living-docs/task-project-specific-generator.js +221 -0
  138. package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -0
  139. package/dist/src/core/living-docs/types.d.ts +143 -0
  140. package/dist/src/core/living-docs/types.d.ts.map +1 -1
  141. package/dist/src/core/project-manager.d.ts +2 -17
  142. package/dist/src/core/project-manager.d.ts.map +1 -1
  143. package/dist/src/core/project-manager.js +68 -48
  144. package/dist/src/core/project-manager.js.map +1 -1
  145. package/dist/src/core/spec-content-sync.d.ts +1 -1
  146. package/dist/src/core/spec-content-sync.d.ts.map +1 -1
  147. package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -1
  148. package/dist/src/core/sync/enhanced-content-builder.js +2 -1
  149. package/dist/src/core/sync/enhanced-content-builder.js.map +1 -1
  150. package/dist/src/core/sync/performance-optimizer.d.ts +153 -0
  151. package/dist/src/core/sync/performance-optimizer.d.ts.map +1 -0
  152. package/dist/src/core/sync/performance-optimizer.js +220 -0
  153. package/dist/src/core/sync/performance-optimizer.js.map +1 -0
  154. package/dist/src/core/sync/retry-handler.d.ts +98 -0
  155. package/dist/src/core/sync/retry-handler.d.ts.map +1 -0
  156. package/dist/src/core/sync/retry-handler.js +196 -0
  157. package/dist/src/core/sync/retry-handler.js.map +1 -0
  158. package/dist/src/core/types/config.d.ts +94 -0
  159. package/dist/src/core/types/config.d.ts.map +1 -1
  160. package/dist/src/core/types/config.js +16 -0
  161. package/dist/src/core/types/config.js.map +1 -1
  162. package/dist/src/core/types/increment-metadata.d.ts +6 -0
  163. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  164. package/dist/src/core/types/increment-metadata.js +10 -1
  165. package/dist/src/core/types/increment-metadata.js.map +1 -1
  166. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
  167. package/dist/src/integrations/jira/jira-incremental-mapper.js +4 -8
  168. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
  169. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -1
  170. package/dist/src/integrations/jira/jira-mapper.js +4 -8
  171. package/dist/src/integrations/jira/jira-mapper.js.map +1 -1
  172. package/package.json +1 -1
  173. package/plugins/specweave/COMMANDS.md +13 -4
  174. package/plugins/specweave/commands/specweave-abandon.md +22 -20
  175. package/plugins/specweave/commands/specweave-archive-features.md +121 -0
  176. package/plugins/specweave/commands/specweave-archive-increments.md +82 -0
  177. package/plugins/specweave/commands/specweave-archive.md +363 -0
  178. package/plugins/specweave/commands/specweave-backlog.md +211 -0
  179. package/plugins/specweave/commands/specweave-fix-duplicates.md +517 -0
  180. package/plugins/specweave/commands/specweave-increment.md +4 -3
  181. package/plugins/specweave/commands/specweave-progress.md +176 -27
  182. package/plugins/specweave/commands/specweave-reopen.md +391 -0
  183. package/plugins/specweave/commands/specweave-restore-feature.md +90 -0
  184. package/plugins/specweave/commands/specweave-restore.md +309 -0
  185. package/plugins/specweave/commands/specweave-resume.md +51 -23
  186. package/plugins/specweave/commands/specweave-status.md +41 -7
  187. package/plugins/specweave/commands/specweave-sync-specs.md +425 -0
  188. package/plugins/specweave/hooks/hooks.json +4 -0
  189. package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
  190. package/plugins/specweave/hooks/post-task-completion.sh +39 -0
  191. package/plugins/specweave/hooks/pre-command-deduplication.sh +83 -0
  192. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  193. package/plugins/specweave/lib/hooks/sync-living-docs.js +2 -0
  194. package/plugins/specweave/lib/hooks/sync-living-docs.ts +4 -0
  195. package/plugins/specweave/lib/hooks/update-ac-status.js +102 -0
  196. package/plugins/specweave/lib/hooks/update-ac-status.ts +192 -0
  197. package/plugins/specweave/skills/archive-increments/SKILL.md +198 -0
  198. package/plugins/specweave/skills/increment-planner/scripts/feature-utils.js +14 -0
  199. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +244 -0
  200. package/plugins/specweave-ado/lib/ado-spec-content-sync.js +49 -5
  201. package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +72 -6
  202. package/plugins/specweave-confluent/.claude-plugin/plugin.json +23 -0
  203. package/plugins/specweave-confluent/README.md +375 -0
  204. package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +306 -0
  205. package/plugins/specweave-confluent/skills/confluent-kafka-connect/SKILL.md +453 -0
  206. package/plugins/specweave-confluent/skills/confluent-ksqldb/SKILL.md +470 -0
  207. package/plugins/specweave-confluent/skills/confluent-schema-registry/SKILL.md +316 -0
  208. package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +2 -2
  209. package/plugins/specweave-github/agents/user-story-updater/AGENT.md +148 -0
  210. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +1 -1
  211. package/plugins/specweave-github/commands/specweave-github-update-user-story.md +156 -0
  212. package/plugins/specweave-github/hooks/post-task-completion.sh +10 -9
  213. package/plugins/specweave-github/lib/completion-calculator.js +262 -0
  214. package/plugins/specweave-github/lib/completion-calculator.ts +434 -0
  215. package/plugins/specweave-github/lib/duplicate-detector.js +3 -3
  216. package/plugins/specweave-github/lib/duplicate-detector.ts +4 -4
  217. package/plugins/specweave-github/lib/epic-content-builder.js +38 -0
  218. package/plugins/specweave-github/lib/epic-content-builder.ts +59 -0
  219. package/plugins/specweave-github/lib/github-client-v2.js +49 -0
  220. package/plugins/specweave-github/lib/github-client-v2.ts +59 -0
  221. package/plugins/specweave-github/lib/github-epic-sync.ts +1 -1
  222. package/plugins/specweave-github/lib/github-feature-sync.js +381 -0
  223. package/plugins/specweave-github/lib/github-feature-sync.ts +568 -0
  224. package/plugins/specweave-github/lib/github-spec-content-sync.js +40 -10
  225. package/plugins/specweave-github/lib/github-spec-content-sync.ts +82 -14
  226. package/plugins/specweave-github/lib/progress-comment-builder.js +229 -0
  227. package/plugins/specweave-github/lib/progress-comment-builder.ts +324 -0
  228. package/plugins/specweave-github/lib/user-story-content-builder.js +299 -0
  229. package/plugins/specweave-github/lib/user-story-content-builder.ts +413 -0
  230. package/plugins/specweave-github/lib/user-story-issue-builder.js +344 -0
  231. package/plugins/specweave-github/lib/user-story-issue-builder.ts +543 -0
  232. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +189 -0
  233. package/plugins/{specweave-ado/lib/enhanced-ado-sync.js → specweave-jira/lib/enhanced-jira-sync.js} +25 -61
  234. package/plugins/specweave-jira/lib/{enhanced-jira-sync.ts.disabled → enhanced-jira-sync.ts} +26 -52
  235. package/plugins/specweave-kafka/.claude-plugin/plugin.json +26 -0
  236. package/plugins/specweave-kafka/IMPLEMENTATION-COMPLETE.md +483 -0
  237. package/plugins/specweave-kafka/README.md +242 -0
  238. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +235 -0
  239. package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +209 -0
  240. package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +266 -0
  241. package/plugins/specweave-kafka/commands/deploy.md +99 -0
  242. package/plugins/specweave-kafka/commands/dev-env.md +176 -0
  243. package/plugins/specweave-kafka/commands/mcp-configure.md +101 -0
  244. package/plugins/specweave-kafka/commands/monitor-setup.md +96 -0
  245. package/plugins/specweave-kafka/docker/kafka-local/docker-compose.yml +187 -0
  246. package/plugins/specweave-kafka/docker/redpanda/docker-compose.yml +199 -0
  247. package/plugins/specweave-kafka/docker/templates/consumer-nodejs.js +225 -0
  248. package/plugins/specweave-kafka/docker/templates/consumer-python.py +220 -0
  249. package/plugins/specweave-kafka/docker/templates/producer-nodejs.js +168 -0
  250. package/plugins/specweave-kafka/docker/templates/producer-python.py +167 -0
  251. package/plugins/specweave-kafka/lib/adapters/apache-kafka-adapter.js +438 -0
  252. package/plugins/specweave-kafka/lib/adapters/apache-kafka-adapter.ts +541 -0
  253. package/plugins/specweave-kafka/lib/adapters/platform-adapter.js +47 -0
  254. package/plugins/specweave-kafka/lib/adapters/platform-adapter.ts +343 -0
  255. package/plugins/specweave-kafka/lib/cli/kcat-wrapper.js +258 -0
  256. package/plugins/specweave-kafka/lib/cli/kcat-wrapper.ts +298 -0
  257. package/plugins/specweave-kafka/lib/cli/types.js +10 -0
  258. package/plugins/specweave-kafka/lib/cli/types.ts +92 -0
  259. package/plugins/specweave-kafka/lib/connectors/connector-catalog.js +305 -0
  260. package/plugins/specweave-kafka/lib/connectors/connector-catalog.ts +528 -0
  261. package/plugins/specweave-kafka/lib/documentation/diagram-generator.js +114 -0
  262. package/plugins/specweave-kafka/lib/documentation/diagram-generator.ts +195 -0
  263. package/plugins/specweave-kafka/lib/documentation/exporter.js +210 -0
  264. package/plugins/specweave-kafka/lib/documentation/exporter.ts +338 -0
  265. package/plugins/specweave-kafka/lib/documentation/schema-catalog-generator.js +60 -0
  266. package/plugins/specweave-kafka/lib/documentation/schema-catalog-generator.ts +130 -0
  267. package/plugins/specweave-kafka/lib/documentation/topology-generator.js +143 -0
  268. package/plugins/specweave-kafka/lib/documentation/topology-generator.ts +290 -0
  269. package/plugins/specweave-kafka/lib/mcp/detector.js +298 -0
  270. package/plugins/specweave-kafka/lib/mcp/detector.ts +352 -0
  271. package/plugins/specweave-kafka/lib/mcp/types.js +21 -0
  272. package/plugins/specweave-kafka/lib/mcp/types.ts +77 -0
  273. package/plugins/specweave-kafka/lib/multi-cluster/cluster-config-manager.js +193 -0
  274. package/plugins/specweave-kafka/lib/multi-cluster/cluster-config-manager.ts +362 -0
  275. package/plugins/specweave-kafka/lib/multi-cluster/cluster-switcher.js +188 -0
  276. package/plugins/specweave-kafka/lib/multi-cluster/cluster-switcher.ts +359 -0
  277. package/plugins/specweave-kafka/lib/multi-cluster/health-aggregator.js +195 -0
  278. package/plugins/specweave-kafka/lib/multi-cluster/health-aggregator.ts +380 -0
  279. package/plugins/specweave-kafka/lib/observability/opentelemetry-kafka.js +209 -0
  280. package/plugins/specweave-kafka/lib/observability/opentelemetry-kafka.ts +358 -0
  281. package/plugins/specweave-kafka/lib/patterns/advanced-ksqldb-patterns.js +354 -0
  282. package/plugins/specweave-kafka/lib/patterns/advanced-ksqldb-patterns.ts +563 -0
  283. package/plugins/specweave-kafka/lib/patterns/circuit-breaker-resilience.js +259 -0
  284. package/plugins/specweave-kafka/lib/patterns/circuit-breaker-resilience.ts +516 -0
  285. package/plugins/specweave-kafka/lib/patterns/dead-letter-queue.js +233 -0
  286. package/plugins/specweave-kafka/lib/patterns/dead-letter-queue.ts +423 -0
  287. package/plugins/specweave-kafka/lib/patterns/exactly-once-semantics.js +266 -0
  288. package/plugins/specweave-kafka/lib/patterns/exactly-once-semantics.ts +445 -0
  289. package/plugins/specweave-kafka/lib/patterns/flink-kafka-integration.js +312 -0
  290. package/plugins/specweave-kafka/lib/patterns/flink-kafka-integration.ts +561 -0
  291. package/plugins/specweave-kafka/lib/patterns/multi-dc-replication.js +289 -0
  292. package/plugins/specweave-kafka/lib/patterns/multi-dc-replication.ts +607 -0
  293. package/plugins/specweave-kafka/lib/patterns/rate-limiting-backpressure.js +264 -0
  294. package/plugins/specweave-kafka/lib/patterns/rate-limiting-backpressure.ts +498 -0
  295. package/plugins/specweave-kafka/lib/patterns/stream-processing-optimization.js +263 -0
  296. package/plugins/specweave-kafka/lib/patterns/stream-processing-optimization.ts +549 -0
  297. package/plugins/specweave-kafka/lib/patterns/tiered-storage-compaction.js +205 -0
  298. package/plugins/specweave-kafka/lib/patterns/tiered-storage-compaction.ts +399 -0
  299. package/plugins/specweave-kafka/lib/performance/performance-optimizer.js +249 -0
  300. package/plugins/specweave-kafka/lib/performance/performance-optimizer.ts +427 -0
  301. package/plugins/specweave-kafka/lib/security/kafka-security.js +252 -0
  302. package/plugins/specweave-kafka/lib/security/kafka-security.ts +494 -0
  303. package/plugins/specweave-kafka/lib/utils/capacity-planner.js +203 -0
  304. package/plugins/specweave-kafka/lib/utils/capacity-planner.ts +469 -0
  305. package/plugins/specweave-kafka/lib/utils/config-validator.js +419 -0
  306. package/plugins/specweave-kafka/lib/utils/config-validator.ts +564 -0
  307. package/plugins/specweave-kafka/lib/utils/partitioning.js +329 -0
  308. package/plugins/specweave-kafka/lib/utils/partitioning.ts +473 -0
  309. package/plugins/specweave-kafka/lib/utils/sizing.js +221 -0
  310. package/plugins/specweave-kafka/lib/utils/sizing.ts +374 -0
  311. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-broker-metrics.json +628 -0
  312. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-cluster-overview.json +564 -0
  313. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-consumer-lag.json +509 -0
  314. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-jvm-metrics.json +674 -0
  315. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-topic-metrics.json +578 -0
  316. package/plugins/specweave-kafka/monitoring/grafana/provisioning/dashboards/kafka.yml +17 -0
  317. package/plugins/specweave-kafka/monitoring/grafana/provisioning/datasources/prometheus.yml +17 -0
  318. package/plugins/specweave-kafka/monitoring/prometheus/kafka-alerts.yml +415 -0
  319. package/plugins/specweave-kafka/monitoring/prometheus/kafka-jmx-exporter.yml +256 -0
  320. package/plugins/specweave-kafka/package.json +41 -0
  321. package/plugins/specweave-kafka/skills/kafka-architecture/SKILL.md +647 -0
  322. package/plugins/specweave-kafka/skills/kafka-cli-tools/SKILL.md +433 -0
  323. package/plugins/specweave-kafka/skills/kafka-iac-deployment/SKILL.md +449 -0
  324. package/plugins/specweave-kafka/skills/kafka-kubernetes/SKILL.md +667 -0
  325. package/plugins/specweave-kafka/skills/kafka-mcp-integration/SKILL.md +273 -0
  326. package/plugins/specweave-kafka/skills/kafka-observability/SKILL.md +576 -0
  327. package/plugins/specweave-kafka/templates/config/broker-production.properties +254 -0
  328. package/plugins/specweave-kafka/templates/config/consumer-low-latency.properties +112 -0
  329. package/plugins/specweave-kafka/templates/config/producer-high-throughput.properties +120 -0
  330. package/plugins/specweave-kafka/templates/migration/mirrormaker2-config.properties +234 -0
  331. package/plugins/specweave-kafka/templates/monitoring/grafana/multi-cluster-dashboard.json +686 -0
  332. package/plugins/specweave-kafka/terraform/apache-kafka/main.tf +347 -0
  333. package/plugins/specweave-kafka/terraform/apache-kafka/outputs.tf +107 -0
  334. package/plugins/specweave-kafka/terraform/apache-kafka/templates/kafka-broker-init.sh.tpl +216 -0
  335. package/plugins/specweave-kafka/terraform/apache-kafka/variables.tf +156 -0
  336. package/plugins/specweave-kafka/terraform/aws-msk/main.tf +362 -0
  337. package/plugins/specweave-kafka/terraform/aws-msk/outputs.tf +93 -0
  338. package/plugins/specweave-kafka/terraform/aws-msk/templates/server.properties.tpl +32 -0
  339. package/plugins/specweave-kafka/terraform/aws-msk/variables.tf +235 -0
  340. package/plugins/specweave-kafka/terraform/azure-event-hubs/main.tf +281 -0
  341. package/plugins/specweave-kafka/terraform/azure-event-hubs/outputs.tf +118 -0
  342. package/plugins/specweave-kafka/terraform/azure-event-hubs/variables.tf +148 -0
  343. package/plugins/specweave-kafka/tsconfig.json +21 -0
  344. package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +23 -0
  345. package/plugins/specweave-kafka-streams/README.md +310 -0
  346. package/plugins/specweave-kafka-streams/skills/kafka-streams-topology/SKILL.md +539 -0
  347. package/plugins/specweave-n8n/.claude-plugin/plugin.json +22 -0
  348. package/plugins/specweave-n8n/README.md +354 -0
  349. package/plugins/specweave-n8n/skills/n8n-kafka-workflows/SKILL.md +504 -0
  350. package/plugins/specweave-release/commands/specweave-release-platform.md +1 -1
  351. package/plugins/specweave-release/hooks/post-task-completion.sh +2 -2
  352. package/src/templates/AGENTS.md.template +601 -7
  353. package/src/templates/CLAUDE.md.template +188 -88
  354. package/dist/locales/de/.gitkeep +0 -0
  355. package/dist/locales/de/cli.json +0 -108
  356. package/dist/locales/en/cli.json +0 -287
  357. package/dist/locales/en/errors.json +0 -7
  358. package/dist/locales/en/templates.json +0 -6
  359. package/dist/locales/es/.gitkeep +0 -0
  360. package/dist/locales/es/cli.json +0 -41
  361. package/dist/locales/fr/.gitkeep +0 -0
  362. package/dist/locales/fr/cli.json +0 -108
  363. package/dist/locales/ja/.gitkeep +0 -0
  364. package/dist/locales/ja/cli.json +0 -108
  365. package/dist/locales/ko/.gitkeep +0 -0
  366. package/dist/locales/ko/cli.json +0 -108
  367. package/dist/locales/pt/.gitkeep +0 -0
  368. package/dist/locales/pt/cli.json +0 -108
  369. package/dist/locales/ru/.gitkeep +0 -0
  370. package/dist/locales/ru/cli.json +0 -269
  371. package/dist/locales/zh/.gitkeep +0 -0
  372. package/dist/locales/zh/cli.json +0 -108
  373. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts +0 -25
  374. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts.map +0 -1
  375. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -191
  376. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js.map +0 -1
  377. package/dist/spec-parser.js +0 -629
  378. package/dist/src/core/sync/spec-content-sync.d.ts +0 -88
  379. package/dist/src/core/sync/spec-content-sync.d.ts.map +0 -1
  380. package/dist/src/core/sync/spec-content-sync.js +0 -5
  381. package/dist/src/core/sync/spec-content-sync.js.map +0 -1
  382. package/dist/tsconfig.tsbuildinfo +0 -1
  383. package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +0 -255
  384. package/plugins/specweave-github/commands/specweave-github-sync-epic.md +0 -248
  385. package/plugins/specweave-github/commands/specweave-github-sync-from.md +0 -147
  386. package/plugins/specweave-github/commands/specweave-github-sync-spec.md +0 -208
  387. package/plugins/specweave-github/commands/specweave-github-sync-tasks.md +0 -530
  388. package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +0 -267
  389. package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +0 -240
@@ -0,0 +1,433 @@
1
+ ---
2
+ name: kafka-cli-tools
3
+ description: Expert knowledge of Kafka CLI tools (kcat, kcli, kaf, kafkactl). Auto-activates on keywords kcat, kafkacat, kcli, kaf, kafkactl, kafka cli, kafka command line, produce message, consume topic, list topics, kafka metadata. Provides command examples, installation guides, and tool comparisons.
4
+ ---
5
+
6
+ # Kafka CLI Tools Expert
7
+
8
+ Comprehensive knowledge of modern Kafka CLI tools for production operations, development, and troubleshooting.
9
+
10
+ ## Supported CLI Tools
11
+
12
+ ### 1. kcat (kafkacat) - The Swiss Army Knife
13
+
14
+ **Installation**:
15
+ ```bash
16
+ # macOS
17
+ brew install kcat
18
+
19
+ # Ubuntu/Debian
20
+ apt-get install kafkacat
21
+
22
+ # From source
23
+ git clone https://github.com/edenhill/kcat.git
24
+ cd kcat
25
+ ./configure && make && sudo make install
26
+ ```
27
+
28
+ **Core Operations**:
29
+
30
+ **Produce Messages**:
31
+ ```bash
32
+ # Simple produce
33
+ echo "Hello Kafka" | kcat -P -b localhost:9092 -t my-topic
34
+
35
+ # Produce with key (key:value format)
36
+ echo "user123:Login event" | kcat -P -b localhost:9092 -t events -K:
37
+
38
+ # Produce from file
39
+ cat events.json | kcat -P -b localhost:9092 -t events
40
+
41
+ # Produce with headers
42
+ echo "msg" | kcat -P -b localhost:9092 -t my-topic -H "source=app1" -H "version=1.0"
43
+
44
+ # Produce with compression
45
+ echo "data" | kcat -P -b localhost:9092 -t my-topic -z gzip
46
+
47
+ # Produce with acks=all
48
+ echo "critical-data" | kcat -P -b localhost:9092 -t my-topic -X acks=all
49
+ ```
50
+
51
+ **Consume Messages**:
52
+ ```bash
53
+ # Consume from beginning
54
+ kcat -C -b localhost:9092 -t my-topic -o beginning
55
+
56
+ # Consume from end (latest)
57
+ kcat -C -b localhost:9092 -t my-topic -o end
58
+
59
+ # Consume specific partition
60
+ kcat -C -b localhost:9092 -t my-topic -p 0 -o beginning
61
+
62
+ # Consume with consumer group
63
+ kcat -C -b localhost:9092 -G my-group my-topic
64
+
65
+ # Consume N messages and exit
66
+ kcat -C -b localhost:9092 -t my-topic -c 10
67
+
68
+ # Custom format (topic:partition:offset:key:value)
69
+ kcat -C -b localhost:9092 -t my-topic -f 'Topic: %t, Partition: %p, Offset: %o, Key: %k, Value: %s\n'
70
+
71
+ # JSON output
72
+ kcat -C -b localhost:9092 -t my-topic -J
73
+ ```
74
+
75
+ **Metadata & Admin**:
76
+ ```bash
77
+ # List all topics
78
+ kcat -L -b localhost:9092
79
+
80
+ # Get topic metadata (JSON)
81
+ kcat -L -b localhost:9092 -t my-topic -J
82
+
83
+ # Query topic offsets
84
+ kcat -Q -b localhost:9092 -t my-topic
85
+
86
+ # Check broker health
87
+ kcat -L -b localhost:9092 | grep "broker\|topic"
88
+ ```
89
+
90
+ **SASL/SSL Authentication**:
91
+ ```bash
92
+ # SASL/PLAINTEXT
93
+ kcat -b localhost:9092 \
94
+ -X security.protocol=SASL_PLAINTEXT \
95
+ -X sasl.mechanism=PLAIN \
96
+ -X sasl.username=admin \
97
+ -X sasl.password=admin-secret \
98
+ -L
99
+
100
+ # SASL/SSL
101
+ kcat -b localhost:9093 \
102
+ -X security.protocol=SASL_SSL \
103
+ -X sasl.mechanism=SCRAM-SHA-256 \
104
+ -X sasl.username=admin \
105
+ -X sasl.password=admin-secret \
106
+ -X ssl.ca.location=/path/to/ca-cert \
107
+ -L
108
+
109
+ # mTLS (mutual TLS)
110
+ kcat -b localhost:9093 \
111
+ -X security.protocol=SSL \
112
+ -X ssl.ca.location=/path/to/ca-cert \
113
+ -X ssl.certificate.location=/path/to/client-cert.pem \
114
+ -X ssl.key.location=/path/to/client-key.pem \
115
+ -L
116
+ ```
117
+
118
+ ### 2. kcli - Kubernetes-Native Kafka CLI
119
+
120
+ **Installation**:
121
+ ```bash
122
+ # Install via krew (Kubernetes plugin manager)
123
+ kubectl krew install kcli
124
+
125
+ # Or download binary
126
+ curl -LO https://github.com/cswank/kcli/releases/latest/download/kcli-linux-amd64
127
+ chmod +x kcli-linux-amd64
128
+ sudo mv kcli-linux-amd64 /usr/local/bin/kcli
129
+ ```
130
+
131
+ **Kubernetes Integration**:
132
+ ```bash
133
+ # Connect to Kafka running in k8s
134
+ kcli --context my-cluster --namespace kafka
135
+
136
+ # Produce to topic in k8s
137
+ echo "msg" | kcli produce --topic my-topic --brokers kafka-broker:9092
138
+
139
+ # Consume from k8s Kafka
140
+ kcli consume --topic my-topic --brokers kafka-broker:9092 --from-beginning
141
+
142
+ # List topics in k8s cluster
143
+ kcli topics list --brokers kafka-broker:9092
144
+ ```
145
+
146
+ **Best For**:
147
+ - Kubernetes-native deployments
148
+ - Helmfile/Kustomize workflows
149
+ - GitOps with ArgoCD/Flux
150
+
151
+ ### 3. kaf - Modern Terminal UI
152
+
153
+ **Installation**:
154
+ ```bash
155
+ # macOS
156
+ brew install kaf
157
+
158
+ # Linux (via snap)
159
+ snap install kaf
160
+
161
+ # From source
162
+ go install github.com/birdayz/kaf/cmd/kaf@latest
163
+ ```
164
+
165
+ **Interactive Features**:
166
+ ```bash
167
+ # Configure cluster
168
+ kaf config add-cluster local --brokers localhost:9092
169
+
170
+ # Use cluster
171
+ kaf config use-cluster local
172
+
173
+ # Interactive topic browsing (TUI)
174
+ kaf topics
175
+
176
+ # Interactive consume (arrow keys to navigate)
177
+ kaf consume my-topic
178
+
179
+ # Produce interactively
180
+ kaf produce my-topic
181
+
182
+ # Consumer group management
183
+ kaf groups
184
+ kaf group describe my-group
185
+ kaf group reset my-group --topic my-topic --offset earliest
186
+
187
+ # Schema Registry integration
188
+ kaf schemas
189
+ kaf schema get my-schema
190
+ ```
191
+
192
+ **Best For**:
193
+ - Development workflows
194
+ - Quick topic exploration
195
+ - Consumer group debugging
196
+ - Schema Registry management
197
+
198
+ ### 4. kafkactl - Advanced Admin Tool
199
+
200
+ **Installation**:
201
+ ```bash
202
+ # macOS
203
+ brew install deviceinsight/packages/kafkactl
204
+
205
+ # Linux
206
+ curl -L https://github.com/deviceinsight/kafkactl/releases/latest/download/kafkactl_linux_amd64 -o kafkactl
207
+ chmod +x kafkactl
208
+ sudo mv kafkactl /usr/local/bin/
209
+
210
+ # Via Docker
211
+ docker run --rm -it deviceinsight/kafkactl:latest
212
+ ```
213
+
214
+ **Advanced Operations**:
215
+ ```bash
216
+ # Configure context
217
+ kafkactl config add-context local --brokers localhost:9092
218
+
219
+ # Topic management
220
+ kafkactl create topic my-topic --partitions 3 --replication-factor 2
221
+ kafkactl alter topic my-topic --config retention.ms=86400000
222
+ kafkactl delete topic my-topic
223
+
224
+ # Consumer group operations
225
+ kafkactl describe consumer-group my-group
226
+ kafkactl reset consumer-group my-group --topic my-topic --offset earliest
227
+ kafkactl delete consumer-group my-group
228
+
229
+ # ACL management
230
+ kafkactl create acl --allow --principal User:alice --operation READ --topic my-topic
231
+ kafkactl list acls
232
+
233
+ # Quota management
234
+ kafkactl alter client-quota --user alice --producer-byte-rate 1048576
235
+
236
+ # Reassign partitions
237
+ kafkactl alter partition --topic my-topic --partition 0 --replicas 1,2,3
238
+ ```
239
+
240
+ **Best For**:
241
+ - Production cluster management
242
+ - ACL administration
243
+ - Partition reassignment
244
+ - Quota management
245
+
246
+ ## Tool Comparison Matrix
247
+
248
+ | Feature | kcat | kcli | kaf | kafkactl |
249
+ |---------|------|------|-----|----------|
250
+ | **Installation** | Easy | Medium | Easy | Easy |
251
+ | **Produce** | ✅ Advanced | ✅ Basic | ✅ Interactive | ✅ Basic |
252
+ | **Consume** | ✅ Advanced | ✅ Basic | ✅ Interactive | ✅ Basic |
253
+ | **Metadata** | ✅ JSON | ✅ Basic | ✅ TUI | ✅ Detailed |
254
+ | **TUI** | ❌ | ❌ | ✅ | ✅ Limited |
255
+ | **Admin** | ❌ | ❌ | ⚠️ Limited | ✅ Advanced |
256
+ | **SASL/SSL** | ✅ | ✅ | ✅ | ✅ |
257
+ | **K8s Native** | ❌ | ✅ | ❌ | ❌ |
258
+ | **Schema Reg** | ❌ | ❌ | ✅ | ❌ |
259
+ | **ACLs** | ❌ | ❌ | ❌ | ✅ |
260
+ | **Quotas** | ❌ | ❌ | ❌ | ✅ |
261
+ | **Best For** | Scripting, ops | Kubernetes | Development | Production admin |
262
+
263
+ ## Common Patterns
264
+
265
+ ### 1. Topic Creation with Optimal Settings
266
+
267
+ ```bash
268
+ # Using kafkactl (recommended for production)
269
+ kafkactl create topic orders \
270
+ --partitions 12 \
271
+ --replication-factor 3 \
272
+ --config retention.ms=604800000 \
273
+ --config compression.type=lz4 \
274
+ --config min.insync.replicas=2
275
+
276
+ # Verify with kcat
277
+ kcat -L -b localhost:9092 -t orders -J | jq '.topics[0]'
278
+ ```
279
+
280
+ ### 2. Dead Letter Queue Pattern
281
+
282
+ ```bash
283
+ # Produce failed message to DLQ
284
+ echo "failed-msg" | kcat -P -b localhost:9092 -t orders-dlq \
285
+ -H "original-topic=orders" \
286
+ -H "error=DeserializationException" \
287
+ -H "timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
288
+
289
+ # Monitor DLQ
290
+ kcat -C -b localhost:9092 -t orders-dlq -f 'Headers: %h\nValue: %s\n\n'
291
+ ```
292
+
293
+ ### 3. Consumer Group Lag Monitoring
294
+
295
+ ```bash
296
+ # Using kafkactl
297
+ kafkactl describe consumer-group my-app | grep LAG
298
+
299
+ # Using kcat (via external tool like kcat-lag)
300
+ kcat -L -b localhost:9092 -J | jq '.topics[].partitions[] | select(.topic=="my-topic")'
301
+
302
+ # Using kaf (interactive)
303
+ kaf groups
304
+ # Then select group to see lag in TUI
305
+ ```
306
+
307
+ ### 4. Multi-Cluster Replication Testing
308
+
309
+ ```bash
310
+ # Produce to source cluster
311
+ echo "test" | kcat -P -b source-kafka:9092 -t replicated-topic
312
+
313
+ # Consume from target cluster
314
+ kcat -C -b target-kafka:9092 -t replicated-topic -o end -c 1
315
+
316
+ # Compare offsets
317
+ kcat -Q -b source-kafka:9092 -t replicated-topic
318
+ kcat -Q -b target-kafka:9092 -t replicated-topic
319
+ ```
320
+
321
+ ### 5. Performance Testing
322
+
323
+ ```bash
324
+ # Produce 10,000 messages with kcat
325
+ seq 1 10000 | kcat -P -b localhost:9092 -t perf-test
326
+
327
+ # Consume and measure throughput
328
+ time kcat -C -b localhost:9092 -t perf-test -c 10000 -o beginning > /dev/null
329
+
330
+ # Test with compression
331
+ seq 1 10000 | kcat -P -b localhost:9092 -t perf-test -z lz4
332
+ ```
333
+
334
+ ## Troubleshooting
335
+
336
+ ### Connection Issues
337
+
338
+ ```bash
339
+ # Test broker connectivity
340
+ kcat -L -b localhost:9092
341
+
342
+ # Check SSL/TLS connection
343
+ openssl s_client -connect localhost:9093 -showcerts
344
+
345
+ # Verify SASL authentication
346
+ kcat -b localhost:9092 \
347
+ -X security.protocol=SASL_PLAINTEXT \
348
+ -X sasl.mechanism=PLAIN \
349
+ -X sasl.username=admin \
350
+ -X sasl.password=wrong-password \
351
+ -L
352
+ # Should fail with authentication error
353
+ ```
354
+
355
+ ### Message Not Appearing
356
+
357
+ ```bash
358
+ # Check topic exists
359
+ kcat -L -b localhost:9092 | grep my-topic
360
+
361
+ # Check partition count
362
+ kcat -L -b localhost:9092 -t my-topic -J | jq '.topics[0].partition_count'
363
+
364
+ # Query all partition offsets
365
+ kcat -Q -b localhost:9092 -t my-topic
366
+
367
+ # Consume from all partitions
368
+ for i in {0..11}; do
369
+ echo "Partition $i:"
370
+ kcat -C -b localhost:9092 -t my-topic -p $i -c 1 -o end
371
+ done
372
+ ```
373
+
374
+ ### Consumer Group Stuck
375
+
376
+ ```bash
377
+ # Check consumer group state
378
+ kafkactl describe consumer-group my-app
379
+
380
+ # Reset to beginning
381
+ kafkactl reset consumer-group my-app --topic my-topic --offset earliest
382
+
383
+ # Reset to specific offset
384
+ kafkactl reset consumer-group my-app --topic my-topic --partition 0 --offset 12345
385
+
386
+ # Delete consumer group (all consumers must be stopped first)
387
+ kafkactl delete consumer-group my-app
388
+ ```
389
+
390
+ ## Integration with SpecWeave
391
+
392
+ **Automatic CLI Tool Detection**:
393
+ SpecWeave auto-detects installed CLI tools and recommends best tool for the operation:
394
+
395
+ ```typescript
396
+ import { CLIToolDetector } from './lib/cli/detector';
397
+
398
+ const detector = new CLIToolDetector();
399
+ const available = await detector.detectAll();
400
+
401
+ // Recommended tool for produce operation
402
+ if (available.includes('kcat')) {
403
+ console.log('Use kcat for produce (fastest)');
404
+ } else if (available.includes('kaf')) {
405
+ console.log('Use kaf for produce (interactive)');
406
+ }
407
+ ```
408
+
409
+ **SpecWeave Commands**:
410
+ - `/specweave-kafka:dev-env` - Uses Docker Compose + kcat for local testing
411
+ - `/specweave-kafka:monitor-setup` - Sets up kcat-based lag monitoring
412
+ - `/specweave-kafka:mcp-configure` - Validates CLI tools are installed
413
+
414
+ ## Security Best Practices
415
+
416
+ 1. **Never hardcode credentials** - Use environment variables or secrets management
417
+ 2. **Use SSL/TLS in production** - Configure `-X security.protocol=SASL_SSL`
418
+ 3. **Prefer SCRAM over PLAIN** - Use `-X sasl.mechanism=SCRAM-SHA-256`
419
+ 4. **Rotate credentials regularly** - Update passwords and certificates
420
+ 5. **Least privilege** - Grant only necessary ACLs to users
421
+
422
+ ## Related Skills
423
+
424
+ - `/specweave-kafka:kafka-mcp-integration` - MCP server setup and configuration
425
+ - `/specweave-kafka:kafka-architecture` - Cluster design and sizing
426
+
427
+ ## External Links
428
+
429
+ - [kcat GitHub](https://github.com/edenhill/kcat)
430
+ - [kcli GitHub](https://github.com/cswank/kcli)
431
+ - [kaf GitHub](https://github.com/birdayz/kaf)
432
+ - [kafkactl GitHub](https://github.com/deviceinsight/kafkactl)
433
+ - [Apache Kafka Documentation](https://kafka.apache.org/documentation/)