kollab 0.5.3__tar.gz

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 (740) hide show
  1. kollab-0.5.3/CLAUDE.md +786 -0
  2. kollab-0.5.3/LICENSE +21 -0
  3. kollab-0.5.3/MANIFEST.in +36 -0
  4. kollab-0.5.3/PKG-INFO +335 -0
  5. kollab-0.5.3/README.md +288 -0
  6. kollab-0.5.3/bundles/agents/__init__.py +2 -0
  7. kollab-0.5.3/bundles/agents/_base/base_prompt.md +36 -0
  8. kollab-0.5.3/bundles/agents/_base/sections/00-header.md +7 -0
  9. kollab-0.5.3/bundles/agents/_base/sections/01-session-context.md +177 -0
  10. kollab-0.5.3/bundles/agents/_base/sections/README.md +77 -0
  11. kollab-0.5.3/bundles/agents/_base/sections/meta/final-reminders.md +36 -0
  12. kollab-0.5.3/bundles/agents/_base/sections/meta/quality-assurance.md +47 -0
  13. kollab-0.5.3/bundles/agents/_base/sections/meta/resource-limits.md +155 -0
  14. kollab-0.5.3/bundles/agents/_base/sections/meta/terminal-formatting.md +46 -0
  15. kollab-0.5.3/bundles/agents/_base/sections/meta/thoroughness-mandate.md +19 -0
  16. kollab-0.5.3/bundles/agents/_base/sections/practices/advanced-troubleshooting.md +33 -0
  17. kollab-0.5.3/bundles/agents/_base/sections/practices/communication-style.md +49 -0
  18. kollab-0.5.3/bundles/agents/_base/sections/practices/debugging.md +59 -0
  19. kollab-0.5.3/bundles/agents/_base/sections/practices/dependencies.md +33 -0
  20. kollab-0.5.3/bundles/agents/_base/sections/practices/error-handling.md +48 -0
  21. kollab-0.5.3/bundles/agents/_base/sections/practices/performance.md +23 -0
  22. kollab-0.5.3/bundles/agents/_base/sections/practices/security.md +43 -0
  23. kollab-0.5.3/bundles/agents/_base/sections/practices/testing.md +69 -0
  24. kollab-0.5.3/bundles/agents/_base/sections/protocols/communication.md +109 -0
  25. kollab-0.5.3/bundles/agents/_base/sections/protocols/investigation-examples.md +85 -0
  26. kollab-0.5.3/bundles/agents/_base/sections/protocols/question-gate.md +65 -0
  27. kollab-0.5.3/bundles/agents/_base/sections/protocols/response-patterns.md +24 -0
  28. kollab-0.5.3/bundles/agents/_base/sections/protocols/task-planning.md +23 -0
  29. kollab-0.5.3/bundles/agents/_base/sections/protocols/tool-execution.md +23 -0
  30. kollab-0.5.3/bundles/agents/_base/sections/protocols/tool-workflow.md +63 -0
  31. kollab-0.5.3/bundles/agents/_base/sections/tool-reference/directory.md +4 -0
  32. kollab-0.5.3/bundles/agents/_base/sections/tool-reference/file-append.md +24 -0
  33. kollab-0.5.3/bundles/agents/_base/sections/tool-reference/file-edit.md +44 -0
  34. kollab-0.5.3/bundles/agents/_base/sections/tool-reference/file-read.md +19 -0
  35. kollab-0.5.3/bundles/agents/_base/sections/tool-reference/git.md +54 -0
  36. kollab-0.5.3/bundles/agents/_base/sections/tool-reference/terminal.md +37 -0
  37. kollab-0.5.3/bundles/agents/coder/__init__.py +0 -0
  38. kollab-0.5.3/bundles/agents/coder/agent.json +36 -0
  39. kollab-0.5.3/bundles/agents/coder/sections/00-header.md +7 -0
  40. kollab-0.5.3/bundles/agents/coder/sections/README.md +86 -0
  41. kollab-0.5.3/bundles/agents/coder/system_prompt.md +36 -0
  42. kollab-0.5.3/bundles/agents/creative-writer/__init__.py +0 -0
  43. kollab-0.5.3/bundles/agents/creative-writer/agent.json +26 -0
  44. kollab-0.5.3/bundles/agents/creative-writer/character-development.md +1852 -0
  45. kollab-0.5.3/bundles/agents/creative-writer/dialogue-craft.md +1122 -0
  46. kollab-0.5.3/bundles/agents/creative-writer/plot-structure.md +1073 -0
  47. kollab-0.5.3/bundles/agents/creative-writer/revision-editing.md +1484 -0
  48. kollab-0.5.3/bundles/agents/creative-writer/sections/00-header.md +7 -0
  49. kollab-0.5.3/bundles/agents/creative-writer/sections/02-mindset.md +18 -0
  50. kollab-0.5.3/bundles/agents/creative-writer/sections/03-collaboration-modes.md +27 -0
  51. kollab-0.5.3/bundles/agents/creative-writer/sections/04-tool-calling.md +29 -0
  52. kollab-0.5.3/bundles/agents/creative-writer/sections/05-file-operations.md +29 -0
  53. kollab-0.5.3/bundles/agents/creative-writer/sections/06-craft-fundamentals.md +87 -0
  54. kollab-0.5.3/bundles/agents/creative-writer/sections/07-genre-craft.md +55 -0
  55. kollab-0.5.3/bundles/agents/creative-writer/sections/08-working-with-material.md +59 -0
  56. kollab-0.5.3/bundles/agents/creative-writer/sections/09-response-patterns.md +158 -0
  57. kollab-0.5.3/bundles/agents/creative-writer/sections/10-voice-matching.md +23 -0
  58. kollab-0.5.3/bundles/agents/creative-writer/sections/11-character-consistency.md +24 -0
  59. kollab-0.5.3/bundles/agents/creative-writer/sections/12-structural-awareness.md +13 -0
  60. kollab-0.5.3/bundles/agents/creative-writer/sections/13-project-organization.md +17 -0
  61. kollab-0.5.3/bundles/agents/creative-writer/sections/14-system-constraints.md +15 -0
  62. kollab-0.5.3/bundles/agents/creative-writer/sections/15-communication-style.md +17 -0
  63. kollab-0.5.3/bundles/agents/creative-writer/sections/16-unsure-protocol.md +8 -0
  64. kollab-0.5.3/bundles/agents/creative-writer/sections/17-final-reminders.md +12 -0
  65. kollab-0.5.3/bundles/agents/creative-writer/system_prompt.md +29 -0
  66. kollab-0.5.3/bundles/agents/creative-writer/worldbuilding.md +2049 -0
  67. kollab-0.5.3/bundles/agents/data-analyst/__init__.py +32 -0
  68. kollab-0.5.3/bundles/agents/data-analyst/agent.json +25 -0
  69. kollab-0.5.3/bundles/agents/data-analyst/data-visualization.md +992 -0
  70. kollab-0.5.3/bundles/agents/data-analyst/exploratory-data-analysis.md +1110 -0
  71. kollab-0.5.3/bundles/agents/data-analyst/pandas-data-manipulation.md +1081 -0
  72. kollab-0.5.3/bundles/agents/data-analyst/sections/00-header.md +7 -0
  73. kollab-0.5.3/bundles/agents/data-analyst/sections/02-data-workflow.md +17 -0
  74. kollab-0.5.3/bundles/agents/data-analyst/sections/03-tool-workflow.md +52 -0
  75. kollab-0.5.3/bundles/agents/data-analyst/sections/04-response-patterns.md +22 -0
  76. kollab-0.5.3/bundles/agents/data-analyst/sections/05-question-gate.md +47 -0
  77. kollab-0.5.3/bundles/agents/data-analyst/sections/06-investigation-examples.md +77 -0
  78. kollab-0.5.3/bundles/agents/data-analyst/sections/07-task-planning.md +23 -0
  79. kollab-0.5.3/bundles/agents/data-analyst/sections/08-data-expertise.md +64 -0
  80. kollab-0.5.3/bundles/agents/data-analyst/sections/09-data-quality-checklist.md +28 -0
  81. kollab-0.5.3/bundles/agents/data-analyst/sections/10-statistical-analysis.md +27 -0
  82. kollab-0.5.3/bundles/agents/data-analyst/sections/11-visualization.md +31 -0
  83. kollab-0.5.3/bundles/agents/data-analyst/sections/12-sql-optimization.md +40 -0
  84. kollab-0.5.3/bundles/agents/data-analyst/sections/13-error-handling.md +33 -0
  85. kollab-0.5.3/bundles/agents/data-analyst/sections/14-pandas-performance.md +26 -0
  86. kollab-0.5.3/bundles/agents/data-analyst/sections/15-matplotlib-style.md +31 -0
  87. kollab-0.5.3/bundles/agents/data-analyst/sections/16-communication-protocol.md +140 -0
  88. kollab-0.5.3/bundles/agents/data-analyst/sections/17-key-principles.md +8 -0
  89. kollab-0.5.3/bundles/agents/data-analyst/sections/18-quality-assurance.md +28 -0
  90. kollab-0.5.3/bundles/agents/data-analyst/sections/19-thoroughness-mandate.md +19 -0
  91. kollab-0.5.3/bundles/agents/data-analyst/sections/20-tool-execution-protocol.md +23 -0
  92. kollab-0.5.3/bundles/agents/data-analyst/sections/21-resource-limits.md +37 -0
  93. kollab-0.5.3/bundles/agents/data-analyst/sections/22-final-reminders.md +30 -0
  94. kollab-0.5.3/bundles/agents/data-analyst/sql-query-optimization.md +881 -0
  95. kollab-0.5.3/bundles/agents/data-analyst/statistical-analysis.md +1118 -0
  96. kollab-0.5.3/bundles/agents/data-analyst/system_prompt.md +33 -0
  97. kollab-0.5.3/bundles/agents/default/__init__.py +0 -0
  98. kollab-0.5.3/bundles/agents/default/agent.json +28 -0
  99. kollab-0.5.3/bundles/agents/default/sections/00-header.md +7 -0
  100. kollab-0.5.3/bundles/agents/default/sections/24-parallel-development.md +565 -0
  101. kollab-0.5.3/bundles/agents/default/sections/README.md +29 -0
  102. kollab-0.5.3/bundles/agents/default/system_prompt.md +1 -0
  103. kollab-0.5.3/bundles/agents/kollabor/__init__.py +0 -0
  104. kollab-0.5.3/bundles/agents/kollabor/agent.json +35 -0
  105. kollab-0.5.3/bundles/agents/kollabor/analyze-plugin-lifecycle.md +175 -0
  106. kollab-0.5.3/bundles/agents/kollabor/analyze-terminal-rendering.md +388 -0
  107. kollab-0.5.3/bundles/agents/kollabor/code-review.md +1092 -0
  108. kollab-0.5.3/bundles/agents/kollabor/debug-mcp-integration.md +521 -0
  109. kollab-0.5.3/bundles/agents/kollabor/debug-plugin-hooks.md +547 -0
  110. kollab-0.5.3/bundles/agents/kollabor/debugging.md +1102 -0
  111. kollab-0.5.3/bundles/agents/kollabor/dependency-management.md +1397 -0
  112. kollab-0.5.3/bundles/agents/kollabor/git-workflow.md +1099 -0
  113. kollab-0.5.3/bundles/agents/kollabor/inspect-llm-conversation.md +148 -0
  114. kollab-0.5.3/bundles/agents/kollabor/monitor-event-bus.md +558 -0
  115. kollab-0.5.3/bundles/agents/kollabor/profile-performance.md +576 -0
  116. kollab-0.5.3/bundles/agents/kollabor/refactoring.md +1454 -0
  117. kollab-0.5.3/bundles/agents/kollabor/sections/00-header.md +10 -0
  118. kollab-0.5.3/bundles/agents/kollabor/sections/02-expertise.md +22 -0
  119. kollab-0.5.3/bundles/agents/kollabor/sections/03-agent-creation-methodology.md +86 -0
  120. kollab-0.5.3/bundles/agents/kollabor/sections/04-skill-creation-methodology.md +67 -0
  121. kollab-0.5.3/bundles/agents/kollabor/sections/05-response-patterns.md +105 -0
  122. kollab-0.5.3/bundles/agents/kollabor/sections/06-agent-design-principles.md +51 -0
  123. kollab-0.5.3/bundles/agents/kollabor/sections/07-templates.md +160 -0
  124. kollab-0.5.3/bundles/agents/kollabor/sections/08-pitfalls.md +26 -0
  125. kollab-0.5.3/bundles/agents/kollabor/sections/09-validation.md +35 -0
  126. kollab-0.5.3/bundles/agents/kollabor/sections/10-collaboration.md +28 -0
  127. kollab-0.5.3/bundles/agents/kollabor/sections/11-meta-knowledge.md +121 -0
  128. kollab-0.5.3/bundles/agents/kollabor/sections/12-example.md +38 -0
  129. kollab-0.5.3/bundles/agents/kollabor/sections/13-tool-execution.md +16 -0
  130. kollab-0.5.3/bundles/agents/kollabor/sections/14-final-guidance.md +29 -0
  131. kollab-0.5.3/bundles/agents/kollabor/sections/16-kollabor-architecture.md +245 -0
  132. kollab-0.5.3/bundles/agents/kollabor/sections/17-plugin-development.md +365 -0
  133. kollab-0.5.3/bundles/agents/kollabor/sections/18-status-widget-development.md +377 -0
  134. kollab-0.5.3/bundles/agents/kollabor/system_prompt.md +28 -0
  135. kollab-0.5.3/bundles/agents/kollabor/trace-command-execution.md +178 -0
  136. kollab-0.5.3/bundles/agents/kollabor/validate-config.md +880 -0
  137. kollab-0.5.3/bundles/agents/native/__init__.py +0 -0
  138. kollab-0.5.3/bundles/agents/native/agent.json +26 -0
  139. kollab-0.5.3/bundles/agents/native/sections/00-header.md +7 -0
  140. kollab-0.5.3/bundles/agents/native/sections/README.md +86 -0
  141. kollab-0.5.3/bundles/agents/native/system_prompt.md +36 -0
  142. kollab-0.5.3/bundles/agents/research/__init__.py +0 -0
  143. kollab-0.5.3/bundles/agents/research/agent.json +25 -0
  144. kollab-0.5.3/bundles/agents/research/sections/00-header.md +8 -0
  145. kollab-0.5.3/bundles/agents/research/sections/02-research-mindset.md +23 -0
  146. kollab-0.5.3/bundles/agents/research/sections/03-tools-reference.md +34 -0
  147. kollab-0.5.3/bundles/agents/research/sections/04-investigation-patterns.md +231 -0
  148. kollab-0.5.3/bundles/agents/research/sections/05-investigation-techniques.md +26 -0
  149. kollab-0.5.3/bundles/agents/research/sections/06-reporting-format.md +25 -0
  150. kollab-0.5.3/bundles/agents/research/sections/07-boundaries.md +16 -0
  151. kollab-0.5.3/bundles/agents/research/sections/08-when-to-use.md +19 -0
  152. kollab-0.5.3/bundles/agents/research/sections/09-system-constraints.md +12 -0
  153. kollab-0.5.3/bundles/agents/research/sections/10-investigation-depth.md +17 -0
  154. kollab-0.5.3/bundles/agents/research/sections/11-communication-style.md +13 -0
  155. kollab-0.5.3/bundles/agents/research/sections/12-final-reminders.md +12 -0
  156. kollab-0.5.3/bundles/agents/research/system_prompt.md +24 -0
  157. kollab-0.5.3/bundles/agents/system/hub-collaboration.md +84 -0
  158. kollab-0.5.3/bundles/agents/system/hub-context.md +4 -0
  159. kollab-0.5.3/bundles/agents/tech-dude/agent.json +25 -0
  160. kollab-0.5.3/bundles/agents/tech-dude/experimentation.md +839 -0
  161. kollab-0.5.3/bundles/agents/tech-dude/knowledge-management.md +1093 -0
  162. kollab-0.5.3/bundles/agents/tech-dude/learning-roadmap.md +980 -0
  163. kollab-0.5.3/bundles/agents/tech-dude/sections/00-header.md +29 -0
  164. kollab-0.5.3/bundles/agents/tech-dude/sections/02-tool-guidelines.md +19 -0
  165. kollab-0.5.3/bundles/agents/tech-dude/sections/03-main-content.md +605 -0
  166. kollab-0.5.3/bundles/agents/tech-dude/sections/16-final-reminders.md +20 -0
  167. kollab-0.5.3/bundles/agents/tech-dude/system_prompt.md +11 -0
  168. kollab-0.5.3/bundles/agents/tech-dude/tech-research.md +695 -0
  169. kollab-0.5.3/bundles/agents/tech-dude/trend-tracking.md +750 -0
  170. kollab-0.5.3/bundles/agents/technical-writer/__init__.py +0 -0
  171. kollab-0.5.3/bundles/agents/technical-writer/agent.json +27 -0
  172. kollab-0.5.3/bundles/agents/technical-writer/api-documentation.md +2328 -0
  173. kollab-0.5.3/bundles/agents/technical-writer/changelog-management.md +1181 -0
  174. kollab-0.5.3/bundles/agents/technical-writer/readme-writing.md +1360 -0
  175. kollab-0.5.3/bundles/agents/technical-writer/sections/00-header.md +8 -0
  176. kollab-0.5.3/bundles/agents/technical-writer/sections/02-mindset.md +10 -0
  177. kollab-0.5.3/bundles/agents/technical-writer/sections/03-documentation-types.md +28 -0
  178. kollab-0.5.3/bundles/agents/technical-writer/sections/04-file-operations.md +30 -0
  179. kollab-0.5.3/bundles/agents/technical-writer/sections/05-writing-principles.md +30 -0
  180. kollab-0.5.3/bundles/agents/technical-writer/sections/06-readme-structure.md +67 -0
  181. kollab-0.5.3/bundles/agents/technical-writer/sections/07-api-documentation.md +28 -0
  182. kollab-0.5.3/bundles/agents/technical-writer/sections/08-code-examples.md +26 -0
  183. kollab-0.5.3/bundles/agents/technical-writer/sections/09-response-patterns.md +179 -0
  184. kollab-0.5.3/bundles/agents/technical-writer/sections/10-changelog-format.md +26 -0
  185. kollab-0.5.3/bundles/agents/technical-writer/sections/11-structured-documentation.md +20 -0
  186. kollab-0.5.3/bundles/agents/technical-writer/sections/12-common-mistakes.md +13 -0
  187. kollab-0.5.3/bundles/agents/technical-writer/sections/13-markdown-best-practices.md +34 -0
  188. kollab-0.5.3/bundles/agents/technical-writer/sections/14-docstring-conventions.md +36 -0
  189. kollab-0.5.3/bundles/agents/technical-writer/sections/15-verifying-documentation.md +18 -0
  190. kollab-0.5.3/bundles/agents/technical-writer/sections/16-system-constraints.md +10 -0
  191. kollab-0.5.3/bundles/agents/technical-writer/sections/17-communication-style.md +14 -0
  192. kollab-0.5.3/bundles/agents/technical-writer/sections/18-final-reminders.md +12 -0
  193. kollab-0.5.3/bundles/agents/technical-writer/style-guide.md +1410 -0
  194. kollab-0.5.3/bundles/agents/technical-writer/system_prompt.md +29 -0
  195. kollab-0.5.3/bundles/agents/technical-writer/tutorial-creation.md +1448 -0
  196. kollab-0.5.3/bundles/layouts/README.md +57 -0
  197. kollab-0.5.3/bundles/layouts/compact.json +41 -0
  198. kollab-0.5.3/bundles/layouts/default.json +57 -0
  199. kollab-0.5.3/bundles/layouts/developer.json +47 -0
  200. kollab-0.5.3/bundles/skills/analyze-plugin-lifecycle/SKILL.md +180 -0
  201. kollab-0.5.3/bundles/skills/analyze-terminal-rendering/SKILL.md +391 -0
  202. kollab-0.5.3/bundles/skills/api-documentation/SKILL.md +2331 -0
  203. kollab-0.5.3/bundles/skills/api-integration/SKILL.md +2153 -0
  204. kollab-0.5.3/bundles/skills/architecture-mapping/SKILL.md +1102 -0
  205. kollab-0.5.3/bundles/skills/changelog-management/SKILL.md +1184 -0
  206. kollab-0.5.3/bundles/skills/character-development/SKILL.md +1855 -0
  207. kollab-0.5.3/bundles/skills/cli-pretty/SKILL.md +768 -0
  208. kollab-0.5.3/bundles/skills/code-review/SKILL.md +1095 -0
  209. kollab-0.5.3/bundles/skills/codebase-analysis/SKILL.md +1080 -0
  210. kollab-0.5.3/bundles/skills/data-visualization/SKILL.md +995 -0
  211. kollab-0.5.3/bundles/skills/database-design/SKILL.md +1528 -0
  212. kollab-0.5.3/bundles/skills/dead-code/SKILL.md +797 -0
  213. kollab-0.5.3/bundles/skills/debug-mcp-integration/SKILL.md +524 -0
  214. kollab-0.5.3/bundles/skills/debug-plugin-hooks/SKILL.md +550 -0
  215. kollab-0.5.3/bundles/skills/debugging/SKILL.md +1105 -0
  216. kollab-0.5.3/bundles/skills/dependency-audit/SKILL.md +1030 -0
  217. kollab-0.5.3/bundles/skills/dependency-management/SKILL.md +1400 -0
  218. kollab-0.5.3/bundles/skills/dialogue-craft/SKILL.md +1125 -0
  219. kollab-0.5.3/bundles/skills/docx/SKILL.md +590 -0
  220. kollab-0.5.3/bundles/skills/docx/scripts/__init__.py +1 -0
  221. kollab-0.5.3/bundles/skills/docx/scripts/accept_changes.py +135 -0
  222. kollab-0.5.3/bundles/skills/docx/scripts/comment.py +318 -0
  223. kollab-0.5.3/bundles/skills/docx/scripts/office/helpers/__init__.py +0 -0
  224. kollab-0.5.3/bundles/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  225. kollab-0.5.3/bundles/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  226. kollab-0.5.3/bundles/skills/docx/scripts/office/pack.py +159 -0
  227. kollab-0.5.3/bundles/skills/docx/scripts/office/soffice.py +183 -0
  228. kollab-0.5.3/bundles/skills/docx/scripts/office/unpack.py +132 -0
  229. kollab-0.5.3/bundles/skills/docx/scripts/office/validate.py +111 -0
  230. kollab-0.5.3/bundles/skills/docx/scripts/office/validators/__init__.py +15 -0
  231. kollab-0.5.3/bundles/skills/docx/scripts/office/validators/base.py +847 -0
  232. kollab-0.5.3/bundles/skills/docx/scripts/office/validators/docx.py +446 -0
  233. kollab-0.5.3/bundles/skills/docx/scripts/office/validators/pptx.py +275 -0
  234. kollab-0.5.3/bundles/skills/docx/scripts/office/validators/redlining.py +247 -0
  235. kollab-0.5.3/bundles/skills/experimentation/SKILL.md +842 -0
  236. kollab-0.5.3/bundles/skills/exploratory-data-analysis/SKILL.md +1113 -0
  237. kollab-0.5.3/bundles/skills/explore-agent-system/SKILL.md +588 -0
  238. kollab-0.5.3/bundles/skills/frontend-design/SKILL.md +42 -0
  239. kollab-0.5.3/bundles/skills/git-workflow/SKILL.md +1102 -0
  240. kollab-0.5.3/bundles/skills/inspect-llm-conversation/SKILL.md +153 -0
  241. kollab-0.5.3/bundles/skills/knowledge-management/SKILL.md +1096 -0
  242. kollab-0.5.3/bundles/skills/learning-roadmap/SKILL.md +983 -0
  243. kollab-0.5.3/bundles/skills/mcp-builder/SKILL.md +236 -0
  244. kollab-0.5.3/bundles/skills/mcp-builder/reference/evaluation.md +602 -0
  245. kollab-0.5.3/bundles/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  246. kollab-0.5.3/bundles/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  247. kollab-0.5.3/bundles/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  248. kollab-0.5.3/bundles/skills/mcp-builder/scripts/connections.py +151 -0
  249. kollab-0.5.3/bundles/skills/mcp-builder/scripts/evaluation.py +373 -0
  250. kollab-0.5.3/bundles/skills/monitor-event-bus/SKILL.md +561 -0
  251. kollab-0.5.3/bundles/skills/pandas-data-manipulation/SKILL.md +1084 -0
  252. kollab-0.5.3/bundles/skills/pdf/SKILL.md +314 -0
  253. kollab-0.5.3/bundles/skills/pdf/forms.md +294 -0
  254. kollab-0.5.3/bundles/skills/pdf/reference.md +612 -0
  255. kollab-0.5.3/bundles/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  256. kollab-0.5.3/bundles/skills/pdf/scripts/check_fillable_fields.py +11 -0
  257. kollab-0.5.3/bundles/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  258. kollab-0.5.3/bundles/skills/pdf/scripts/create_validation_image.py +37 -0
  259. kollab-0.5.3/bundles/skills/pdf/scripts/extract_form_field_info.py +122 -0
  260. kollab-0.5.3/bundles/skills/pdf/scripts/extract_form_structure.py +115 -0
  261. kollab-0.5.3/bundles/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  262. kollab-0.5.3/bundles/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  263. kollab-0.5.3/bundles/skills/performance-profiling/SKILL.md +1050 -0
  264. kollab-0.5.3/bundles/skills/plot-structure/SKILL.md +1076 -0
  265. kollab-0.5.3/bundles/skills/pptx/SKILL.md +232 -0
  266. kollab-0.5.3/bundles/skills/pptx/editing.md +205 -0
  267. kollab-0.5.3/bundles/skills/pptx/pptxgenjs.md +420 -0
  268. kollab-0.5.3/bundles/skills/pptx/scripts/__init__.py +0 -0
  269. kollab-0.5.3/bundles/skills/pptx/scripts/add_slide.py +195 -0
  270. kollab-0.5.3/bundles/skills/pptx/scripts/clean.py +286 -0
  271. kollab-0.5.3/bundles/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  272. kollab-0.5.3/bundles/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  273. kollab-0.5.3/bundles/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  274. kollab-0.5.3/bundles/skills/pptx/scripts/office/pack.py +159 -0
  275. kollab-0.5.3/bundles/skills/pptx/scripts/office/soffice.py +183 -0
  276. kollab-0.5.3/bundles/skills/pptx/scripts/office/unpack.py +132 -0
  277. kollab-0.5.3/bundles/skills/pptx/scripts/office/validate.py +111 -0
  278. kollab-0.5.3/bundles/skills/pptx/scripts/office/validators/__init__.py +15 -0
  279. kollab-0.5.3/bundles/skills/pptx/scripts/office/validators/base.py +847 -0
  280. kollab-0.5.3/bundles/skills/pptx/scripts/office/validators/docx.py +446 -0
  281. kollab-0.5.3/bundles/skills/pptx/scripts/office/validators/pptx.py +275 -0
  282. kollab-0.5.3/bundles/skills/pptx/scripts/office/validators/redlining.py +247 -0
  283. kollab-0.5.3/bundles/skills/pptx/scripts/thumbnail.py +289 -0
  284. kollab-0.5.3/bundles/skills/profile-performance/SKILL.md +579 -0
  285. kollab-0.5.3/bundles/skills/readme-writing/SKILL.md +1363 -0
  286. kollab-0.5.3/bundles/skills/refactoring/SKILL.md +1457 -0
  287. kollab-0.5.3/bundles/skills/revision-editing/SKILL.md +1487 -0
  288. kollab-0.5.3/bundles/skills/scan-project/SKILL.md +161 -0
  289. kollab-0.5.3/bundles/skills/security-hardening/SKILL.md +1735 -0
  290. kollab-0.5.3/bundles/skills/security-review/SKILL.md +1362 -0
  291. kollab-0.5.3/bundles/skills/skill-creator/SKILL.md +485 -0
  292. kollab-0.5.3/bundles/skills/skill-creator/agents/analyzer.md +274 -0
  293. kollab-0.5.3/bundles/skills/skill-creator/agents/comparator.md +202 -0
  294. kollab-0.5.3/bundles/skills/skill-creator/agents/grader.md +223 -0
  295. kollab-0.5.3/bundles/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  296. kollab-0.5.3/bundles/skills/skill-creator/references/schemas.md +430 -0
  297. kollab-0.5.3/bundles/skills/skill-creator/scripts/__init__.py +0 -0
  298. kollab-0.5.3/bundles/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  299. kollab-0.5.3/bundles/skills/skill-creator/scripts/generate_report.py +326 -0
  300. kollab-0.5.3/bundles/skills/skill-creator/scripts/improve_description.py +247 -0
  301. kollab-0.5.3/bundles/skills/skill-creator/scripts/package_skill.py +136 -0
  302. kollab-0.5.3/bundles/skills/skill-creator/scripts/quick_validate.py +103 -0
  303. kollab-0.5.3/bundles/skills/skill-creator/scripts/run_eval.py +310 -0
  304. kollab-0.5.3/bundles/skills/skill-creator/scripts/run_loop.py +328 -0
  305. kollab-0.5.3/bundles/skills/skill-creator/scripts/utils.py +47 -0
  306. kollab-0.5.3/bundles/skills/sql-query-optimization/SKILL.md +884 -0
  307. kollab-0.5.3/bundles/skills/statistical-analysis/SKILL.md +1121 -0
  308. kollab-0.5.3/bundles/skills/style-guide/SKILL.md +1413 -0
  309. kollab-0.5.3/bundles/skills/tdd/SKILL.md +1370 -0
  310. kollab-0.5.3/bundles/skills/tech-research/SKILL.md +698 -0
  311. kollab-0.5.3/bundles/skills/trace-command-execution/SKILL.md +181 -0
  312. kollab-0.5.3/bundles/skills/trend-tracking/SKILL.md +753 -0
  313. kollab-0.5.3/bundles/skills/tutorial-creation/SKILL.md +1451 -0
  314. kollab-0.5.3/bundles/skills/validate-config/SKILL.md +883 -0
  315. kollab-0.5.3/bundles/skills/webapp-testing/SKILL.md +96 -0
  316. kollab-0.5.3/bundles/skills/webapp-testing/examples/console_logging.py +35 -0
  317. kollab-0.5.3/bundles/skills/webapp-testing/examples/element_discovery.py +40 -0
  318. kollab-0.5.3/bundles/skills/webapp-testing/examples/static_html_automation.py +33 -0
  319. kollab-0.5.3/bundles/skills/webapp-testing/scripts/with_server.py +106 -0
  320. kollab-0.5.3/bundles/skills/worldbuilding/SKILL.md +2052 -0
  321. kollab-0.5.3/bundles/skills/xlsx/SKILL.md +292 -0
  322. kollab-0.5.3/bundles/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  323. kollab-0.5.3/bundles/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  324. kollab-0.5.3/bundles/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  325. kollab-0.5.3/bundles/skills/xlsx/scripts/office/pack.py +159 -0
  326. kollab-0.5.3/bundles/skills/xlsx/scripts/office/soffice.py +183 -0
  327. kollab-0.5.3/bundles/skills/xlsx/scripts/office/unpack.py +132 -0
  328. kollab-0.5.3/bundles/skills/xlsx/scripts/office/validate.py +111 -0
  329. kollab-0.5.3/bundles/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  330. kollab-0.5.3/bundles/skills/xlsx/scripts/office/validators/base.py +847 -0
  331. kollab-0.5.3/bundles/skills/xlsx/scripts/office/validators/docx.py +446 -0
  332. kollab-0.5.3/bundles/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  333. kollab-0.5.3/bundles/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  334. kollab-0.5.3/bundles/skills/xlsx/scripts/recalc.py +184 -0
  335. kollab-0.5.3/bundles/themes/README.md +43 -0
  336. kollab-0.5.3/bundles/themes/autumn.json +18 -0
  337. kollab-0.5.3/bundles/themes/spring.json +18 -0
  338. kollab-0.5.3/bundles/themes/summer.json +18 -0
  339. kollab-0.5.3/bundles/themes/winter.json +18 -0
  340. kollab-0.5.3/bundles/widgets/README.md +96 -0
  341. kollab-0.5.3/bundles/widgets/branch-status.sh +31 -0
  342. kollab-0.5.3/bundles/widgets/clock.sh +9 -0
  343. kollab-0.5.3/bundles/widgets/date.sh +9 -0
  344. kollab-0.5.3/bundles/widgets/files-changed.sh +31 -0
  345. kollab-0.5.3/bundles/widgets/last-commit.sh +20 -0
  346. kollab-0.5.3/bundles/widgets/life-bar.sh +48 -0
  347. kollab-0.5.3/bundles/widgets/motivation.sh +25 -0
  348. kollab-0.5.3/bundles/widgets/pomodoro.sh +57 -0
  349. kollab-0.5.3/bundles/widgets/session-time.sh +32 -0
  350. kollab-0.5.3/bundles/widgets/uptime.sh +31 -0
  351. kollab-0.5.3/bundles/widgets/weather.sh +18 -0
  352. kollab-0.5.3/docs/README.md +48 -0
  353. kollab-0.5.3/docs/architecture/agent-designation-merge-review-1.md +591 -0
  354. kollab-0.5.3/docs/architecture/agent-designation-merge-review-2.md +635 -0
  355. kollab-0.5.3/docs/architecture/agent-designation-merge.md +247 -0
  356. kollab-0.5.3/docs/architecture/agent-hub-unification.md +1464 -0
  357. kollab-0.5.3/docs/architecture/altview-framework.md +425 -0
  358. kollab-0.5.3/docs/architecture/deploy-handoff-v0.5.0.md +441 -0
  359. kollab-0.5.3/docs/architecture/event-system.md +248 -0
  360. kollab-0.5.3/docs/architecture/hub-completion-spec.md +144 -0
  361. kollab-0.5.3/docs/architecture/hub-test-results-2026-04-05.md +89 -0
  362. kollab-0.5.3/docs/architecture/kollabor-mesh-spec.md +1171 -0
  363. kollab-0.5.3/docs/architecture/overview.md +161 -0
  364. kollab-0.5.3/docs/architecture/terminal-rendering.md +270 -0
  365. kollab-0.5.3/docs/blog/how-the-hub-was-born.md +181 -0
  366. kollab-0.5.3/docs/configuration.md +256 -0
  367. kollab-0.5.3/docs/faq.md +241 -0
  368. kollab-0.5.3/docs/features/agents.md +241 -0
  369. kollab-0.5.3/docs/features/config-hooks.md +342 -0
  370. kollab-0.5.3/docs/features/context-compaction-forked-file-aware-spec.md +170 -0
  371. kollab-0.5.3/docs/features/conversations.md +88 -0
  372. kollab-0.5.3/docs/features/dynamic-system-prompts.md +320 -0
  373. kollab-0.5.3/docs/features/kollaborate.md +541 -0
  374. kollab-0.5.3/docs/features/mcp.md +295 -0
  375. kollab-0.5.3/docs/features/permissions.md +198 -0
  376. kollab-0.5.3/docs/features/pipe-mode.md +110 -0
  377. kollab-0.5.3/docs/features/profiles.md +310 -0
  378. kollab-0.5.3/docs/features/question-gate-protocol.md +168 -0
  379. kollab-0.5.3/docs/features/slash-commands.md +165 -0
  380. kollab-0.5.3/docs/features/theming.md +285 -0
  381. kollab-0.5.3/docs/features/tmux.md +72 -0
  382. kollab-0.5.3/docs/features/tools.md +506 -0
  383. kollab-0.5.3/docs/getting-started.md +200 -0
  384. kollab-0.5.3/docs/guides/hub-quick-start.md +218 -0
  385. kollab-0.5.3/docs/guides/telegram-bridge-setup.md +188 -0
  386. kollab-0.5.3/docs/mcp/MCP_SERVER_EXAMPLES.md +588 -0
  387. kollab-0.5.3/docs/mcp/MCP_SETUP.md +464 -0
  388. kollab-0.5.3/docs/mcp/local-server-connection-fix.md +184 -0
  389. kollab-0.5.3/docs/memos/2026-04-07-daemon-first.md +112 -0
  390. kollab-0.5.3/docs/plugins/development.md +490 -0
  391. kollab-0.5.3/docs/plugins/hooks-reference.md +610 -0
  392. kollab-0.5.3/docs/plugins/overview.md +167 -0
  393. kollab-0.5.3/docs/providers.md +363 -0
  394. kollab-0.5.3/docs/reference/commands.md +836 -0
  395. kollab-0.5.3/docs/specs/daemon-first-architecture.md +424 -0
  396. kollab-0.5.3/docs/specs/hub-coordinator-routing.md +236 -0
  397. kollab-0.5.3/docs/specs/secrets-management.md +294 -0
  398. kollab-0.5.3/docs/troubleshooting.md +257 -0
  399. kollab-0.5.3/kollab.egg-info/PKG-INFO +335 -0
  400. kollab-0.5.3/kollab.egg-info/SOURCES.txt +738 -0
  401. kollab-0.5.3/kollab.egg-info/dependency_links.txt +1 -0
  402. kollab-0.5.3/kollab.egg-info/entry_points.txt +2 -0
  403. kollab-0.5.3/kollab.egg-info/requires.txt +18 -0
  404. kollab-0.5.3/kollab.egg-info/top_level.txt +11 -0
  405. kollab-0.5.3/kollabor/__init__.py +5 -0
  406. kollab-0.5.3/kollabor/altview/__init__.py +0 -0
  407. kollab-0.5.3/kollabor/altview/command_integration.py +423 -0
  408. kollab-0.5.3/kollabor/application.py +2417 -0
  409. kollab-0.5.3/kollabor/attach_client.py +261 -0
  410. kollab-0.5.3/kollabor/cli.py +1493 -0
  411. kollab-0.5.3/kollabor/commands/__init__.py +1 -0
  412. kollab-0.5.3/kollabor/commands/executor.py +296 -0
  413. kollab-0.5.3/kollabor/commands/mcp_command.py +810 -0
  414. kollab-0.5.3/kollabor/commands/parser.py +192 -0
  415. kollab-0.5.3/kollabor/commands/profile_command.py +783 -0
  416. kollab-0.5.3/kollabor/commands/registry.py +445 -0
  417. kollab-0.5.3/kollabor/commands/system_commands/__init__.py +9 -0
  418. kollab-0.5.3/kollabor/commands/system_commands/base.py +75 -0
  419. kollab-0.5.3/kollabor/commands/system_commands/handlers/__init__.py +19 -0
  420. kollab-0.5.3/kollabor/commands/system_commands/handlers/agent.py +648 -0
  421. kollab-0.5.3/kollabor/commands/system_commands/handlers/agent_actions.py +268 -0
  422. kollab-0.5.3/kollabor/commands/system_commands/handlers/directory.py +333 -0
  423. kollab-0.5.3/kollabor/commands/system_commands/handlers/login.py +311 -0
  424. kollab-0.5.3/kollabor/commands/system_commands/handlers/model.py +346 -0
  425. kollab-0.5.3/kollabor/commands/system_commands/handlers/model_actions.py +64 -0
  426. kollab-0.5.3/kollabor/commands/system_commands/handlers/profile.py +390 -0
  427. kollab-0.5.3/kollabor/commands/system_commands/handlers/profile_actions.py +342 -0
  428. kollab-0.5.3/kollabor/commands/system_commands/handlers/skill_actions.py +278 -0
  429. kollab-0.5.3/kollabor/commands/system_commands/handlers/skills.py +793 -0
  430. kollab-0.5.3/kollabor/commands/system_commands/handlers/system.py +687 -0
  431. kollab-0.5.3/kollabor/commands/system_commands/plugin.py +448 -0
  432. kollab-0.5.3/kollabor/commands/ui_commands.py +221 -0
  433. kollab-0.5.3/kollabor/config_hooks.py +472 -0
  434. kollab-0.5.3/kollabor/daemon.py +174 -0
  435. kollab-0.5.3/kollabor/fullscreen/command_integration.py +444 -0
  436. kollab-0.5.3/kollabor/llm/__init__.py +9 -0
  437. kollab-0.5.3/kollabor/llm/hook_system.py +431 -0
  438. kollab-0.5.3/kollabor/llm/llm_coordinator.py +1147 -0
  439. kollab-0.5.3/kollabor/llm/message_handler.py +406 -0
  440. kollab-0.5.3/kollabor/llm/permissions/__init__.py +46 -0
  441. kollab-0.5.3/kollabor/llm/permissions/hook.py +99 -0
  442. kollab-0.5.3/kollabor/llm/session_manager.py +203 -0
  443. kollab-0.5.3/kollabor/llm/status_service.py +191 -0
  444. kollab-0.5.3/kollabor/llm/streaming_handler.py +179 -0
  445. kollab-0.5.3/kollabor/logging/__init__.py +21 -0
  446. kollab-0.5.3/kollabor/logging/setup.py +227 -0
  447. kollab-0.5.3/kollabor/quotes.py +111 -0
  448. kollab-0.5.3/kollabor/updates/__init__.py +10 -0
  449. kollab-0.5.3/kollabor/updates/version_check_service.py +350 -0
  450. kollab-0.5.3/kollabor/updates/version_comparator.py +104 -0
  451. kollab-0.5.3/kollabor/version.py +50 -0
  452. kollab-0.5.3/kollabor_cli_main.py +19 -0
  453. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/__init__.py +75 -0
  454. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/agent_manager.py +1689 -0
  455. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/background_task_manager.py +505 -0
  456. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/file_operations_executor.py +1355 -0
  457. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/mcp_integration.py +1291 -0
  458. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/mcp_manager.py +381 -0
  459. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/mentiko_adapter.py +203 -0
  460. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/native_tools_handler.py +196 -0
  461. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/permissions/__init__.py +44 -0
  462. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/permissions/manager.py +712 -0
  463. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/permissions/response_handler.py +106 -0
  464. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/permissions/risk_assessor.py +109 -0
  465. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/process_manager.py +763 -0
  466. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/py.typed +0 -0
  467. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/queue_processor.py +819 -0
  468. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/runtime.py +622 -0
  469. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/shell_command_service.py +392 -0
  470. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/shell_executor.py +365 -0
  471. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/shell_utils.py +230 -0
  472. kollab-0.5.3/packages/kollabor-agent/src/kollabor_agent/tool_executor.py +894 -0
  473. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/__init__.py +84 -0
  474. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/adapters/__init__.py +44 -0
  475. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/adapters/anthropic_adapter.py +443 -0
  476. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/adapters/base.py +241 -0
  477. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/adapters/openai_adapter.py +332 -0
  478. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/api_communication_service.py +857 -0
  479. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/context_service.py +354 -0
  480. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/conversation_logger.py +889 -0
  481. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/conversation_manager.py +953 -0
  482. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/model_router.py +239 -0
  483. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/oauth/__init__.py +10 -0
  484. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/oauth/openai_oauth.py +566 -0
  485. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/oauth/token_storage.py +173 -0
  486. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/profile_manager.py +1572 -0
  487. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/profile_validator.py +569 -0
  488. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/prompt_renderer.py +979 -0
  489. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/__init__.py +111 -0
  490. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/anthropic_provider.py +355 -0
  491. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/azure_provider.py +256 -0
  492. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/base.py +308 -0
  493. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/custom_provider.py +362 -0
  494. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/errors.py +705 -0
  495. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/gemini_provider.py +406 -0
  496. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/gemini_transformer.py +205 -0
  497. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/models.py +525 -0
  498. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/openai_provider.py +345 -0
  499. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/openai_responses_provider.py +777 -0
  500. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/openai_responses_transformer.py +367 -0
  501. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/openrouter_provider.py +365 -0
  502. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/registry.py +509 -0
  503. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/security.py +1059 -0
  504. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/providers/transformers.py +883 -0
  505. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/py.typed +0 -0
  506. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/response_parser.py +1395 -0
  507. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/response_processor.py +382 -0
  508. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/session_naming.py +177 -0
  509. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/session_parser.py +124 -0
  510. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/streaming_thinking_parser.py +152 -0
  511. kollab-0.5.3/packages/kollabor-ai/src/kollabor_ai/system_prompt_builder.py +331 -0
  512. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/__init__.py +54 -0
  513. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/config_utils.py +1128 -0
  514. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/llm_task_config.py +135 -0
  515. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/loader.py +982 -0
  516. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/manager.py +194 -0
  517. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/migration.py +596 -0
  518. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/plugin_config_manager.py +388 -0
  519. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/plugin_schema.py +474 -0
  520. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/py.typed +0 -0
  521. kollab-0.5.3/packages/kollabor-config/src/kollabor_config/service.py +468 -0
  522. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/__init__.py +6 -0
  523. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/__main__.py +79 -0
  524. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/auth.py +48 -0
  525. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/hub_bridge.py +170 -0
  526. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/py.typed +0 -0
  527. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/__init__.py +0 -0
  528. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/hub.py +156 -0
  529. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/hub_ws.py +185 -0
  530. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/mcp.py +325 -0
  531. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/messages.py +49 -0
  532. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/permissions.py +85 -0
  533. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/profiles.py +337 -0
  534. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/routes/sessions.py +483 -0
  535. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/server.py +196 -0
  536. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/session.py +391 -0
  537. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/sse.py +136 -0
  538. kollab-0.5.3/packages/kollabor-engine/src/kollabor_engine/turn_runner.py +327 -0
  539. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/__init__.py +89 -0
  540. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/bus.py +183 -0
  541. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/data_models.py +76 -0
  542. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/dict_utils.py +212 -0
  543. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/error_utils.py +307 -0
  544. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/executor.py +335 -0
  545. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/hook_adapter.py +276 -0
  546. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/models.py +360 -0
  547. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/permissions_config.py +46 -0
  548. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/permissions_models.py +253 -0
  549. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/processor.py +221 -0
  550. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/py.typed +0 -0
  551. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/ready_message.py +123 -0
  552. kollab-0.5.3/packages/kollabor-events/src/kollabor_events/registry.py +318 -0
  553. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/__init__.py +33 -0
  554. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/base.py +136 -0
  555. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/collector.py +79 -0
  556. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/discovery.py +574 -0
  557. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/factory.py +259 -0
  558. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/plugin_sdk.py +427 -0
  559. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/plugin_utils.py +285 -0
  560. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/py.typed +0 -0
  561. kollab-0.5.3/packages/kollabor-plugins/src/kollabor_plugins/registry.py +144 -0
  562. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/__init__.py +308 -0
  563. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/altview/__init__.py +21 -0
  564. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/altview/base.py +309 -0
  565. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/altview/display_queue.py +152 -0
  566. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/altview/session.py +304 -0
  567. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/altview/stack_manager.py +297 -0
  568. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/buffer_manager.py +421 -0
  569. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/clean_renderer.py +271 -0
  570. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/config_merger.py +201 -0
  571. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/config_widgets.py +610 -0
  572. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/__init__.py +174 -0
  573. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/border_style.py +244 -0
  574. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/color_mode.py +156 -0
  575. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/components.py +833 -0
  576. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/gradient.py +304 -0
  577. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/icons.py +273 -0
  578. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/inline_widgets.py +257 -0
  579. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/theme.py +338 -0
  580. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/design_system/ui_components.py +288 -0
  581. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/display_tap.py +88 -0
  582. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/effects/__init__.py +1 -0
  583. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/__init__.py +17 -0
  584. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/components/__init__.py +26 -0
  585. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/components/animation.py +273 -0
  586. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/components/drawing.py +205 -0
  587. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/components/matrix_components.py +245 -0
  588. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/components/space_shooter_components.py +680 -0
  589. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/manager.py +318 -0
  590. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/plugin.py +211 -0
  591. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/renderer.py +344 -0
  592. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/fullscreen/session.py +459 -0
  593. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/__init__.py +25 -0
  594. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/command_mode_handler.py +694 -0
  595. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/display_controller.py +201 -0
  596. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/hook_registrar.py +260 -0
  597. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/input_loop_manager.py +502 -0
  598. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/key_press_handler.py +766 -0
  599. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/modal_controller.py +1126 -0
  600. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/paste_processor.py +335 -0
  601. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input/status_modal_renderer.py +125 -0
  602. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input_errors.py +316 -0
  603. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/input_handler.py +491 -0
  604. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/key_parser.py +378 -0
  605. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/menu_renderer.py +737 -0
  606. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/message_coordinator.py +696 -0
  607. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/message_display_service.py +405 -0
  608. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/message_renderer.py +688 -0
  609. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/modals/__init__.py +210 -0
  610. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/modals/modal_actions.py +185 -0
  611. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/modals/modal_overlay_renderer.py +314 -0
  612. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/modals/modal_renderer.py +1280 -0
  613. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/modals/modal_state_manager.py +488 -0
  614. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/profile_modal_builder.py +516 -0
  615. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/py.typed +0 -0
  616. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/render_layout.py +824 -0
  617. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/render_loop.py +353 -0
  618. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/renderer_protocol.py +239 -0
  619. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/simple_renderer.py +94 -0
  620. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/__init__.py +212 -0
  621. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/altview_widget.py +117 -0
  622. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/constants.py +27 -0
  623. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/core_widget_modals.py +534 -0
  624. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/core_widgets.py +1738 -0
  625. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/help_system.py +327 -0
  626. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/inline_editor_service.py +405 -0
  627. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/inline_editors.py +700 -0
  628. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/interaction_handler.py +515 -0
  629. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/interactive_widgets.py +575 -0
  630. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/layout_editing.py +640 -0
  631. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/layout_manager.py +847 -0
  632. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/layout_renderer.py +968 -0
  633. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/mcp_status_view.py +178 -0
  634. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/modal_presenter.py +869 -0
  635. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/navigation_manager.py +1416 -0
  636. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/navigation_state.py +629 -0
  637. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/permission_status_view.py +242 -0
  638. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/plugin_api.py +129 -0
  639. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/script_action_handlers.py +660 -0
  640. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/script_modal_handlers.py +522 -0
  641. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/script_refresh_scheduler.py +581 -0
  642. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/script_widgets.py +1038 -0
  643. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/status_menu_renderer.py +63 -0
  644. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/system_monitor.py +375 -0
  645. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/toggle_handler.py +302 -0
  646. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/utils.py +88 -0
  647. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/widget_picker.py +536 -0
  648. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/status/widget_registry.py +340 -0
  649. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/terminal_renderer.py +969 -0
  650. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/terminal_state.py +778 -0
  651. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/thinking_display.py +121 -0
  652. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/tool_display.py +729 -0
  653. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/tool_spinner.py +130 -0
  654. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/visual_effects.py +1928 -0
  655. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widget_showcase.py +671 -0
  656. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/__init__.py +58 -0
  657. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/base_widget.py +279 -0
  658. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/checkbox.py +160 -0
  659. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/dropdown.py +205 -0
  660. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/file_browser.py +501 -0
  661. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/label.py +164 -0
  662. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/multi_select.py +341 -0
  663. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/progress.py +437 -0
  664. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/searchable_dropdown.py +425 -0
  665. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/slider.py +350 -0
  666. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/spin_box.py +426 -0
  667. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/text_area.py +522 -0
  668. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/text_input.py +285 -0
  669. kollab-0.5.3/packages/kollabor-tui/src/kollabor_tui/widgets/tree_view.py +646 -0
  670. kollab-0.5.3/plugins/__init__.py +1 -0
  671. kollab-0.5.3/plugins/agent_orchestrator/__init__.py +41 -0
  672. kollab-0.5.3/plugins/agent_orchestrator/activity_monitor.py +235 -0
  673. kollab-0.5.3/plugins/agent_orchestrator/file_attacher.py +77 -0
  674. kollab-0.5.3/plugins/agent_orchestrator/message_injector.py +137 -0
  675. kollab-0.5.3/plugins/agent_orchestrator/models.py +64 -0
  676. kollab-0.5.3/plugins/agent_orchestrator/orchestrator.py +692 -0
  677. kollab-0.5.3/plugins/agent_orchestrator/plugin.py +2165 -0
  678. kollab-0.5.3/plugins/agent_orchestrator/ring_buffer.py +44 -0
  679. kollab-0.5.3/plugins/agent_orchestrator/xml_parser.py +238 -0
  680. kollab-0.5.3/plugins/agent_orchestrator_plugin.py +9 -0
  681. kollab-0.5.3/plugins/altview/__init__.py +0 -0
  682. kollab-0.5.3/plugins/altview/config_altview.py +689 -0
  683. kollab-0.5.3/plugins/altview/conversations_altview.py +488 -0
  684. kollab-0.5.3/plugins/altview/example_altview.py +341 -0
  685. kollab-0.5.3/plugins/altview/hub_console_altview.py +538 -0
  686. kollab-0.5.3/plugins/altview/hub_feed_altview.py +141 -0
  687. kollab-0.5.3/plugins/altview/login_altview.py +324 -0
  688. kollab-0.5.3/plugins/altview/matrix_altview.py +74 -0
  689. kollab-0.5.3/plugins/altview/mcp_wizard_altview.py +355 -0
  690. kollab-0.5.3/plugins/altview/widget_picker_altview.py +525 -0
  691. kollab-0.5.3/plugins/context_compaction_plugin.py +963 -0
  692. kollab-0.5.3/plugins/deep_thought/__init__.py +12 -0
  693. kollab-0.5.3/plugins/deep_thought/child_reporter.py +105 -0
  694. kollab-0.5.3/plugins/deep_thought/methodologies.py +166 -0
  695. kollab-0.5.3/plugins/deep_thought/orchestrator.py +296 -0
  696. kollab-0.5.3/plugins/deep_thought/plugin.py +659 -0
  697. kollab-0.5.3/plugins/deep_thought/socket_server.py +310 -0
  698. kollab-0.5.3/plugins/deep_thought/synthesizer.py +73 -0
  699. kollab-0.5.3/plugins/example_context_plugin.py +173 -0
  700. kollab-0.5.3/plugins/fullscreen/__init__.py +5 -0
  701. kollab-0.5.3/plugins/fullscreen/conversations_plugin.py +507 -0
  702. kollab-0.5.3/plugins/fullscreen/example_plugin.py +1486 -0
  703. kollab-0.5.3/plugins/fullscreen/matrix_plugin.py +135 -0
  704. kollab-0.5.3/plugins/fullscreen/space_shooter_plugin.py +134 -0
  705. kollab-0.5.3/plugins/hook_monitoring_plugin.py +2101 -0
  706. kollab-0.5.3/plugins/hub/__init__.py +13 -0
  707. kollab-0.5.3/plugins/hub/change_feed.py +369 -0
  708. kollab-0.5.3/plugins/hub/coordinator.py +289 -0
  709. kollab-0.5.3/plugins/hub/feed.py +235 -0
  710. kollab-0.5.3/plugins/hub/messaging_bridge.py +421 -0
  711. kollab-0.5.3/plugins/hub/messenger.py +614 -0
  712. kollab-0.5.3/plugins/hub/models.py +295 -0
  713. kollab-0.5.3/plugins/hub/notifier.py +230 -0
  714. kollab-0.5.3/plugins/hub/nudge_engine.py +195 -0
  715. kollab-0.5.3/plugins/hub/org_launcher.py +309 -0
  716. kollab-0.5.3/plugins/hub/organizations/engineering.json +79 -0
  717. kollab-0.5.3/plugins/hub/organizations/startup.json +58 -0
  718. kollab-0.5.3/plugins/hub/plugin.py +4379 -0
  719. kollab-0.5.3/plugins/hub/presence.py +384 -0
  720. kollab-0.5.3/plugins/hub/scratchpad.py +76 -0
  721. kollab-0.5.3/plugins/hub/session_state.py +315 -0
  722. kollab-0.5.3/plugins/hub/task_ledger.py +301 -0
  723. kollab-0.5.3/plugins/hub/vault.py +409 -0
  724. kollab-0.5.3/plugins/mcp_plugin.py +177 -0
  725. kollab-0.5.3/plugins/mcp_status_plugin.py +461 -0
  726. kollab-0.5.3/plugins/modern_input/__init__.py +11 -0
  727. kollab-0.5.3/plugins/modern_input/config.py +49 -0
  728. kollab-0.5.3/plugins/modern_input/cursor_manager.py +26 -0
  729. kollab-0.5.3/plugins/modern_input/renderer.py +145 -0
  730. kollab-0.5.3/plugins/modern_input_plugin.py +217 -0
  731. kollab-0.5.3/plugins/resume_conversation_plugin.py +1818 -0
  732. kollab-0.5.3/plugins/save_conversation_plugin.py +610 -0
  733. kollab-0.5.3/plugins/terminal_altview.py +283 -0
  734. kollab-0.5.3/plugins/terminal_plugin.py +878 -0
  735. kollab-0.5.3/pyproject.toml +152 -0
  736. kollab-0.5.3/requirements.txt +13 -0
  737. kollab-0.5.3/setup.cfg +4 -0
  738. kollab-0.5.3/setup.py +12 -0
  739. kollab-0.5.3/tests/test_engine_health_api.py +89 -0
  740. kollab-0.5.3/tests/test_hub_modules.py +452 -0
