@bastani/atomic 0.5.11-0 → 0.5.12-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/.agents/skills/adapt/SKILL.md +199 -0
  2. package/.agents/skills/advanced-evaluation/SKILL.md +402 -0
  3. package/.agents/skills/advanced-evaluation/references/bias-mitigation.md +288 -0
  4. package/.agents/skills/advanced-evaluation/references/evaluation-pipeline.md +43 -0
  5. package/.agents/skills/advanced-evaluation/references/implementation-patterns.md +315 -0
  6. package/.agents/skills/advanced-evaluation/references/metrics-guide.md +331 -0
  7. package/.agents/skills/advanced-evaluation/scripts/evaluation_example.py +392 -0
  8. package/.agents/skills/animate/SKILL.md +175 -0
  9. package/.agents/skills/arrange/SKILL.md +124 -0
  10. package/.agents/skills/audit/SKILL.md +148 -0
  11. package/.agents/skills/bdi-mental-states/SKILL.md +311 -0
  12. package/.agents/skills/bdi-mental-states/references/bdi-ontology-core.md +207 -0
  13. package/.agents/skills/bdi-mental-states/references/framework-integration.md +582 -0
  14. package/.agents/skills/bdi-mental-states/references/rdf-examples.md +315 -0
  15. package/.agents/skills/bdi-mental-states/references/sparql-competency.md +420 -0
  16. package/.agents/skills/bolder/SKILL.md +117 -0
  17. package/.agents/skills/bun/SKILL.md +199 -0
  18. package/.agents/skills/clarify/SKILL.md +183 -0
  19. package/.agents/skills/colorize/SKILL.md +143 -0
  20. package/.agents/skills/context-compression/SKILL.md +272 -0
  21. package/.agents/skills/context-compression/references/evaluation-framework.md +213 -0
  22. package/.agents/skills/context-compression/scripts/compression_evaluator.py +862 -0
  23. package/.agents/skills/context-compression/tests/test_compression_evaluator.py +56 -0
  24. package/.agents/skills/context-degradation/SKILL.md +206 -0
  25. package/.agents/skills/context-degradation/references/patterns.md +314 -0
  26. package/.agents/skills/context-degradation/scripts/degradation_detector.py +614 -0
  27. package/.agents/skills/context-fundamentals/SKILL.md +201 -0
  28. package/.agents/skills/context-fundamentals/references/context-components.md +283 -0
  29. package/.agents/skills/context-fundamentals/scripts/context_manager.py +533 -0
  30. package/.agents/skills/context-optimization/SKILL.md +195 -0
  31. package/.agents/skills/context-optimization/references/optimization_techniques.md +272 -0
  32. package/.agents/skills/context-optimization/scripts/compaction.py +562 -0
  33. package/.agents/skills/create-spec/SKILL.md +244 -0
  34. package/.agents/skills/critique/SKILL.md +225 -0
  35. package/.agents/skills/critique/reference/cognitive-load.md +106 -0
  36. package/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
  37. package/.agents/skills/critique/reference/personas.md +178 -0
  38. package/.agents/skills/delight/SKILL.md +304 -0
  39. package/.agents/skills/distill/SKILL.md +122 -0
  40. package/.agents/skills/docx/LICENSE.txt +30 -0
  41. package/.agents/skills/docx/SKILL.md +590 -0
  42. package/.agents/skills/docx/scripts/__init__.py +1 -0
  43. package/.agents/skills/docx/scripts/accept_changes.py +135 -0
  44. package/.agents/skills/docx/scripts/comment.py +318 -0
  45. package/.agents/skills/docx/scripts/office/helpers/__init__.py +0 -0
  46. package/.agents/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  47. package/.agents/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  48. package/.agents/skills/docx/scripts/office/pack.py +159 -0
  49. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  50. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  51. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  52. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  53. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  54. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  55. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  56. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  57. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  58. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  59. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  60. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  61. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  62. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  63. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  64. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  65. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  66. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  67. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  68. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  69. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  70. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  71. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  72. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  73. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  74. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  75. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  76. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  77. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  78. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  79. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  80. package/.agents/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  81. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  82. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  83. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  84. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  85. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  86. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  87. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  88. package/.agents/skills/docx/scripts/office/soffice.py +183 -0
  89. package/.agents/skills/docx/scripts/office/unpack.py +132 -0
  90. package/.agents/skills/docx/scripts/office/validate.py +111 -0
  91. package/.agents/skills/docx/scripts/office/validators/__init__.py +15 -0
  92. package/.agents/skills/docx/scripts/office/validators/base.py +847 -0
  93. package/.agents/skills/docx/scripts/office/validators/docx.py +446 -0
  94. package/.agents/skills/docx/scripts/office/validators/pptx.py +275 -0
  95. package/.agents/skills/docx/scripts/office/validators/redlining.py +247 -0
  96. package/.agents/skills/docx/scripts/templates/comments.xml +3 -0
  97. package/.agents/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  98. package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  99. package/.agents/skills/docx/scripts/templates/commentsIds.xml +3 -0
  100. package/.agents/skills/docx/scripts/templates/people.xml +3 -0
  101. package/.agents/skills/evaluation/SKILL.md +251 -0
  102. package/.agents/skills/evaluation/references/metrics.md +339 -0
  103. package/.agents/skills/evaluation/scripts/evaluator.py +627 -0
  104. package/.agents/skills/explain-code/SKILL.md +230 -0
  105. package/.agents/skills/extract/SKILL.md +91 -0
  106. package/.agents/skills/filesystem-context/SKILL.md +287 -0
  107. package/.agents/skills/filesystem-context/references/implementation-patterns.md +549 -0
  108. package/.agents/skills/filesystem-context/scripts/filesystem_context.py +425 -0
  109. package/.agents/skills/find-skills/SKILL.md +142 -0
  110. package/.agents/skills/frontend-design/SKILL.md +147 -0
  111. package/.agents/skills/frontend-design/reference/color-and-contrast.md +132 -0
  112. package/.agents/skills/frontend-design/reference/interaction-design.md +195 -0
  113. package/.agents/skills/frontend-design/reference/motion-design.md +99 -0
  114. package/.agents/skills/frontend-design/reference/responsive-design.md +114 -0
  115. package/.agents/skills/frontend-design/reference/spatial-design.md +100 -0
  116. package/.agents/skills/frontend-design/reference/typography.md +133 -0
  117. package/.agents/skills/frontend-design/reference/ux-writing.md +107 -0
  118. package/.agents/skills/gh-commit/SKILL.md +243 -0
  119. package/.agents/skills/gh-create-pr/SKILL.md +93 -0
  120. package/.agents/skills/harden/SKILL.md +354 -0
  121. package/.agents/skills/hosted-agents/SKILL.md +260 -0
  122. package/.agents/skills/hosted-agents/references/infrastructure-patterns.md +700 -0
  123. package/.agents/skills/hosted-agents/scripts/sandbox_manager.py +590 -0
  124. package/.agents/skills/impeccable/SKILL.md +365 -0
  125. package/.agents/skills/impeccable/reference/color-and-contrast.md +105 -0
  126. package/.agents/skills/impeccable/reference/craft.md +70 -0
  127. package/.agents/skills/impeccable/reference/extract.md +70 -0
  128. package/.agents/skills/impeccable/reference/interaction-design.md +195 -0
  129. package/.agents/skills/impeccable/reference/motion-design.md +99 -0
  130. package/.agents/skills/impeccable/reference/responsive-design.md +114 -0
  131. package/.agents/skills/impeccable/reference/spatial-design.md +100 -0
  132. package/.agents/skills/impeccable/reference/typography.md +142 -0
  133. package/.agents/skills/impeccable/reference/ux-writing.md +107 -0
  134. package/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +214 -0
  135. package/.agents/skills/init/SKILL.md +138 -0
  136. package/.agents/skills/layout/SKILL.md +125 -0
  137. package/.agents/skills/liteparse/SKILL.md +222 -0
  138. package/.agents/skills/memory-systems/SKILL.md +219 -0
  139. package/.agents/skills/memory-systems/references/implementation.md +551 -0
  140. package/.agents/skills/memory-systems/scripts/memory_store.py +616 -0
  141. package/.agents/skills/multi-agent-patterns/SKILL.md +257 -0
  142. package/.agents/skills/multi-agent-patterns/references/frameworks.md +433 -0
  143. package/.agents/skills/multi-agent-patterns/scripts/coordination.py +613 -0
  144. package/.agents/skills/normalize/SKILL.md +70 -0
  145. package/.agents/skills/onboard/SKILL.md +245 -0
  146. package/.agents/skills/opentui/SKILL.md +201 -0
  147. package/.agents/skills/opentui/references/animation/REFERENCE.md +431 -0
  148. package/.agents/skills/opentui/references/components/REFERENCE.md +144 -0
  149. package/.agents/skills/opentui/references/components/code-diff.md +672 -0
  150. package/.agents/skills/opentui/references/components/containers.md +417 -0
  151. package/.agents/skills/opentui/references/components/inputs.md +531 -0
  152. package/.agents/skills/opentui/references/components/text-display.md +386 -0
  153. package/.agents/skills/opentui/references/core/REFERENCE.md +145 -0
  154. package/.agents/skills/opentui/references/core/api.md +543 -0
  155. package/.agents/skills/opentui/references/core/configuration.md +168 -0
  156. package/.agents/skills/opentui/references/core/gotchas.md +393 -0
  157. package/.agents/skills/opentui/references/core/patterns.md +449 -0
  158. package/.agents/skills/opentui/references/keyboard/REFERENCE.md +617 -0
  159. package/.agents/skills/opentui/references/layout/REFERENCE.md +337 -0
  160. package/.agents/skills/opentui/references/layout/patterns.md +444 -0
  161. package/.agents/skills/opentui/references/react/REFERENCE.md +174 -0
  162. package/.agents/skills/opentui/references/react/api.md +436 -0
  163. package/.agents/skills/opentui/references/react/configuration.md +302 -0
  164. package/.agents/skills/opentui/references/react/gotchas.md +443 -0
  165. package/.agents/skills/opentui/references/react/patterns.md +501 -0
  166. package/.agents/skills/opentui/references/solid/REFERENCE.md +201 -0
  167. package/.agents/skills/opentui/references/solid/api.md +564 -0
  168. package/.agents/skills/opentui/references/solid/configuration.md +316 -0
  169. package/.agents/skills/opentui/references/solid/gotchas.md +427 -0
  170. package/.agents/skills/opentui/references/solid/patterns.md +560 -0
  171. package/.agents/skills/opentui/references/testing/REFERENCE.md +614 -0
  172. package/.agents/skills/optimize/SKILL.md +266 -0
  173. package/.agents/skills/overdrive/SKILL.md +142 -0
  174. package/.agents/skills/pdf/LICENSE.txt +30 -0
  175. package/.agents/skills/pdf/SKILL.md +314 -0
  176. package/.agents/skills/pdf/forms.md +294 -0
  177. package/.agents/skills/pdf/reference.md +612 -0
  178. package/.agents/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  179. package/.agents/skills/pdf/scripts/check_fillable_fields.py +11 -0
  180. package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  181. package/.agents/skills/pdf/scripts/create_validation_image.py +37 -0
  182. package/.agents/skills/pdf/scripts/extract_form_field_info.py +122 -0
  183. package/.agents/skills/pdf/scripts/extract_form_structure.py +115 -0
  184. package/.agents/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  185. package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  186. package/.agents/skills/playwright-cli/SKILL.md +344 -0
  187. package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
  188. package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
  189. package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
  190. package/.agents/skills/playwright-cli/references/running-code.md +231 -0
  191. package/.agents/skills/playwright-cli/references/session-management.md +169 -0
  192. package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
  193. package/.agents/skills/playwright-cli/references/test-generation.md +88 -0
  194. package/.agents/skills/playwright-cli/references/tracing.md +139 -0
  195. package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
  196. package/.agents/skills/polish/SKILL.md +224 -0
  197. package/.agents/skills/pptx/LICENSE.txt +30 -0
  198. package/.agents/skills/pptx/SKILL.md +232 -0
  199. package/.agents/skills/pptx/editing.md +205 -0
  200. package/.agents/skills/pptx/pptxgenjs.md +420 -0
  201. package/.agents/skills/pptx/scripts/__init__.py +0 -0
  202. package/.agents/skills/pptx/scripts/add_slide.py +195 -0
  203. package/.agents/skills/pptx/scripts/clean.py +286 -0
  204. package/.agents/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  205. package/.agents/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  206. package/.agents/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  207. package/.agents/skills/pptx/scripts/office/pack.py +159 -0
  208. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  209. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  210. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  211. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  212. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  213. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  214. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  215. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  216. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  217. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  218. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  219. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  220. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  221. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  222. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  223. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  224. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  225. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  226. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  227. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  228. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  229. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  230. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  231. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  232. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  233. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  234. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  235. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  236. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  237. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  238. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  239. package/.agents/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  240. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  241. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  242. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  243. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  244. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  245. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  246. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  247. package/.agents/skills/pptx/scripts/office/soffice.py +183 -0
  248. package/.agents/skills/pptx/scripts/office/unpack.py +132 -0
  249. package/.agents/skills/pptx/scripts/office/validate.py +111 -0
  250. package/.agents/skills/pptx/scripts/office/validators/__init__.py +15 -0
  251. package/.agents/skills/pptx/scripts/office/validators/base.py +847 -0
  252. package/.agents/skills/pptx/scripts/office/validators/docx.py +446 -0
  253. package/.agents/skills/pptx/scripts/office/validators/pptx.py +275 -0
  254. package/.agents/skills/pptx/scripts/office/validators/redlining.py +247 -0
  255. package/.agents/skills/pptx/scripts/thumbnail.py +289 -0
  256. package/.agents/skills/project-development/SKILL.md +291 -0
  257. package/.agents/skills/project-development/references/case-studies.md +388 -0
  258. package/.agents/skills/project-development/references/pipeline-patterns.md +610 -0
  259. package/.agents/skills/project-development/scripts/pipeline_template.py +796 -0
  260. package/.agents/skills/prompt-engineer/SKILL.md +263 -0
  261. package/.agents/skills/prompt-engineer/references/advanced_patterns.md +271 -0
  262. package/.agents/skills/prompt-engineer/references/core_prompting.md +137 -0
  263. package/.agents/skills/prompt-engineer/references/quality_improvement.md +193 -0
  264. package/.agents/skills/quieter/SKILL.md +103 -0
  265. package/.agents/skills/research-codebase/SKILL.md +227 -0
  266. package/.agents/skills/shape/SKILL.md +96 -0
  267. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  268. package/.agents/skills/skill-creator/SKILL.md +485 -0
  269. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  270. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  271. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  272. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  273. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  274. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  275. package/.agents/skills/skill-creator/references/schemas.md +430 -0
  276. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  277. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  278. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  279. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  280. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  281. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  282. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  283. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  284. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  285. package/.agents/skills/sl-commit/SKILL.md +51 -0
  286. package/.agents/skills/sl-submit-diff/SKILL.md +55 -0
  287. package/.agents/skills/teach-impeccable/SKILL.md +71 -0
  288. package/.agents/skills/test-driven-development/SKILL.md +371 -0
  289. package/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
  290. package/.agents/skills/tool-design/SKILL.md +271 -0
  291. package/.agents/skills/tool-design/references/architectural_reduction.md +210 -0
  292. package/.agents/skills/tool-design/references/best_practices.md +176 -0
  293. package/.agents/skills/tool-design/scripts/description_generator.py +528 -0
  294. package/.agents/skills/typescript-advanced-types/SKILL.md +719 -0
  295. package/.agents/skills/typescript-expert/SKILL.md +428 -0
  296. package/.agents/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  297. package/.agents/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  298. package/.agents/skills/typescript-expert/references/utility-types.ts +335 -0
  299. package/.agents/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  300. package/.agents/skills/typescript-react-reviewer/SKILL.md +200 -0
  301. package/.agents/skills/typescript-react-reviewer/references/antipatterns.md +510 -0
  302. package/.agents/skills/typescript-react-reviewer/references/checklist.md +267 -0
  303. package/.agents/skills/typescript-react-reviewer/references/react19-patterns.md +305 -0
  304. package/.agents/skills/typeset/SKILL.md +116 -0
  305. package/.agents/skills/workflow-creator/SKILL.md +337 -0
  306. package/.agents/skills/workflow-creator/references/agent-sessions.md +789 -0
  307. package/.agents/skills/workflow-creator/references/computation-and-validation.md +224 -0
  308. package/.agents/skills/workflow-creator/references/control-flow.md +450 -0
  309. package/.agents/skills/workflow-creator/references/discovery-and-verification.md +156 -0
  310. package/.agents/skills/workflow-creator/references/failure-modes.md +732 -0
  311. package/.agents/skills/workflow-creator/references/getting-started.md +289 -0
  312. package/.agents/skills/workflow-creator/references/session-config.md +355 -0
  313. package/.agents/skills/workflow-creator/references/state-and-data-flow.md +374 -0
  314. package/.agents/skills/workflow-creator/references/user-input.md +206 -0
  315. package/.agents/skills/workflow-creator/references/workflow-inputs.md +274 -0
  316. package/.agents/skills/xlsx/LICENSE.txt +30 -0
  317. package/.agents/skills/xlsx/SKILL.md +292 -0
  318. package/.agents/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  319. package/.agents/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  320. package/.agents/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  321. package/.agents/skills/xlsx/scripts/office/pack.py +159 -0
  322. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  323. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  324. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  325. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  326. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  327. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  328. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  329. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  330. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  331. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  332. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  333. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  334. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  335. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  336. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  337. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  338. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  339. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  340. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  341. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  342. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  343. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  344. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  345. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  346. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  347. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  348. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  349. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  350. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  351. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  352. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  353. package/.agents/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  354. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  355. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  356. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  357. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  358. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  359. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  360. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  361. package/.agents/skills/xlsx/scripts/office/soffice.py +183 -0
  362. package/.agents/skills/xlsx/scripts/office/unpack.py +132 -0
  363. package/.agents/skills/xlsx/scripts/office/validate.py +111 -0
  364. package/.agents/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  365. package/.agents/skills/xlsx/scripts/office/validators/base.py +847 -0
  366. package/.agents/skills/xlsx/scripts/office/validators/docx.py +446 -0
  367. package/.agents/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  368. package/.agents/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  369. package/.agents/skills/xlsx/scripts/recalc.py +184 -0
  370. package/.claude/agents/reviewer.md +1 -0
  371. package/.github/agents/reviewer.md +1 -0
  372. package/.opencode/agents/reviewer.md +1 -0
  373. package/README.md +274 -169
  374. package/package.json +6 -7
  375. package/src/commands/cli/init/index.ts +2 -2
  376. package/src/commands/cli/init/scm.ts +7 -8
  377. package/src/commands/cli/workflow-command.test.ts +74 -0
  378. package/src/commands/cli/workflow.ts +7 -2
  379. package/src/scripts/bundle-configs.ts +128 -0
  380. package/src/sdk/components/compact-switcher.tsx +1 -1
  381. package/src/sdk/components/orchestrator-panel-store.ts +13 -0
  382. package/src/sdk/components/orchestrator-panel.tsx +10 -0
  383. package/src/sdk/components/statusline.tsx +13 -1
  384. package/src/sdk/providers/claude.ts +42 -0
  385. package/src/sdk/runtime/executor.ts +111 -32
  386. package/src/sdk/types.ts +7 -0
  387. package/src/sdk/workflows/builtin/ralph/claude/index.ts +132 -76
  388. package/src/sdk/workflows/builtin/ralph/copilot/index.ts +129 -71
  389. package/src/sdk/workflows/builtin/ralph/helpers/git.ts +184 -17
  390. package/src/sdk/workflows/builtin/ralph/helpers/prompts.ts +463 -79
  391. package/src/sdk/workflows/builtin/ralph/opencode/index.ts +124 -80
  392. package/src/services/system/auto-sync.ts +31 -51
  393. package/src/services/system/skills.ts +56 -60
  394. package/dist/lib/path-root-guard.d.ts +0 -4
  395. package/dist/lib/path-root-guard.d.ts.map +0 -1
  396. package/dist/sdk/components/color-utils.d.ts +0 -4
  397. package/dist/sdk/components/color-utils.d.ts.map +0 -1
  398. package/dist/sdk/components/compact-switcher.d.ts +0 -10
  399. package/dist/sdk/components/compact-switcher.d.ts.map +0 -1
  400. package/dist/sdk/components/connectors.d.ts +0 -15
  401. package/dist/sdk/components/connectors.d.ts.map +0 -1
  402. package/dist/sdk/components/connectors.test.d.ts +0 -2
  403. package/dist/sdk/components/connectors.test.d.ts.map +0 -1
  404. package/dist/sdk/components/edge.d.ts +0 -4
  405. package/dist/sdk/components/edge.d.ts.map +0 -1
  406. package/dist/sdk/components/error-boundary.d.ts +0 -23
  407. package/dist/sdk/components/error-boundary.d.ts.map +0 -1
  408. package/dist/sdk/components/graph-theme.d.ts +0 -17
  409. package/dist/sdk/components/graph-theme.d.ts.map +0 -1
  410. package/dist/sdk/components/header.d.ts +0 -3
  411. package/dist/sdk/components/header.d.ts.map +0 -1
  412. package/dist/sdk/components/hooks.d.ts +0 -15
  413. package/dist/sdk/components/hooks.d.ts.map +0 -1
  414. package/dist/sdk/components/layout.d.ts +0 -27
  415. package/dist/sdk/components/layout.d.ts.map +0 -1
  416. package/dist/sdk/components/layout.test.d.ts +0 -2
  417. package/dist/sdk/components/layout.test.d.ts.map +0 -1
  418. package/dist/sdk/components/node-card.d.ts +0 -10
  419. package/dist/sdk/components/node-card.d.ts.map +0 -1
  420. package/dist/sdk/components/orchestrator-panel-contexts.d.ts +0 -16
  421. package/dist/sdk/components/orchestrator-panel-contexts.d.ts.map +0 -1
  422. package/dist/sdk/components/orchestrator-panel-store.d.ts +0 -46
  423. package/dist/sdk/components/orchestrator-panel-store.d.ts.map +0 -1
  424. package/dist/sdk/components/orchestrator-panel-store.test.d.ts +0 -2
  425. package/dist/sdk/components/orchestrator-panel-store.test.d.ts.map +0 -1
  426. package/dist/sdk/components/orchestrator-panel-types.d.ts +0 -18
  427. package/dist/sdk/components/orchestrator-panel-types.d.ts.map +0 -1
  428. package/dist/sdk/components/orchestrator-panel.d.ts +0 -52
  429. package/dist/sdk/components/orchestrator-panel.d.ts.map +0 -1
  430. package/dist/sdk/components/session-graph-panel.d.ts +0 -7
  431. package/dist/sdk/components/session-graph-panel.d.ts.map +0 -1
  432. package/dist/sdk/components/status-helpers.d.ts +0 -6
  433. package/dist/sdk/components/status-helpers.d.ts.map +0 -1
  434. package/dist/sdk/components/statusline.d.ts +0 -7
  435. package/dist/sdk/components/statusline.d.ts.map +0 -1
  436. package/dist/sdk/components/workflow-picker-panel.d.ts +0 -123
  437. package/dist/sdk/components/workflow-picker-panel.d.ts.map +0 -1
  438. package/dist/sdk/define-workflow.d.ts +0 -78
  439. package/dist/sdk/define-workflow.d.ts.map +0 -1
  440. package/dist/sdk/define-workflow.test.d.ts +0 -2
  441. package/dist/sdk/define-workflow.test.d.ts.map +0 -1
  442. package/dist/sdk/errors.d.ts +0 -24
  443. package/dist/sdk/errors.d.ts.map +0 -1
  444. package/dist/sdk/errors.test.d.ts +0 -2
  445. package/dist/sdk/errors.test.d.ts.map +0 -1
  446. package/dist/sdk/index.d.ts +0 -13
  447. package/dist/sdk/index.d.ts.map +0 -1
  448. package/dist/sdk/providers/claude.d.ts +0 -170
  449. package/dist/sdk/providers/claude.d.ts.map +0 -1
  450. package/dist/sdk/providers/copilot.d.ts +0 -11
  451. package/dist/sdk/providers/copilot.d.ts.map +0 -1
  452. package/dist/sdk/providers/opencode.d.ts +0 -11
  453. package/dist/sdk/providers/opencode.d.ts.map +0 -1
  454. package/dist/sdk/runtime/discovery.d.ts +0 -86
  455. package/dist/sdk/runtime/discovery.d.ts.map +0 -1
  456. package/dist/sdk/runtime/executor-entry.d.ts +0 -11
  457. package/dist/sdk/runtime/executor-entry.d.ts.map +0 -1
  458. package/dist/sdk/runtime/executor.d.ts +0 -72
  459. package/dist/sdk/runtime/executor.d.ts.map +0 -1
  460. package/dist/sdk/runtime/executor.test.d.ts +0 -2
  461. package/dist/sdk/runtime/executor.test.d.ts.map +0 -1
  462. package/dist/sdk/runtime/graph-inference.d.ts +0 -35
  463. package/dist/sdk/runtime/graph-inference.d.ts.map +0 -1
  464. package/dist/sdk/runtime/loader.d.ts +0 -70
  465. package/dist/sdk/runtime/loader.d.ts.map +0 -1
  466. package/dist/sdk/runtime/panel.d.ts +0 -9
  467. package/dist/sdk/runtime/panel.d.ts.map +0 -1
  468. package/dist/sdk/runtime/theme.d.ts +0 -28
  469. package/dist/sdk/runtime/theme.d.ts.map +0 -1
  470. package/dist/sdk/runtime/tmux.d.ts +0 -297
  471. package/dist/sdk/runtime/tmux.d.ts.map +0 -1
  472. package/dist/sdk/types.d.ts +0 -295
  473. package/dist/sdk/types.d.ts.map +0 -1
  474. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts +0 -62
  475. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts.map +0 -1
  476. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts +0 -46
  477. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts.map +0 -1
  478. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts +0 -26
  479. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts.map +0 -1
  480. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts +0 -92
  481. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts.map +0 -1
  482. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts +0 -57
  483. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts.map +0 -1
  484. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts +0 -49
  485. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts.map +0 -1
  486. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts +0 -14
  487. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts.map +0 -1
  488. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts +0 -14
  489. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts.map +0 -1
  490. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts +0 -17
  491. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts.map +0 -1
  492. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts +0 -119
  493. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts.map +0 -1
  494. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts +0 -20
  495. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts.map +0 -1
  496. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts +0 -14
  497. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts.map +0 -1
  498. package/dist/sdk/workflows/index.d.ts +0 -24
  499. package/dist/sdk/workflows/index.d.ts.map +0 -1
  500. package/dist/services/config/definitions.d.ts +0 -85
  501. package/dist/services/config/definitions.d.ts.map +0 -1
  502. package/dist/services/system/copy.d.ts +0 -77
  503. package/dist/services/system/copy.d.ts.map +0 -1
  504. package/dist/services/system/detect.d.ts +0 -75
  505. package/dist/services/system/detect.d.ts.map +0 -1
  506. package/tsconfig.json +0 -33
@@ -0,0 +1,543 @@
1
+ # Core API Reference
2
+
3
+ ## Renderer
4
+
5
+ ### createCliRenderer(config?)
6
+
7
+ Creates and initializes the CLI renderer.
8
+
9
+ ```typescript
10
+ import { createCliRenderer, type CliRendererConfig } from "@opentui/core"
11
+
12
+ const renderer = await createCliRenderer({
13
+ targetFPS: 60, // Target frames per second
14
+ exitOnCtrlC: true, // Exit process on Ctrl+C
15
+ consoleOptions: { // Debug console overlay
16
+ position: ConsolePosition.BOTTOM,
17
+ sizePercent: 30,
18
+ startInDebugMode: false,
19
+ },
20
+ onDestroy: () => {}, // Cleanup callback
21
+ })
22
+ ```
23
+
24
+ ### CliRenderer Instance
25
+
26
+ ```typescript
27
+ renderer.root // Root renderable node
28
+ renderer.width // Terminal width in columns
29
+ renderer.height // Terminal height in rows
30
+ renderer.keyInput // Keyboard event emitter
31
+ renderer.console // Console overlay controller
32
+
33
+ renderer.start() // Start render loop
34
+ renderer.stop() // Stop render loop
35
+ renderer.destroy() // Cleanup and exit alternate screen
36
+ renderer.requestRender() // Request a re-render
37
+
38
+ renderer.setCursorStyle(options) // Set cursor style
39
+ renderer.setCursorColor(color) // Set cursor color
40
+ renderer.setMousePointer(style) // Set mouse pointer shape
41
+ ```
42
+
43
+ ### Cursor & Mouse Pointer
44
+
45
+ ```typescript
46
+ import { type CursorStyleOptions, type MousePointerStyle } from "@opentui/core"
47
+
48
+ // Set cursor style (options object)
49
+ renderer.setCursorStyle({
50
+ style: "block", // "block" | "line" | "underline" | "default"
51
+ blinking: true, // Cursor blink
52
+ color: RGBA.fromHex("#FF0000"), // Cursor color
53
+ cursor: "pointer", // Mouse pointer shape
54
+ })
55
+
56
+ // Set mouse pointer shape (OSC 22)
57
+ renderer.setMousePointer("pointer")
58
+ // Available: "default" | "pointer" | "text" | "crosshair" | "move" | "not-allowed"
59
+ ```
60
+
61
+ ### Renderer Events
62
+
63
+ ```typescript
64
+ renderer.on("resize", (width, height) => {}) // Terminal resized
65
+ renderer.on("focus", () => {}) // Terminal window gained focus
66
+ renderer.on("blur", () => {}) // Terminal window lost focus
67
+ renderer.on("theme_mode", (mode) => {}) // "dark" | "light"
68
+ renderer.on("capabilities", (caps) => {}) // Terminal capabilities detected
69
+ renderer.on("selection", (selection) => {}) // Text selection finished (mouse-up)
70
+ renderer.on("destroy", () => {}) // Renderer destroyed
71
+ renderer.on("memory:snapshot", (snapshot) => {}) // Memory snapshot
72
+ renderer.on("debugOverlay:toggle", () => {}) // Debug overlay toggled
73
+ ```
74
+
75
+ ### Console Overlay
76
+
77
+ ```typescript
78
+ renderer.console.show() // Show console overlay
79
+ renderer.console.hide() // Hide console overlay
80
+ renderer.console.toggle() // Toggle visibility/focus
81
+ renderer.console.clear() // Clear console contents
82
+ ```
83
+
84
+ ## Renderables
85
+
86
+ All renderables extend the base `Renderable` class and share common properties.
87
+
88
+ ### Common Properties
89
+
90
+ ```typescript
91
+ interface CommonProps {
92
+ id?: string // Unique identifier
93
+
94
+ // Positioning
95
+ position?: "relative" | "absolute"
96
+ left?: number | string
97
+ top?: number | string
98
+ right?: number | string
99
+ bottom?: number | string
100
+
101
+ // Dimensions
102
+ width?: number | string | "auto"
103
+ height?: number | string | "auto"
104
+ minWidth?: number
105
+ minHeight?: number
106
+ maxWidth?: number
107
+ maxHeight?: number
108
+
109
+ // Flexbox
110
+ flexDirection?: "row" | "column" | "row-reverse" | "column-reverse"
111
+ flexGrow?: number
112
+ flexShrink?: number
113
+ flexBasis?: number | string
114
+ flexWrap?: "nowrap" | "wrap" | "wrap-reverse"
115
+ justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly"
116
+ alignItems?: "flex-start" | "flex-end" | "center" | "stretch" | "baseline"
117
+ alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "stretch" | "baseline"
118
+ alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around"
119
+
120
+ // Spacing
121
+ padding?: number
122
+ paddingTop?: number
123
+ paddingRight?: number
124
+ paddingBottom?: number
125
+ paddingLeft?: number
126
+ margin?: number
127
+ marginTop?: number
128
+ marginRight?: number
129
+ marginBottom?: number
130
+ marginLeft?: number
131
+ gap?: number
132
+
133
+ // Display
134
+ display?: "flex" | "none"
135
+ overflow?: "visible" | "hidden" | "scroll"
136
+ zIndex?: number
137
+ }
138
+ ```
139
+
140
+ ### Renderable Methods
141
+
142
+ ```typescript
143
+ renderable.add(child) // Add child renderable
144
+ renderable.remove(child) // Remove child renderable
145
+ renderable.getRenderable(id) // Find child by ID
146
+ renderable.focus() // Focus this renderable
147
+ renderable.blur() // Remove focus
148
+ renderable.destroy() // Destroy and cleanup
149
+
150
+ renderable.on(event, handler) // Add event listener
151
+ renderable.off(event, handler) // Remove event listener
152
+ renderable.emit(event, ...args) // Emit event
153
+ ```
154
+
155
+ ### TextRenderable
156
+
157
+ Display styled text content.
158
+
159
+ ```typescript
160
+ import { TextRenderable, TextAttributes, t, bold, fg, underline } from "@opentui/core"
161
+
162
+ const text = new TextRenderable(renderer, {
163
+ id: "text",
164
+ content: "Hello World",
165
+ fg: "#FFFFFF", // Foreground color
166
+ bg: "#000000", // Background color
167
+ attributes: TextAttributes.BOLD | TextAttributes.UNDERLINE,
168
+ selectable: true, // Allow text selection
169
+ })
170
+
171
+ // Styled text with template literals
172
+ const styled = new TextRenderable(renderer, {
173
+ content: t`${bold("Bold")} and ${fg("#FF0000")(underline("red underlined"))}`,
174
+ })
175
+ ```
176
+
177
+ **TextAttributes flags:**
178
+ - `TextAttributes.BOLD`
179
+ - `TextAttributes.DIM`
180
+ - `TextAttributes.ITALIC`
181
+ - `TextAttributes.UNDERLINE`
182
+ - `TextAttributes.BLINK`
183
+ - `TextAttributes.INVERSE`
184
+ - `TextAttributes.HIDDEN`
185
+ - `TextAttributes.STRIKETHROUGH`
186
+
187
+ ### BoxRenderable
188
+
189
+ Container with borders and layout.
190
+
191
+ ```typescript
192
+ import { BoxRenderable } from "@opentui/core"
193
+
194
+ const box = new BoxRenderable(renderer, {
195
+ id: "box",
196
+ width: 40,
197
+ height: 10,
198
+ backgroundColor: "#1a1a2e",
199
+ border: true,
200
+ borderStyle: "single" | "double" | "rounded" | "bold" | "none",
201
+ borderColor: "#FFFFFF",
202
+ title: "Panel Title",
203
+ titleAlignment: "left" | "center" | "right",
204
+ onMouseDown: (event) => {},
205
+ onMouseUp: (event) => {},
206
+ onMouseMove: (event) => {},
207
+ })
208
+ ```
209
+
210
+ ### InputRenderable
211
+
212
+ Single-line text input.
213
+
214
+ ```typescript
215
+ import { InputRenderable, InputRenderableEvents } from "@opentui/core"
216
+
217
+ const input = new InputRenderable(renderer, {
218
+ id: "input",
219
+ width: 30,
220
+ placeholder: "Enter text...",
221
+ value: "", // Initial value
222
+ backgroundColor: "#1a1a1a",
223
+ textColor: "#FFFFFF",
224
+ cursorColor: "#00FF00",
225
+ focusedBackgroundColor: "#2a2a2a",
226
+ })
227
+
228
+ input.on(InputRenderableEvents.CHANGE, (value: string) => {
229
+ console.log("Value:", value)
230
+ })
231
+
232
+ input.focus() // Must be focused to receive input
233
+ ```
234
+
235
+ ### SelectRenderable
236
+
237
+ List selection component.
238
+
239
+ ```typescript
240
+ import { SelectRenderable, SelectRenderableEvents } from "@opentui/core"
241
+
242
+ const select = new SelectRenderable(renderer, {
243
+ id: "select",
244
+ width: 30,
245
+ height: 10,
246
+ options: [
247
+ { name: "Option 1", description: "First option", value: "1" },
248
+ { name: "Option 2", description: "Second option", value: "2" },
249
+ ],
250
+ selectedIndex: 0,
251
+ })
252
+
253
+ // Called when Enter is pressed - selection confirmed
254
+ select.on(SelectRenderableEvents.ITEM_SELECTED, (index, option) => {
255
+ console.log("Selected:", option.name)
256
+ performAction(option)
257
+ })
258
+
259
+ // Called when navigating with arrow keys
260
+ select.on(SelectRenderableEvents.SELECTION_CHANGED, (index, option) => {
261
+ console.log("Browsing:", option.name)
262
+ showPreview(option)
263
+ })
264
+
265
+ select.focus() // Navigate with up/down/j/k, select with enter
266
+ ```
267
+
268
+ **Event distinction:**
269
+ - `ITEM_SELECTED` - Enter key pressed, user confirms selection
270
+ - `SELECTION_CHANGED` - Arrow keys, user navigating/browsing options
271
+
272
+ ### TabSelectRenderable
273
+
274
+ Horizontal tab selection.
275
+
276
+ ```typescript
277
+ import { TabSelectRenderable, TabSelectRenderableEvents } from "@opentui/core"
278
+
279
+ const tabs = new TabSelectRenderable(renderer, {
280
+ id: "tabs",
281
+ width: 60,
282
+ options: [
283
+ { name: "Home", description: "Dashboard" },
284
+ { name: "Settings", description: "Configuration" },
285
+ ],
286
+ tabWidth: 20,
287
+ })
288
+
289
+ // Called when Enter is pressed - tab selected
290
+ tabs.on(TabSelectRenderableEvents.ITEM_SELECTED, (index, option) => {
291
+ console.log("Tab selected:", option.name)
292
+ switchToTab(index)
293
+ })
294
+
295
+ // Called when navigating with arrow keys
296
+ tabs.on(TabSelectRenderableEvents.SELECTION_CHANGED, (index, option) => {
297
+ console.log("Browsing tab:", option.name)
298
+ })
299
+
300
+ tabs.focus() // Navigate with left/right/[/], select with enter
301
+ ```
302
+
303
+ **Event distinction** (same as SelectRenderable):
304
+ - `ITEM_SELECTED` - Enter key pressed, user confirms tab
305
+ - `SELECTION_CHANGED` - Arrow keys, user navigating tabs
306
+
307
+ ### ScrollBoxRenderable
308
+
309
+ Scrollable container.
310
+
311
+ ```typescript
312
+ import { ScrollBoxRenderable } from "@opentui/core"
313
+
314
+ const scrollbox = new ScrollBoxRenderable(renderer, {
315
+ id: "scrollbox",
316
+ width: 40,
317
+ height: 20,
318
+ showScrollbar: true,
319
+ scrollbarOptions: {
320
+ showArrows: true,
321
+ trackOptions: {
322
+ foregroundColor: "#7aa2f7",
323
+ backgroundColor: "#414868",
324
+ },
325
+ },
326
+ })
327
+
328
+ // Add content that exceeds viewport
329
+ for (let i = 0; i < 100; i++) {
330
+ scrollbox.add(new TextRenderable(renderer, {
331
+ id: `line-${i}`,
332
+ content: `Line ${i}`,
333
+ }))
334
+ }
335
+
336
+ scrollbox.focus() // Scroll with arrow keys
337
+ ```
338
+
339
+ ### ASCIIFontRenderable
340
+
341
+ ASCII art text.
342
+
343
+ ```typescript
344
+ import { ASCIIFontRenderable, RGBA } from "@opentui/core"
345
+
346
+ const title = new ASCIIFontRenderable(renderer, {
347
+ id: "title",
348
+ text: "OPENTUI",
349
+ font: "tiny" | "block" | "slick" | "shade",
350
+ color: RGBA.fromHex("#FFFFFF"),
351
+ })
352
+ ```
353
+
354
+ ### FrameBufferRenderable
355
+
356
+ Low-level 2D rendering surface.
357
+
358
+ ```typescript
359
+ import { FrameBufferRenderable, RGBA } from "@opentui/core"
360
+
361
+ const canvas = new FrameBufferRenderable(renderer, {
362
+ id: "canvas",
363
+ width: 50,
364
+ height: 20,
365
+ })
366
+
367
+ // Direct pixel manipulation
368
+ canvas.frameBuffer.fillRect(10, 5, 20, 8, RGBA.fromHex("#FF0000"))
369
+ canvas.frameBuffer.drawText("Custom", 12, 7, RGBA.fromHex("#FFFFFF"))
370
+ canvas.frameBuffer.setCell(x, y, char, fg, bg)
371
+ ```
372
+
373
+ ## Constructs (VNode API)
374
+
375
+ Declarative wrappers that create VNodes instead of direct instances.
376
+
377
+ ```typescript
378
+ import { Text, Box, Input, Select, instantiate, delegate } from "@opentui/core"
379
+
380
+ // Create VNode tree
381
+ const ui = Box(
382
+ { border: true, padding: 1 },
383
+ Text({ content: "Hello" }),
384
+ Input({ placeholder: "Type here..." }),
385
+ )
386
+
387
+ // Instantiate onto renderer
388
+ renderer.root.add(ui)
389
+
390
+ // Delegate focus to nested element
391
+ const form = delegate(
392
+ { focus: "email-input" },
393
+ Box(
394
+ {},
395
+ Text({ content: "Email:" }),
396
+ Input({ id: "email-input", placeholder: "you@example.com" }),
397
+ ),
398
+ )
399
+ form.focus() // Focuses the input, not the box
400
+ ```
401
+
402
+ ## Colors (RGBA)
403
+
404
+ The `RGBA` class is exported from `@opentui/core` but works across **all frameworks** (Core, React, Solid). Use it for programmatic color manipulation.
405
+
406
+ ### Creating Colors
407
+
408
+ ```typescript
409
+ import { RGBA, parseColor } from "@opentui/core"
410
+
411
+ // From hex string (most common)
412
+ RGBA.fromHex("#FF0000") // Full hex
413
+ RGBA.fromHex("#F00") // Short hex
414
+
415
+ // From integers (0-255 range)
416
+ RGBA.fromInts(255, 0, 0, 255) // r, g, b, a - fully opaque red
417
+ RGBA.fromInts(255, 0, 0, 128) // 50% transparent red
418
+ RGBA.fromInts(0, 0, 0, 0) // Fully transparent
419
+
420
+ // From normalized floats (0.0-1.0 range)
421
+ RGBA.fromValues(1.0, 0.0, 0.0, 1.0) // Fully opaque red
422
+ RGBA.fromValues(0.1, 0.1, 0.1, 0.7) // Dark gray, 70% opaque
423
+ RGBA.fromValues(0.0, 0.5, 1.0, 1.0) // Light blue
424
+ ```
425
+
426
+ ### Common Color Patterns
427
+
428
+ ```typescript
429
+ // Theme colors
430
+ const primary = RGBA.fromHex("#7aa2f7") // Tokyo Night blue
431
+ const background = RGBA.fromHex("#1a1a2e")
432
+ const foreground = RGBA.fromHex("#c0caf5")
433
+ const error = RGBA.fromHex("#f7768e")
434
+
435
+ // Overlays and shadows
436
+ const modalOverlay = RGBA.fromValues(0.0, 0.0, 0.0, 0.5) // 50% black
437
+ const shadow = RGBA.fromInts(0, 0, 0, 77) // 30% black
438
+
439
+ // Borders
440
+ const activeBorder = RGBA.fromHex("#7aa2f7")
441
+ const inactiveBorder = RGBA.fromInts(65, 72, 104, 255)
442
+ ```
443
+
444
+ ### parseColor Utility
445
+
446
+ ```typescript
447
+ // Accepts multiple formats
448
+ parseColor("#FF0000") // Hex string
449
+ parseColor("red") // CSS color name
450
+ parseColor("transparent") // Special values
451
+ parseColor(RGBA.fromHex("#F00")) // Pass-through RGBA objects
452
+ ```
453
+
454
+ ### When to Use Each Method
455
+
456
+ | Method | Use When |
457
+ |--------|----------|
458
+ | `fromHex()` | Working with design specs, CSS colors, config files |
459
+ | `fromInts()` | You have 8-bit values (0-255), common in graphics |
460
+ | `fromValues()` | Doing color interpolation, animations, math |
461
+ | `parseColor()` | Accepting user input or config that could be any format |
462
+
463
+ ### Using RGBA in React/Solid
464
+
465
+ ```tsx
466
+ // Import from @opentui/core, use in any framework
467
+ import { RGBA } from "@opentui/core"
468
+
469
+ // React or Solid component
470
+ function ThemedBox() {
471
+ const bg = RGBA.fromHex("#1a1a2e")
472
+ const border = RGBA.fromInts(122, 162, 247, 255)
473
+
474
+ return (
475
+ <box backgroundColor={bg} borderColor={border} border>
476
+ <text fg={RGBA.fromHex("#c0caf5")}>Works everywhere!</text>
477
+ </box>
478
+ )
479
+ }
480
+ ```
481
+
482
+ Color props in React/Solid accept both string formats (`"#FF0000"`, `"red"`) and `RGBA` objects.
483
+
484
+ ## Keyboard Input
485
+
486
+ ```typescript
487
+ import { type KeyEvent } from "@opentui/core"
488
+
489
+ renderer.keyInput.on("keypress", (key: KeyEvent) => {
490
+ console.log(key.name) // "a", "escape", "f1", etc.
491
+ console.log(key.sequence) // Raw escape sequence
492
+ console.log(key.ctrl) // Ctrl held
493
+ console.log(key.shift) // Shift held
494
+ console.log(key.meta) // Alt held
495
+ console.log(key.option) // Option held (macOS)
496
+ console.log(key.eventType) // "press" | "release" | "repeat"
497
+ })
498
+
499
+ renderer.keyInput.on("paste", (event: PasteEvent) => {
500
+ const text = decodePasteBytes(event.bytes)
501
+ console.log("Pasted:", text)
502
+ })
503
+ ```
504
+
505
+ ## Animation Timeline
506
+
507
+ ```typescript
508
+ import { Timeline, engine } from "@opentui/core"
509
+
510
+ const timeline = new Timeline({
511
+ duration: 2000,
512
+ loop: false,
513
+ autoplay: true,
514
+ })
515
+
516
+ timeline.add(
517
+ { width: 0 },
518
+ {
519
+ width: 50,
520
+ duration: 1000,
521
+ ease: "easeOutQuad",
522
+ onUpdate: (anim) => {
523
+ box.setWidth(anim.targets[0].width)
524
+ },
525
+ },
526
+ )
527
+
528
+ engine.attach(renderer)
529
+ engine.addTimeline(timeline)
530
+ ```
531
+
532
+ ## Type Exports
533
+
534
+ ```typescript
535
+ import type {
536
+ CliRenderer,
537
+ CliRendererConfig,
538
+ RenderContext,
539
+ KeyEvent,
540
+ Renderable,
541
+ // ... and more
542
+ } from "@opentui/core"
543
+ ```
@@ -0,0 +1,168 @@
1
+ # Core Configuration
2
+
3
+ ## Renderer Configuration
4
+
5
+ ### createCliRenderer Options
6
+
7
+ ```typescript
8
+ import { createCliRenderer, ConsolePosition } from "@opentui/core"
9
+
10
+ const renderer = await createCliRenderer({
11
+ // Rendering
12
+ targetFPS: 60, // Target frames per second (default: 60)
13
+
14
+ // Behavior
15
+ exitOnCtrlC: true, // Exit on Ctrl+C (default: true)
16
+
17
+ // Console overlay
18
+ consoleOptions: {
19
+ position: ConsolePosition.BOTTOM, // BOTTOM | TOP | LEFT | RIGHT
20
+ sizePercent: 30, // Percentage of screen
21
+ colorInfo: "#00FFFF",
22
+ colorWarn: "#FFFF00",
23
+ colorError: "#FF0000",
24
+ colorDebug: "#888888",
25
+ startInDebugMode: false,
26
+ },
27
+
28
+ // Lifecycle
29
+ onDestroy: () => {
30
+ // Cleanup callback
31
+ },
32
+ })
33
+ ```
34
+
35
+ ## Environment Variables
36
+
37
+ OpenTUI respects several environment variables for configuration and debugging.
38
+
39
+ ### Debug & Development
40
+
41
+ | Variable | Type | Default | Description |
42
+ |----------|------|---------|-------------|
43
+ | `OTUI_DEBUG` | boolean | false | Enable debug mode, capture raw input |
44
+ | `OTUI_DEBUG_FFI` | boolean | false | Debug logging for FFI bindings |
45
+ | `OTUI_TRACE_FFI` | boolean | false | Tracing for FFI bindings |
46
+ | `OTUI_SHOW_STATS` | boolean | false | Show debug overlay at startup |
47
+ | `OTUI_DUMP_CAPTURES` | boolean | false | Dump captured output on exit |
48
+
49
+ ### Console
50
+
51
+ | Variable | Type | Default | Description |
52
+ |----------|------|---------|-------------|
53
+ | `OTUI_USE_CONSOLE` | boolean | true | Enable console capture |
54
+ | `SHOW_CONSOLE` | boolean | false | Show console at startup |
55
+
56
+ ### Rendering
57
+
58
+ | Variable | Type | Default | Description |
59
+ |----------|------|---------|-------------|
60
+ | `OTUI_NO_NATIVE_RENDER` | boolean | false | Disable ANSI output (for debugging) |
61
+ | `OTUI_USE_ALTERNATE_SCREEN` | boolean | true | Use alternate screen buffer |
62
+ | `OTUI_OVERRIDE_STDOUT` | boolean | true | Override stdout stream |
63
+
64
+ ### Terminal Capabilities
65
+
66
+ | Variable | Type | Default | Description |
67
+ |----------|------|---------|-------------|
68
+ | `OPENTUI_NO_GRAPHICS` | boolean | false | Disable Kitty graphics protocol |
69
+ | `OPENTUI_FORCE_UNICODE` | boolean | false | Force Mode 2026 Unicode support |
70
+ | `OPENTUI_FORCE_WCWIDTH` | boolean | false | Use wcwidth for character width |
71
+ | `OPENTUI_FORCE_NOZWJ` | boolean | false | Disable ZWJ emoji joining |
72
+ | `OPENTUI_FORCE_EXPLICIT_WIDTH` | string | - | Force explicit width ("true"/"false") |
73
+
74
+ ### Tree-sitter (Syntax Highlighting)
75
+
76
+ | Variable | Type | Default | Description |
77
+ |----------|------|---------|-------------|
78
+ | `OTUI_TS_STYLE_WARN` | boolean | false | Warn on missing syntax styles |
79
+ | `OTUI_TREE_SITTER_WORKER_PATH` | string | "" | Custom tree-sitter worker path |
80
+
81
+ ### XDG Paths
82
+
83
+ | Variable | Type | Default | Description |
84
+ |----------|------|---------|-------------|
85
+ | `XDG_CONFIG_HOME` | string | "" | User config directory |
86
+ | `XDG_DATA_HOME` | string | "" | User data directory |
87
+
88
+ ## Usage Examples
89
+
90
+ ### Development Mode
91
+
92
+ ```bash
93
+ # Show debug overlay and console
94
+ OTUI_SHOW_STATS=true SHOW_CONSOLE=true bun run src/index.ts
95
+
96
+ # Debug FFI issues
97
+ OTUI_DEBUG_FFI=true OTUI_TRACE_FFI=true bun run src/index.ts
98
+
99
+ # Disable native rendering for testing
100
+ OTUI_NO_NATIVE_RENDER=true bun run src/index.ts
101
+ ```
102
+
103
+ ### Terminal Compatibility
104
+
105
+ ```bash
106
+ # Force wcwidth for problematic terminals
107
+ OPENTUI_FORCE_WCWIDTH=true bun run src/index.ts
108
+
109
+ # Disable graphics for SSH sessions
110
+ OPENTUI_NO_GRAPHICS=true bun run src/index.ts
111
+ ```
112
+
113
+ ## Project Setup
114
+
115
+ ### package.json
116
+
117
+ ```json
118
+ {
119
+ "name": "my-tui-app",
120
+ "type": "module",
121
+ "scripts": {
122
+ "start": "bun run src/index.ts",
123
+ "dev": "bun --watch run src/index.ts",
124
+ "test": "bun test"
125
+ },
126
+ "dependencies": {
127
+ "@opentui/core": "latest"
128
+ },
129
+ "devDependencies": {
130
+ "@types/bun": "latest",
131
+ "typescript": "latest"
132
+ }
133
+ }
134
+ ```
135
+
136
+ ### tsconfig.json
137
+
138
+ ```json
139
+ {
140
+ "compilerOptions": {
141
+ "lib": ["ESNext"],
142
+ "target": "ESNext",
143
+ "module": "NodeNext",
144
+ "moduleResolution": "NodeNext",
145
+ "strict": true,
146
+ "skipLibCheck": true,
147
+ "noEmit": true,
148
+ "types": ["bun-types"]
149
+ },
150
+ "include": ["src/**/*"]
151
+ }
152
+ ```
153
+
154
+ > **Note**: OpenTUI uses `NodeNext` module resolution. All internal imports use `.js` extensions. If you use `bundler` resolution, imports still work but `NodeNext` is recommended for compatibility.
155
+
156
+ ## Building Native Code
157
+
158
+ Native code changes require rebuilding:
159
+
160
+ ```bash
161
+ # From repo root (if developing OpenTUI itself)
162
+ bun run build
163
+
164
+ # Zig is required for native compilation
165
+ # Install: https://ziglang.org/learn/getting-started/
166
+ ```
167
+
168
+ **Note**: TypeScript changes do NOT require building. Bun runs TypeScript directly.