kollab-0.5.3/CLAUDE.md ADDED
@@ -0,0 +1,786 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with this repository.
4
+
5
+ ## Project Overview
6
+
7
+ **Kollabor CLI Interface** - Terminal-based LLM chat application where **everything has hooks**. Every action triggers customizable hooks that plugins can attach to for complete customization.
8
+
9
+ ## Architecture
10
+
11
+ Monorepo with extracted packages:
12
+ - **Core Application** (`kollabor/application.py`): Main orchestrator
13
+ - **Event System** (`packages/kollabor-events/`): Event bus + hook system (`kollabor_events`)
14
+ - **LLM AI** (`packages/kollabor-ai/`): API, conversation, model routing (`kollabor_ai`)
15
+ - **Terminal UI** (`packages/kollabor-tui/`): Rendering, input, widgets (`kollabor_tui`)
16
+ - **Agent System** (`packages/kollabor-agent/`): Shell execution, agent runtime (`kollabor_agent`)
17
+ - **Configuration** (`packages/kollabor-config/`): Config management (`kollabor_config`)
18
+ - **Plugin System** (`packages/kollabor-plugins/`, `plugins/`): Discovery and loading (`kollabor_plugins`)
19
+ - **LLM Orchestration** (`kollabor/llm/`): Coordinator, permissions, streaming
20
+ - **Commands** (`kollabor/commands/`): Slash command registry and handlers
21
+
22
+ ## Key Components
23
+
24
+ ### LLM AI Package (`kollabor_ai`)
25
+ - `api_communication_service.py` - API communication with rate limiting
26
+ - `conversation_logger.py` - Conversation persistence (KollaborConversationLogger)
27
+ - `conversation_manager.py` - Conversation state and history
28
+ - `model_router.py` - Model selection and routing
29
+ - `profile_manager.py` - LLM profile management
30
+ - `response_processor.py` - Response processing
31
+ - `response_parser.py` - Response parsing (includes Question Gate detection)
32
+ - `prompt_renderer.py` - Dynamic system prompt rendering
33
+ - `providers/` - Provider implementations (OpenAI, Anthropic, etc.)
34
+ - `oauth/` - OAuth token management
35
+
36
+ ### LLM Orchestration (`kollabor/llm/`)
37
+ - `llm_coordinator.py` - Main LLM orchestration (replaces old llm_service.py)
38
+ - `hook_system.py` - LLM-specific hook management
39
+ - `message_handler.py` - Message processing
40
+ - `streaming_handler.py` - Streaming response handling
41
+ - `session_manager.py` - Session lifecycle
42
+ - `status_service.py` - LLM status reporting
43
+ - `permissions/` - Tool permission system
44
+ - `manager.py` - Central permission manager with approval modes
45
+ - `risk_assessor.py` - Risk-based assessment with pattern matching
46
+ - `hook.py` - Event bus integration at SECURITY priority
47
+ - `models.py` - Data structures (ApprovalMode, ToolRiskLevel, PermissionDecision)
48
+ - `config.py` - Configuration defaults
49
+ - `response_handler.py` - User response processing
50
+
51
+ ### Terminal UI Package (`kollabor_tui`)
52
+ - `terminal_renderer.py` - Main terminal rendering with status areas
53
+ - `input_handler.py` - Raw mode input handling with key parsing
54
+ - `render_layout.py` - Terminal layout management
55
+ - `visual_effects.py` - Color palettes, visual effects, terminal color detection
56
+ - `status_renderer.py` - Multi-area status display
57
+ - `message_coordinator.py` - **CRITICAL** - Message flow AND render state coordination
58
+ - `message_renderer.py` - Message display rendering
59
+ - `buffer_manager.py` - Terminal buffer management
60
+ - `key_parser.py` - Keyboard input parsing
61
+ - `terminal_state.py` - Terminal state management
62
+ - `thinking_display.py` - Thinking animation display
63
+ - `tool_display.py` - Tool execution display
64
+ - `message_display_service.py` - Response formatting
65
+ - `design_system/` - Theme, colors, box rendering
66
+ - `widgets/` - UI widgets (Checkbox, Dropdown, Slider, TextInput, Label, Progress, SpinBox)
67
+ - `fullscreen/` - Fullscreen modal system
68
+ - `status/` - Status area views
69
+ - `input/` - Input subsystem (modal controller, etc.)
70
+
71
+ ### Event System Package (`kollabor_events`)
72
+ - `bus.py` - Central event bus coordinator
73
+ - `registry.py` - Hook registration and lookup
74
+ - `executor.py` - Hook execution with error handling
75
+ - `processor.py` - Sequential event processing
76
+ - `models.py` - Event types, command definitions, hook models
77
+
78
+ ### Commands (`kollabor/commands/`)
79
+ - `registry.py` - Command registration and lookup
80
+ - `executor.py` - Command execution
81
+ - `parser.py` - Command parsing
82
+ - `profile_command.py` - Profile management command
83
+ - `mcp_command.py` - MCP server management
84
+ - `ui_commands.py` - UI-related commands
85
+ - `system_commands/` - System command handlers
86
+
87
+ #### CRITICAL: Render State Management Rules
88
+
89
+ **NEVER directly manipulate these `terminal_renderer` properties:**
90
+ - `input_line_written`, `last_line_count`, `_last_render_content`, `writing_messages`
91
+
92
+ **ALWAYS use `MessageDisplayCoordinator` methods:**
93
+
94
+ ```python
95
+ # Display messages
96
+ renderer.message_coordinator.display_message_sequence([...])
97
+
98
+ # Modal/fullscreen transitions
99
+ renderer.message_coordinator.enter_alternate_buffer() # Before opening modal
100
+ renderer.message_coordinator.exit_alternate_buffer() # After modal closes
101
+ renderer.message_coordinator.exit_alternate_buffer(restore_state=True) # Restore state
102
+
103
+ # Debug queue status
104
+ renderer.message_coordinator.get_queue_status()
105
+ ```
106
+
107
+ **Why:** Direct manipulation causes duplicate input boxes, stale renders, and incorrect clearing. The coordinator uses flag-based coordination - `enter_alternate_buffer()` sets `writing_messages=True` to block the render loop.
108
+
109
+ **Modal exit patterns:**
110
+ ```python
111
+ # Standard exit - restores state and renders input
112
+ await self._exit_modal_mode()
113
+
114
+ # Minimal exit - for commands displaying their own content
115
+ await self._exit_modal_mode_minimal()
116
+ ```
117
+
118
+ **Safe direct calls:**
119
+ - `terminal_renderer.clear_active_area()` - uses state correctly
120
+ - `terminal_renderer.invalidate_render_cache()` - just clears cache
121
+
122
+ ### Modal/Overlay Pattern for Status Widgets
123
+
124
+ **CRITICAL: Any fullscreen modal MUST use the coordinator pattern.**
125
+
126
+ ```python
127
+ async def _show_my_modal(self) -> bool:
128
+ self.coordinator.enter_alternate_buffer()
129
+ try:
130
+ sys.stdout.write('\033[?1049h') # Enter alternate buffer
131
+ sys.stdout.write('\033[?25l') # Hide cursor
132
+ sys.stdout.flush()
133
+ # ... render and handle input ...
134
+ finally:
135
+ sys.stdout.write('\033[?25h') # Show cursor
136
+ sys.stdout.write('\033[?1049l') # Exit alternate buffer
137
+ sys.stdout.flush()
138
+ self.coordinator.exit_alternate_buffer(restore_state=True)
139
+ return result
140
+ ```
141
+
142
+ **Why:** `coordinator.enter_alternate_buffer()` pauses the render loop, `exit_alternate_buffer()` resets render state. Without this, artifacts remain after modal closes. The ANSI alternate buffer preserves main screen content.
143
+
144
+ ### Config Modal (`/config`)
145
+
146
+ Fullscreen modal for editing all application and plugin settings.
147
+
148
+ **Keyboard shortcuts:**
149
+ - `/` - Activate search filter (filters sections and widgets by label, help text, or config path)
150
+ - `Enter` - Lock filter and navigate filtered results
151
+ - `Esc` - Clear active filter (or close modal if no filter active)
152
+ - `Ctrl+S` - Save config (prompts Local vs Global target)
153
+ - Arrow keys / Tab - Navigate between widgets
154
+
155
+ ### STDOUT IS SACRED
156
+
157
+ **CRITICAL: Never use print() or sys.stdout.write() in plugin code.**
158
+
159
+ The terminal UI is a delicate render system. Any rogue stdout writes
160
+ corrupt the display (wrong cursor position, duplicate input boxes,
161
+ garbled status bar). There are exactly TWO legal ways to output:
162
+
163
+ **For messages visible to the user:**
164
+ ```python
165
+ renderer.message_coordinator.display_message_sequence([
166
+ ("system", "your message", {"display_type": "info"})
167
+ ])
168
+ ```
169
+
170
+ **For hub agent messages:**
171
+ ```python
172
+ renderer.message_coordinator.display_message_sequence([
173
+ ("agent", content, {"agent_color": color, "tag_char": " > "})
174
+ ])
175
+ ```
176
+
177
+ **For logging (goes to file, not screen):**
178
+ ```python
179
+ logger.info("debug info here")
180
+ ```
181
+
182
+ **NEVER do this in plugins:**
183
+ ```python
184
+ print("anything") # ILLEGAL - corrupts UI
185
+ sys.stdout.write("anything") # ILLEGAL - corrupts UI
186
+ sys.stderr.write("debug") # Use logger.debug() instead
187
+ ```
188
+
189
+ The only code allowed to call print() is `message_coordinator._output_rendered()`
190
+ which IS the render system's output path. Everything else must route through it.
191
+
192
+ ### Hub System (`plugins/hub/`)
193
+
194
+ Peer-to-peer agent mesh with persistent identity.
195
+
196
+ **Core files:**
197
+ - `plugin.py` - Lifecycle, social layer, /hub commands, message display
198
+ - `models.py` - GemDesignation, HubMessage, WorkSlot, designation pool
199
+ - `presence.py` - Heartbeat files, agent discovery, socket liveness checks
200
+ - `coordinator.py` - flock election, work queue, designation assignment
201
+ - `messenger.py` - Unix socket server/client, message delivery
202
+ - `vault.py` - Three-tier persistent memory (stream, working, crystallized)
203
+ - `feed.py` - Dashboard content generator
204
+ - `org_launcher.py` - Launch teams from JSON org charts
205
+
206
+ **Key concepts:**
207
+ - Agents auto-discover via presence files in `~/.kollabor-cli/hub/presence/`
208
+ - First agent becomes coordinator via `flock()` on `hub.lock`
209
+ - Designations are gem-inspired names (lapis, peridot, ruby) with color castes
210
+ - Open channel: all agents see all messages (like Slack)
211
+ - Vaults persist across sessions at `~/.kollabor-cli/hub/vaults/<designation>/`
212
+ - `--agent` flag sets both agent bundle AND hub designation (phase 2+)
213
+ - Status widget: `◈ designation* +peers` on status bar row 3
214
+
215
+ **Message types for hub display:**
216
+ ```python
217
+ # Direct message (bright, > tag)
218
+ display_message_sequence([("agent", content, {"agent_color": (r,g,b)})])
219
+
220
+ # Observed message (dim, ~ tag)
221
+ display_message_sequence([("agent", content, {
222
+ "agent_color": (r,g,b), "tag_char": " ~ ", "observing": True
223
+ })])
224
+ ```
225
+
226
+ **AltView fullscreen views (use AltView stack, NOT LiveModal):**
227
+ - `/hub feed` - Live dashboard (plugins/altview/hub_feed_altview.py)
228
+ - `/hub console` - Sidebar + feed panel (plugins/altview/hub_console_altview.py)
229
+ - `/terminal view` - Tmux session viewer (plugins/terminal_altview.py)
230
+
231
+ ### Plugin Architecture
232
+ - Plugin discovery from `plugins/` directory
233
+ - Dynamic instantiation with dependency injection
234
+ - Hook registration for event interception
235
+ - Configuration merging from plugin configs
236
+
237
+ ### UI Design System (`kollabor_tui.design_system`)
238
+
239
+ **CRITICAL: Always use existing UI components. Never invent new patterns.**
240
+
241
+ **Core Imports:**
242
+ ```python
243
+ from kollabor_tui.design_system import T, S, C, Box, TagBox, solid, solid_fg, gradient
244
+ ```
245
+
246
+ **Theme Access (`T()`):**
247
+ - `T().primary`, `T().dark`, `T().text`, `T().text_dim`
248
+ - `T().success`, `T().error`, `T().warning`
249
+
250
+ **Style Constants (`S`):**
251
+ - `S.BOLD`, `S.RESET_BOLD`, `S.DIM`, `S.RESET_DIM`, `S.UNDERLINE`, `S.RESET_UNDERLINE`
252
+
253
+ **Box Rendering (solid block style):**
254
+ ```python
255
+ solid_fg("▄" * width, T().dark[0]) # Top edge
256
+ solid(f" {text:<{w}}", T().dark[0], T().text, w) # Content
257
+ solid_fg("▀" * width, T().dark[0]) # Bottom edge
258
+ ```
259
+
260
+ **TagBox (tag + content pattern):**
261
+ ```python
262
+ TagBox.render(
263
+ lines=["content"],
264
+ tag_bg=T().primary[0], tag_fg=T().text_dark, tag_width=3,
265
+ content_colors=T().dark[0], content_fg=T().text,
266
+ content_width=width - 7,
267
+ tag_chars=[" > "],
268
+ )
269
+ ```
270
+
271
+ **Widgets (`kollabor_tui.widgets`):**
272
+ `CheckboxWidget`, `DropdownWidget`, `SliderWidget`, `TextInputWidget`, `LabelWidget`, `ProgressWidget`, `SpinBoxWidget`
273
+
274
+ **DO NOT:**
275
+ - Create box-drawing with characters (use solid block style instead)
276
+ - Hardcode colors (use `T()`)
277
+ - Access `terminal_state.width` directly (use `get_size()`)
278
+ - Invent new widget styles
279
+
280
+ ### Universal Terminal State Management
281
+
282
+ **CRITICAL: All code must access terminal dimensions through the global state.**
283
+
284
+ ```python
285
+ from kollabor_tui.terminal_state import get_terminal_size, get_terminal_width, get_terminal_height
286
+
287
+ width, height = get_terminal_size()
288
+ width = get_terminal_width()
289
+ height = get_terminal_height()
290
+
291
+ # Direct instance
292
+ from kollabor_tui.terminal_state import get_global_terminal_state
293
+ ts = get_global_terminal_state()
294
+ width, height = ts.get_size()
295
+ ```
296
+
297
+ **WRONG:**
298
+ ```python
299
+ import shutil
300
+ size = shutil.get_terminal_size() # NO!
301
+ import os
302
+ size = os.get_terminal_size() # NO!
303
+ ```
304
+
305
+ **For Plugins:**
306
+ ```python
307
+ async def render_frame(self, delta_time: float) -> bool:
308
+ width, height = self.renderer.get_terminal_size()
309
+ ```
310
+
311
+ ## Development Commands
312
+
313
+ ```bash
314
+ # Installation
315
+ pip install -e . # Development mode
316
+ pip install -e ".[dev]" # With dev dependencies
317
+ pip install kollab # From PyPI
318
+
319
+ # Running
320
+ kollab # Installed command
321
+ python main.py # Development mode
322
+ echo "query" | kollab -p # Pipe mode
323
+ kollab "query" --timeout 5min # With timeout
324
+
325
+ # Testing
326
+ tests/tmux/lib/test_runner.sh tests/tmux/specs/mcp_memory_usage.json # JSON test
327
+ tests/tmux/run_all_tests.sh # All tmux tests
328
+ python tests/run_tests.py # Unit tests
329
+ python -m unittest tests.test_llm_plugin # Specific test
330
+
331
+ # Code quality
332
+ python -m black kollabor/ plugins/ tests/ main.py # Format (88 chars)
333
+ python -m ruff check kollabor/ packages/ plugins/ # Lint (120 chars)
334
+ python -m mypy kollabor/ plugins/ # Type check
335
+ python scripts/clean.py # Clean cache
336
+
337
+ # Building
338
+ python scripts/clean.py
339
+ python -m build
340
+ python -m twine upload --repository testpypi dist/*
341
+ ```
342
+
343
+ **Log locations:**
344
+ - `~/.kollabor-cli/projects/<encoded-path>/logs/kollabor.log` (daily rotation)
345
+ - `~/.kollabor-cli/config.json` (global config)
346
+ - `~/.kollabor-cli/projects/<encoded-path>/conversations/` (JSONL)
347
+
348
+ ## Agent Verification Requirements (MANDATORY)
349
+
350
+ **All agents implementing features MUST create JSON-based tmux verification tests.**
351
+
352
+ 1. **Create JSON test spec** in `tests/tmux/specs/`:
353
+ ```json
354
+ {
355
+ "name": "feature-name",
356
+ "description": "What this test verifies",
357
+ "config": {
358
+ "command": "python main.py",
359
+ "app_init_sleep": 3,
360
+ "show_captures": false
361
+ },
362
+ "steps": [
363
+ { "action": "start_app" },
364
+ { "action": "slash_command", "command": "mcp", "subcommand": "show" },
365
+ { "action": "sleep", "seconds": 1 },
366
+ { "action": "capture" },
367
+ { "action": "assert_contains", "pattern": "MCP|Status" }
368
+ ]
369
+ }
370
+ ```
371
+
372
+ 2. **Available actions:** `start_app`, `slash_command`, `type`, `send_keys`, `capture`, `assert_contains`, `assert_not_contains`, `sleep`, `section`
373
+
374
+ 3. **Run:** `tests/tmux/lib/test_runner.sh tests/tmux/specs/your-test.json`
375
+
376
+ 4. **Report:**
377
+ ```
378
+ implementation complete:
379
+ feature: [name]
380
+ test: tests/tmux/specs/feature-name.json
381
+ result: PASS (X/Y assertions verified)
382
+ ```
383
+
384
+ **DO NOT report implementation as complete without a passing test.**
385
+
386
+ See `tests/tmux/README.md` for complete documentation.
387
+
388
+ ## Entry Points
389
+
390
+ 1. **`kollab` command** (after `pip install`): Entry point `kollab = "kollabor_cli_main:cli_main"` in `pyproject.toml`
391
+ 2. **`python main.py`** (development): Direct execution from local `kollabor/`
392
+
393
+ Both initialize `TerminalLLMChat` in `kollabor/application.py`.
394
+
395
+ ## Configuration System
396
+
397
+ **Dot notation:** `config.get("kollabor.llm.max_history", 90)`
398
+
399
+ **Global directory (`~/.kollabor-cli/`):**
400
+ - `config.json` - User configuration
401
+ - `agents/` - Global agent definitions
402
+ - `projects/` - Project-specific data
403
+
404
+ **Project data (`~/.kollabor-cli/projects/<encoded-path>/`):**
405
+ - `conversations/` - JSONL logs
406
+ - `conversations/raw/` - Raw API logs
407
+ - `conversations/memory/` - Intelligence cache
408
+ - `conversations/snapshots/` - Snapshots
409
+ - `logs/` - Application logs
410
+
411
+ **Path encoding:** `/home/user/myproject` -> `home_user_myproject`
412
+
413
+ **Local directory (`.kollabor-cli/` - OPTIONAL):**
414
+ - `agents/` - Project-specific agents (override global)
415
+
416
+ **Agent resolution:** Local -> Global
417
+
418
+ **Config save targets (`/config` modal, `Ctrl+S`):**
419
+ - Local (`L`): Saves to `.kollabor-cli/config.json` in cwd (project-specific overrides)
420
+ - Global (`G`): Saves to `~/.kollabor-cli/config.json` (user-wide settings)
421
+ - Only overrides (diff from defaults) are persisted, not the full config tree
422
+
423
+ ### Dynamic System Prompts with `<trender>` Tags
424
+
425
+ System prompts support dynamic content rendering at runtime (`kollabor_ai.prompt_renderer`):
426
+
427
+ ```markdown
428
+ <!-- Project structure -->
429
+ <trender type="project_tree" max_depth="3" />
430
+
431
+ <!-- File listings -->
432
+ <trender type="file_list" pattern="**/*.py" exclude="__pycache__" />
433
+
434
+ <!-- File contents -->
435
+ <trender type="file_content" path="README.md" />
436
+
437
+ <!-- Metadata -->
438
+ <trender type="timestamp" format="%Y-%m-%d %H:%M:%S" />
439
+
440
+ <!-- Hub tags (require event_bus with hub_plugin service) -->
441
+ <trender type="hub_identity" />
442
+ <trender type="hub_roster" />
443
+ <trender type="hub_vault" />
444
+ <trender type="hub_work_queue" />
445
+ ```
446
+
447
+ **Priority order:** `KOLLABOR_SYSTEM_PROMPT` env var -> `KOLLABOR_SYSTEM_PROMPT_FILE` env var -> Local `.kollabor-cli/system_prompt/default.md` -> Global `~/.kollabor-cli/system_prompt/default.md` -> Built-in fallback
448
+
449
+ ## Core Architecture Patterns
450
+
451
+ ### Event-Driven Design
452
+ Event bus (`kollabor_events.bus`) coordinates:
453
+ - **HookRegistry** (`kollabor_events.registry`) - Hook registration and lookup
454
+ - **HookExecutor** (`kollabor_events.executor`) - Hook execution with error handling
455
+ - **EventProcessor** (`kollabor_events.processor`) - Sequential event processing
456
+ - **EventBus** (`kollabor_events.bus`) - Central coordinator
457
+
458
+ ### Plugin Lifecycle
459
+ 1. **Discovery** - `PluginDiscovery` scans `plugins/`
460
+ 2. **Registry** - `PluginRegistry` maintains metadata
461
+ 3. **Factory** - `PluginFactory` instantiates with dependency injection
462
+ 4. **Initialization** - Plugins call `initialize()` and `register_hooks()`
463
+ 5. **Execution** - Events trigger registered hooks with priority ordering
464
+ 6. **Cleanup** - Plugins call `shutdown()`
465
+
466
+ ### LLM Coordinator Architecture
467
+ `LLMCoordinator` (`kollabor/llm/llm_coordinator.py`) orchestrates:
468
+ - **APICommunicationService** (`kollabor_ai`) - HTTP client with rate limiting
469
+ - **KollaborConversationLogger** (`kollabor_ai`) - Persistent conversation history
470
+ - **MessageDisplayService** (`kollabor_tui`) - Response formatting and streaming
471
+ - **StreamingHandler** (`kollabor/llm/`) - Stream processing
472
+ - **MessageHandler** (`kollabor/llm/`) - Message flow
473
+ - **LLMHookSystem** (`kollabor/llm/`) - Request/response interception
474
+
475
+ ### Question Gate Protocol
476
+
477
+ Suspends tool execution when agent asks clarifying questions using `<question>` tags (prevents runaway loops):
478
+
479
+ 1. Agent includes `<question>...</question>` tag
480
+ 2. System detects tag, suspends pending tools (stored in `pending_tools`)
481
+ 3. User responds
482
+ 4. Suspended tools execute, results injected
483
+ 5. Agent continues
484
+
485
+ **Configuration:** `kollabor.llm.question_gate_enabled` (default: `true`)
486
+
487
+ **Key files:** `kollabor_ai.response_parser` (detection), `kollabor/llm/llm_coordinator.py` (queue management)
488
+
489
+ See `docs/features/question-gate-protocol.md`.
490
+
491
+ ### Plugin System Details
492
+ **Discovery locations (in order):**
493
+ 1. `<package_root>/plugins/` (pip install)
494
+ 2. `./plugins/` (development mode)
495
+
496
+ **Each plugin can:**
497
+ - Register hooks at any priority (CRITICAL, HIGH, NORMAL, LOW)
498
+ - Access shared services via dependency injection
499
+ - Contribute status line items to areas A, B, or C
500
+ - Merge custom configuration into global config
501
+ - Register slash commands via CommandRegistry
502
+
503
+ ## Hook System
504
+
505
+ Plugins can:
506
+ - Intercept user input (`pre_user_input`)
507
+ - Transform LLM requests (`pre_api_request`)
508
+ - Process responses (`post_api_response`)
509
+ - Add custom status indicators (`get_status_line()`)
510
+ - Create new terminal UI elements
511
+
512
+ ### Config Hooks (JSON, no Python needed)
513
+
514
+ Claude Code-compatible JSON hooks. Create `.kollabor-cli/hooks.json`:
515
+
516
+ ```json
517
+ {
518
+ "hooks": {
519
+ "PreToolUse": [
520
+ {
521
+ "matcher": "file_create|file_edit",
522
+ "hooks": [{ "type": "command", "command": "python guard.py" }]
523
+ }
524
+ ]
525
+ }
526
+ }
527
+ ```
528
+
529
+ Commands receive event data on stdin (JSON), respond via exit code + stdout JSON.
530
+ Exit 0 = proceed, exit 2 = block. Supports Claude Code event names (`PreToolUse`,
531
+ `UserPromptSubmit`, etc.) plus Kollabor-native names (`LlmRequestPre`, `McpToolCallPre`, etc.).
532
+
533
+ **Key file:** `kollabor/config_hooks.py` (ConfigHookLoader)
534
+
535
+ See `docs/features/config-hooks.md` for full reference.
536
+
537
+ ## Plugin Development
538
+
539
+ Plugins should:
540
+ 1. Inherit from base classes in `kollabor_plugins`
541
+ 2. Register hooks in `register_hooks()` using `EventType` enum
542
+ 3. Provide status info via `get_status_line()`
543
+ 4. Implement `initialize()` and `shutdown()`
544
+ 5. Use `async def` for all hook handlers
545
+ 6. Optionally implement `get_config_widgets()` to expose settings in the `/config` modal
546
+
547
+ ### Plugin Config Widgets
548
+
549
+ Plugins can expose configurable settings in the `/config` modal by implementing a static `get_config_widgets()` method. Widgets are auto-discovered from the `plugins/` directory (no manual registration needed).
550
+
551
+ ```python
552
+ @staticmethod
553
+ def get_config_widgets() -> Dict[str, Any]:
554
+ return {
555
+ "title": "My Plugin",
556
+ "widgets": [
557
+ {"type": "checkbox", "label": "Enabled", "config_path": "plugins.my_plugin.enabled", "help": "Enable plugin"},
558
+ {"type": "slider", "label": "Timeout", "config_path": "plugins.my_plugin.timeout", "min_value": 1, "max_value": 60, "step": 1, "help": "Timeout in seconds"},
559
+ ],
560
+ }
561
+ ```
562
+
563
+ Supported widget types: `checkbox`, `slider`, `dropdown`, `text_input`, `spinbox`. Each widget requires `type`, `label`, `config_path`, and `help`. Additional keys depend on the widget type (e.g., `min_value`/`max_value`/`step` for slider, `options` for dropdown).
564
+
565
+ ## Project Structure
566
+
567
+ ```
568
+ .
569
+ ├── kollabor/ # Core orchestration
570
+ │ ├── application.py # Main TerminalLLMChat class
571
+ │ ├── cli.py # CLI entry point
572
+ │ ├── commands/ # Slash command system
573
+ │ │ ├── registry.py # Command registration
574
+ │ │ ├── executor.py # Command execution
575
+ │ │ ├── profile_command.py # Profile management
576
+ │ │ ├── mcp_command.py # MCP server management
577
+ │ │ └── system_commands/ # System command handlers
578
+ │ ├── llm/ # LLM orchestration layer
579
+ │ │ ├── llm_coordinator.py # Main coordinator
580
+ │ │ ├── hook_system.py # LLM hooks
581
+ │ │ ├── streaming_handler.py # Stream processing
582
+ │ │ ├── message_handler.py # Message flow
583
+ │ │ ├── session_manager.py # Session lifecycle
584
+ │ │ └── permissions/ # Tool permission system
585
+ │ ├── config_hooks.py # JSON hook loading
586
+ │ ├── fullscreen/ # Fullscreen command integration
587
+ │ └── logging/ # Logging configuration
588
+ ├── packages/ # Extracted packages
589
+ │ ├── kollabor-ai/ # LLM services (kollabor_ai)
590
+ │ ├── kollabor-tui/ # Terminal UI (kollabor_tui)
591
+ │ ├── kollabor-events/ # Event system (kollabor_events)
592
+ │ ├── kollabor-config/ # Configuration (kollabor_config)
593
+ │ ├── kollabor-agent/ # Agent runtime (kollabor_agent)
594
+ │ ├── kollabor-plugins/ # Plugin framework (kollabor_plugins)
595
+ │ ├── kollabor-engine/ # Engine server (kollabor_engine)
596
+ │ └── kollabor-webui/ # Web UI (kollabor_webui)
597
+ ├── plugins/ # Plugin implementations
598
+ │ ├── enhanced_input_plugin.py
599
+ │ ├── hook_monitoring_plugin.py
600
+ │ └── [other plugins]
601
+ ├── bundles/ # Agent bundles
602
+ │ └── agents/ # Agent definitions
603
+ ├── tests/ # Test suite
604
+ │ ├── tmux/ # JSON-based UI tests
605
+ │ │ ├── specs/ # Test specifications
606
+ │ │ ├── lib/ # Test framework
607
+ │ │ └── README.md
608
+ │ ├── unit/, integration/, visual/
609
+ │ └── test_*.py
610
+ ├── docs/ # Documentation
611
+ │ ├── features/ # Feature specifications
612
+ │ ├── guides/ # Developer guides
613
+ │ ├── reference/ # API and architecture reference
614
+ │ ├── providers/ # Provider setup guides
615
+ │ ├── mcp/ # MCP documentation
616
+ │ └── plugins/ # Plugin specifications
617
+ ├── main.py # Entry point
618
+ └── .github/scripts/ # Repository automation
619
+ ```
620
+
621
+ **Runtime data (`~/.kollabor-cli/`):**
622
+ ```
623
+ ~/.kollabor-cli/
624
+ ├── config.json # User configuration
625
+ ├── agents/ # Global agent definitions
626
+ └── projects/ # Project-specific data
627
+ └── <encoded-path>/
628
+ ├── conversations/ # Conversation history (JSONL)
629
+ └── logs/ # Application logs
630
+ ```
631
+
632
+ ## Development Guidelines
633
+
634
+ ### Git Workflow
635
+ **Pre-commit:** Commits to `kollabor/`, `plugins/`, `tests/` MUST reference GitHub issue
636
+ - Branch: `issue-123-description` or `feature/issue-123-description`
637
+ - Commit: `fixes #123`, `closes #123`, `resolves #123`, or `#123`
638
+ - Main branch protected - no direct pushes
639
+
640
+ ```bash
641
+ gh issue create --title "Fix version display"
642
+ git switch -c issue-8-version-display-fix
643
+ git commit -m "Fix version display fixes #8"
644
+ git push -u kollaborai issue-8-version-display-fix
645
+ gh pr create --title "Fix version display" --body "Fixes #8"
646
+ ```
647
+
648
+ ### Version Management
649
+ Version managed centrally in `pyproject.toml`:
650
+ - **Development mode** (`python main.py`): Reads from `pyproject.toml` at runtime
651
+ - **Production mode** (pip install): Uses `importlib.metadata.version("kollab")`
652
+
653
+ Files reading version: `kollabor/application.py`, `kollabor/cli.py`, `kollabor_config.loader`
654
+
655
+ To update: Only modify `pyproject.toml`.
656
+
657
+ ### Code Standards
658
+ - PEP 8 with Black formatting (88-char) and ruff linting (120-char)
659
+ - Lint: `ruff check` must pass with 0 violations before commit
660
+ - Double quotes for strings, single for chars
661
+ - Type hints on public functions
662
+ - `async def` for all hooks (even if no await)
663
+ - `logging.getLogger(__name__)` for logging
664
+
665
+ ### Async/Await Patterns
666
+ - Main event loop: `asyncio.run()` in `cli_main()`
667
+ - Concurrent tasks: `asyncio.gather()` for render loop + input handler
668
+ - Background tasks: Use `app.create_background_task()` for tracking
669
+ - Cleanup: All tasks cancelled in `app.cleanup()` via `finally`
670
+ - Plugin hooks: Must be async
671
+
672
+ ### Testing Strategy
673
+ - **JSON tmux tests** (`tests/tmux/specs/`) - PRIMARY approach for UI/features
674
+ - Unit tests in `tests/unit/`
675
+ - Integration tests in `tests/integration/`
676
+ - Visual tests in `tests/visual/`
677
+ - Component tests (`test_*.py`)
678
+
679
+ ### Hook Development
680
+ Consider:
681
+ - Hook priority (`HookPriority` enum: CRITICAL, HIGH, NORMAL, LOW)
682
+ - Error handling - hooks shouldn't crash (caught by HookExecutor)
683
+ - Performance - hooks are in hot path
684
+ - State management - avoid shared mutable state
685
+ - Return modified context from hooks
686
+ - All handlers must be async
687
+
688
+ ## Key Features
689
+
690
+ ### Interactive Mode
691
+ - Real-time status updates across three areas (A, B, C)
692
+ - Thinking animations during LLM processing
693
+ - Multi-line input with visual input box
694
+ - Conversation history with scrollback
695
+ - Plugin-driven extensibility
696
+
697
+ ### Pipe Mode
698
+ - `kollab "query"` - Single query and exit
699
+ - `echo "query" | kollab -p` - Read from stdin
700
+ - `kollab --timeout 5min "task"` - Configurable timeout
701
+ - Suppresses interactive UI elements
702
+ - Full plugin support (`app.pipe_mode` flag)
703
+
704
+ ### Tool Permission System
705
+ - 4 approval modes: CONFIRM_ALL (default), DEFAULT, AUTO_APPROVE_EDITS, TRUST_ALL
706
+ - Risk-based assessment with pattern matching
707
+ - Inline permission prompts (no modal interruption)
708
+ - Session-scoped approvals
709
+ - `/permissions` command for runtime management
710
+ - Event bus integration at SECURITY priority (900)
711
+
712
+ **Permission keys:** `a` approve once, `s` session, `p` project, `d` deny, `ESC` cancel
713
+ **Context-specific:** `A` always edits, `t` trust tool, `c` cancel
714
+
715
+ See `kollabor/llm/permissions/README.md`.
716
+
717
+ ### Terminal Color Support
718
+
719
+ **Auto-detected modes:** TRUE_COLOR (24-bit), EXTENDED (256-color), BASIC (16-color), NONE
720
+
721
+ **Detection order:** `COLORTERM` env var -> `TERM_PROGRAM` -> `TERM` variable -> Apple Terminal (256-color)
722
+
723
+ **Manual override:**
724
+ ```bash
725
+ KOLLABOR_COLOR_MODE=256 kollab # 256-color
726
+ KOLLABOR_COLOR_MODE=truecolor kollab # True color
727
+ KOLLABOR_COLOR_MODE=none kollab # No colors
728
+ export KOLLABOR_COLOR_MODE=256 # Persist
729
+ ```
730
+
731
+ **Programmatic:**
732
+ ```python
733
+ from kollabor_tui.visual_effects import set_color_support, ColorSupport
734
+ set_color_support(ColorSupport.EXTENDED)
735
+ ```
736
+
737
+ ## Slash Commands
738
+
739
+ **Built-in:**
740
+ - `/help` - Show available commands
741
+ - `/save` - Save conversation (transcript|markdown|jsonl|clipboard|both|local)
742
+ - `/profile` (aliases: `/prof`, `/llm`) - Manage LLM profiles (list|set|create)
743
+ - `/permissions` (aliases: `/perms`, `/security`) - Manage permissions (show|default|strict|trust|stats|clear)
744
+ - `/terminal` (aliases: `/tmux`, `/term`, `/t`) - Manage tmux sessions (new|view|list|kill)
745
+ - `/hub` (aliases: `/mesh`) - Agent hub (status|msg|broadcast|feed|console|org|vault|whoami)
746
+ - `/login` - OAuth login for providers (currently OpenAI)
747
+ - `/mcp` - Manage MCP servers (show|add|remove)
748
+ - `/resume` - Resume a previous conversation
749
+ - `/config` - Fullscreen config editor modal. Press `/` to search/filter settings by label, help text, or config path. `Ctrl+S` prompts for Local (L) or Global (G) save target.
750
+ - `/matrix` - Matrix rain effect
751
+ - `/version` - Show version
752
+
753
+ **Command menu:** Triggered by `/`, filters with prefix matching, arrow keys navigate, Enter executes. Prioritizes name matches over aliases. When filtered to single command, subcommands appear and are selectable.
754
+
755
+ **Adding custom commands with subcommands:**
756
+ ```python
757
+ from kollabor_events.models import CommandDefinition, CommandCategory, SubcommandInfo
758
+
759
+ command_def = CommandDefinition(
760
+ name="mycommand",
761
+ description="My custom command",
762
+ category=CommandCategory.CUSTOM,
763
+ aliases=["mc", "mycmd"],
764
+ handler=my_handler_function,
765
+ subcommands=[
766
+ SubcommandInfo("action1", "", "Execute action 1"),
767
+ SubcommandInfo("action2", "<arg>", "Execute action 2 with argument"),
768
+ ]
769
+ )
770
+ command_registry.register_command(command_def)
771
+ ```
772
+
773
+ ## Current State
774
+
775
+ Monorepo with 8 extracted packages. Recent development:
776
+ - Monorepo restructure (kollabor-ai, kollabor-tui, kollabor-events, kollabor-config, kollabor-agent, kollabor-plugins, kollabor-engine, kollabor-webui)
777
+ - LLM service refactored into llm_coordinator.py + extracted modules
778
+ - Subcommand system with smart execution
779
+ - Dynamic system prompt rendering with `<trender>` tags
780
+ - Environment variable configuration for LLM profiles
781
+ - OAuth login (OpenAI)
782
+ - MCP integration
783
+ - Tool permission system with risk assessment
784
+ - Tmux plugin with live modal viewing
785
+
786
+ **The codebase uses Python 3.12+ with async/await throughout.**