@bastani/atomic 0.5.11 → 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,436 @@
1
+ # React API Reference
2
+
3
+ ## Rendering
4
+
5
+ ### createRoot(renderer)
6
+
7
+ Creates a React root for rendering.
8
+
9
+ ```tsx
10
+ import { createCliRenderer } from "@opentui/core"
11
+ import { createRoot } from "@opentui/react"
12
+
13
+ const renderer = await createCliRenderer({
14
+ exitOnCtrlC: false, // Handle Ctrl+C yourself
15
+ })
16
+
17
+ const root = createRoot(renderer)
18
+ root.render(<App />)
19
+ ```
20
+
21
+ ## Hooks
22
+
23
+ ### useRenderer()
24
+
25
+ Access the OpenTUI renderer instance.
26
+
27
+ ```tsx
28
+ import { useRenderer } from "@opentui/react"
29
+ import { useEffect } from "react"
30
+
31
+ function App() {
32
+ const renderer = useRenderer()
33
+
34
+ useEffect(() => {
35
+ // Access renderer properties
36
+ console.log(`Terminal: ${renderer.width}x${renderer.height}`)
37
+
38
+ // Show debug console
39
+ renderer.console.show()
40
+
41
+ // Access theme mode (dark/light based on terminal settings)
42
+ console.log(`Theme: ${renderer.themeMode}`) // "dark" | "light" | null
43
+ }, [renderer])
44
+
45
+ return <text>Hello</text>
46
+ }
47
+
48
+ // Listen for theme mode changes
49
+ function ThemedApp() {
50
+ const renderer = useRenderer()
51
+ const [theme, setTheme] = useState(renderer.themeMode ?? "dark")
52
+
53
+ useEffect(() => {
54
+ const handler = (mode: "dark" | "light") => setTheme(mode)
55
+ renderer.on("theme_mode", handler)
56
+ return () => renderer.off("theme_mode", handler)
57
+ }, [renderer])
58
+
59
+ return (
60
+ <box backgroundColor={theme === "dark" ? "#1a1a2e" : "#ffffff"}>
61
+ <text fg={theme === "dark" ? "#fff" : "#000"}>
62
+ Current theme: {theme}
63
+ </text>
64
+ </box>
65
+ )
66
+ }
67
+ ```
68
+
69
+ ### useKeyboard(handler, options?)
70
+
71
+ Handle keyboard events.
72
+
73
+ ```tsx
74
+ import { useKeyboard, useRenderer } from "@opentui/react"
75
+
76
+ function App() {
77
+ const renderer = useRenderer()
78
+
79
+ useKeyboard((key) => {
80
+ if (key.name === "escape") {
81
+ renderer.destroy() // Never use process.exit() directly!
82
+ }
83
+ if (key.ctrl && key.name === "s") {
84
+ saveDocument()
85
+ }
86
+ })
87
+
88
+ return <text>Press ESC to exit</text>
89
+ }
90
+
91
+ // With release events
92
+ function GameControls() {
93
+ const [pressed, setPressed] = useState(new Set<string>())
94
+
95
+ useKeyboard(
96
+ (event) => {
97
+ setPressed(keys => {
98
+ const newKeys = new Set(keys)
99
+ if (event.eventType === "release") {
100
+ newKeys.delete(event.name)
101
+ } else {
102
+ newKeys.add(event.name)
103
+ }
104
+ return newKeys
105
+ })
106
+ },
107
+ { release: true } // Include release events
108
+ )
109
+
110
+ return <text>Pressed: {Array.from(pressed).join(", ")}</text>
111
+ }
112
+ ```
113
+
114
+ **Options:**
115
+ - `release?: boolean` - Include key release events (default: false)
116
+
117
+ **KeyEvent properties:**
118
+ - `name: string` - Key name ("a", "escape", "f1", etc.)
119
+ - `sequence: string` - Raw escape sequence
120
+ - `ctrl: boolean` - Ctrl modifier
121
+ - `shift: boolean` - Shift modifier
122
+ - `meta: boolean` - Alt modifier
123
+ - `option: boolean` - Option modifier (macOS)
124
+ - `eventType: "press" | "release" | "repeat"`
125
+ - `repeated: boolean` - Key is being held
126
+
127
+ ### useOnResize(callback)
128
+
129
+ Handle terminal resize events.
130
+
131
+ ```tsx
132
+ import { useOnResize } from "@opentui/react"
133
+
134
+ function App() {
135
+ useOnResize((width, height) => {
136
+ console.log(`Resized to ${width}x${height}`)
137
+ })
138
+
139
+ return <text>Resize the terminal</text>
140
+ }
141
+ ```
142
+
143
+ ### useTerminalDimensions()
144
+
145
+ Get reactive terminal dimensions.
146
+
147
+ ```tsx
148
+ import { useTerminalDimensions } from "@opentui/react"
149
+
150
+ function ResponsiveLayout() {
151
+ const { width, height } = useTerminalDimensions()
152
+
153
+ return (
154
+ <box flexDirection={width > 80 ? "row" : "column"}>
155
+ <box flexGrow={1}>
156
+ <text>Width: {width}</text>
157
+ </box>
158
+ <box flexGrow={1}>
159
+ <text>Height: {height}</text>
160
+ </box>
161
+ </box>
162
+ )
163
+ }
164
+ ```
165
+
166
+ ### useTimeline(options?)
167
+
168
+ Create animations with the timeline system.
169
+
170
+ ```tsx
171
+ import { useTimeline } from "@opentui/react"
172
+ import { useEffect, useState } from "react"
173
+
174
+ function AnimatedBox() {
175
+ const [width, setWidth] = useState(0)
176
+
177
+ const timeline = useTimeline({
178
+ duration: 2000,
179
+ loop: false,
180
+ })
181
+
182
+ useEffect(() => {
183
+ timeline.add(
184
+ { width: 0 },
185
+ {
186
+ width: 50,
187
+ duration: 2000,
188
+ ease: "easeOutQuad",
189
+ onUpdate: (anim) => {
190
+ setWidth(Math.round(anim.targets[0].width))
191
+ },
192
+ }
193
+ )
194
+ }, [timeline])
195
+
196
+ return <box style={{ width, height: 3, backgroundColor: "#6a5acd" }} />
197
+ }
198
+ ```
199
+
200
+ **Options:**
201
+ - `duration?: number` - Default duration (ms)
202
+ - `loop?: boolean` - Loop the timeline
203
+ - `autoplay?: boolean` - Auto-start (default: true)
204
+ - `onComplete?: () => void` - Completion callback
205
+ - `onPause?: () => void` - Pause callback
206
+
207
+ **Timeline methods:**
208
+ - `add(target, properties, startTime?)` - Add animation
209
+ - `play()` - Start playback
210
+ - `pause()` - Pause playback
211
+ - `restart()` - Restart from beginning
212
+
213
+ ## Components
214
+
215
+ ### Text Component
216
+
217
+ ```tsx
218
+ <text
219
+ content="Hello" // Or use children
220
+ fg="#FFFFFF" // Foreground color
221
+ bg="#000000" // Background color
222
+ selectable={true} // Allow text selection
223
+ >
224
+ {/* Use nested modifier tags for styling */}
225
+ <span fg="red">Red</span>
226
+ <strong>Bold</strong>
227
+ <em>Italic</em>
228
+ <u>Underline</u>
229
+ <br />
230
+ <a href="https://...">Link</a>
231
+ </text>
232
+ ```
233
+
234
+ > **Note**: Do NOT use `bold`, `italic`, `underline` as props on `<text>`. Use nested modifier tags like `<strong>`, `<em>`, `<u>` instead.
235
+
236
+ ### Box Component
237
+
238
+ ```tsx
239
+ <box
240
+ // Borders
241
+ border // Enable border
242
+ borderStyle="single" // single | double | rounded | bold
243
+ borderColor="#FFFFFF"
244
+ title="Title"
245
+ titleAlignment="center" // left | center | right
246
+
247
+ // Colors
248
+ backgroundColor="#1a1a2e"
249
+
250
+ // Layout (see layout/REFERENCE.md)
251
+ flexDirection="row"
252
+ justifyContent="center"
253
+ alignItems="center"
254
+ gap={2}
255
+
256
+ // Spacing
257
+ padding={2}
258
+ paddingTop={1}
259
+ paddingX={2} // Horizontal (left + right)
260
+ paddingY={1} // Vertical (top + bottom)
261
+ margin={1}
262
+ marginX={2} // Horizontal (left + right)
263
+ marginY={1} // Vertical (top + bottom)
264
+
265
+ // Dimensions
266
+ width={40}
267
+ height={10}
268
+ flexGrow={1}
269
+
270
+ // Focus
271
+ focusable // Allow box to receive focus
272
+ focused={isFocused} // Controlled focus state
273
+
274
+ // Events
275
+ onMouseDown={(e) => {}}
276
+ onMouseUp={(e) => {}}
277
+ onMouseMove={(e) => {}}
278
+ >
279
+ {children}
280
+ </box>
281
+ ```
282
+
283
+ ### Scrollbox Component
284
+
285
+ ```tsx
286
+ <scrollbox
287
+ focused // Enable keyboard scrolling
288
+ style={{
289
+ rootOptions: { backgroundColor: "#24283b" },
290
+ wrapperOptions: { backgroundColor: "#1f2335" },
291
+ viewportOptions: { backgroundColor: "#1a1b26" },
292
+ contentOptions: { backgroundColor: "#16161e" },
293
+ scrollbarOptions: {
294
+ showArrows: true,
295
+ trackOptions: {
296
+ foregroundColor: "#7aa2f7",
297
+ backgroundColor: "#414868",
298
+ },
299
+ },
300
+ }}
301
+ >
302
+ {/* Scrollable content */}
303
+ {items.map((item, i) => (
304
+ <box key={i}>
305
+ <text>{item}</text>
306
+ </box>
307
+ ))}
308
+ </scrollbox>
309
+ ```
310
+
311
+ ### Input Component
312
+
313
+ ```tsx
314
+ <input
315
+ value={value}
316
+ onChange={(newValue) => setValue(newValue)}
317
+ placeholder="Enter text..."
318
+ focused // Start focused
319
+ width={30}
320
+ backgroundColor="#1a1a1a"
321
+ textColor="#FFFFFF"
322
+ cursorColor="#00FF00"
323
+ focusedBackgroundColor="#2a2a2a"
324
+ />
325
+ ```
326
+
327
+ ### Textarea Component
328
+
329
+ ```tsx
330
+ <textarea
331
+ value={text}
332
+ onChange={(newValue) => setText(newValue)}
333
+ placeholder="Enter multiple lines..."
334
+ focused
335
+ width={40}
336
+ height={10}
337
+ showLineNumbers
338
+ wrapText
339
+ />
340
+ ```
341
+
342
+ ### Select Component
343
+
344
+ ```tsx
345
+ <select
346
+ options={[
347
+ { name: "Option 1", description: "First option", value: "1" },
348
+ { name: "Option 2", description: "Second option", value: "2" },
349
+ ]}
350
+ onChange={(index, option) => setSelected(option)}
351
+ selectedIndex={0}
352
+ focused
353
+ showScrollIndicator
354
+ height={8}
355
+ />
356
+ ```
357
+
358
+ ### Tab Select Component
359
+
360
+ ```tsx
361
+ <tab-select
362
+ options={[
363
+ { name: "Home", description: "Dashboard" },
364
+ { name: "Settings", description: "Configuration" },
365
+ ]}
366
+ onChange={(index, option) => setTab(option)}
367
+ tabWidth={20}
368
+ focused
369
+ />
370
+ ```
371
+
372
+ ### ASCII Font Component
373
+
374
+ ```tsx
375
+ <ascii-font
376
+ text="TITLE"
377
+ font="tiny" // tiny | block | slick | shade
378
+ color="#FFFFFF"
379
+ />
380
+ ```
381
+
382
+ ### Code Component
383
+
384
+ ```tsx
385
+ <code
386
+ code={sourceCode}
387
+ language="typescript"
388
+ showLineNumbers
389
+ highlightLines={[1, 5, 10]}
390
+ />
391
+ ```
392
+
393
+ ### Line Number Component
394
+
395
+ ```tsx
396
+ <line-number
397
+ code={sourceCode}
398
+ language="typescript"
399
+ startLine={1}
400
+ highlightedLines={[5]}
401
+ diagnostics={[
402
+ { line: 3, severity: "error", message: "Syntax error" }
403
+ ]}
404
+ />
405
+ ```
406
+
407
+ ### Diff Component
408
+
409
+ ```tsx
410
+ <diff
411
+ oldCode={originalCode}
412
+ newCode={modifiedCode}
413
+ language="typescript"
414
+ mode="unified" // unified | split
415
+ syncScroll // Sync scroll between split view panes
416
+ showLineNumbers
417
+ />
418
+ ```
419
+
420
+ ## Type Exports
421
+
422
+ ```tsx
423
+ import type {
424
+ // Component props
425
+ TextProps,
426
+ BoxProps,
427
+ InputProps,
428
+ SelectProps,
429
+
430
+ // Hook types
431
+ KeyEvent,
432
+
433
+ // From core
434
+ CliRenderer,
435
+ } from "@opentui/react"
436
+ ```
@@ -0,0 +1,302 @@
1
+ # React Configuration
2
+
3
+ ## Project Setup
4
+
5
+ ### Quick Start
6
+
7
+ ```bash
8
+ bunx create-tui@latest -t react my-app
9
+ cd my-app && bun install
10
+ ```
11
+
12
+ The CLI creates the `my-app` directory for you - it must **not already exist**.
13
+
14
+ Options: `--no-git` (skip git init), `--no-install` (skip bun install)
15
+
16
+ ### Manual Setup
17
+
18
+ ```bash
19
+ mkdir my-tui && cd my-tui
20
+ bun init
21
+ bun install @opentui/react @opentui/core react
22
+ ```
23
+
24
+ ## TypeScript Configuration
25
+
26
+ ### tsconfig.json
27
+
28
+ ```json
29
+ {
30
+ "compilerOptions": {
31
+ "lib": ["ESNext", "DOM"],
32
+ "target": "ESNext",
33
+ "module": "NodeNext",
34
+ "moduleResolution": "NodeNext",
35
+
36
+ "jsx": "react-jsx",
37
+ "jsxImportSource": "@opentui/react",
38
+
39
+ "strict": true,
40
+ "skipLibCheck": true,
41
+ "noEmit": true,
42
+ "types": ["bun-types"]
43
+ },
44
+ "include": ["src/**/*"]
45
+ }
46
+ ```
47
+
48
+ **Critical settings:**
49
+ - `jsx: "react-jsx"` - Use the new JSX transform
50
+ - `jsxImportSource: "@opentui/react"` - Import JSX runtime from OpenTUI
51
+ - `module` / `moduleResolution: "NodeNext"` - Recommended for OpenTUI compatibility
52
+
53
+ ### Why DOM lib?
54
+
55
+ The `DOM` lib is needed for React types. OpenTUI's JSX types extend React's.
56
+
57
+ ## Package Configuration
58
+
59
+ ### package.json
60
+
61
+ ```json
62
+ {
63
+ "name": "my-tui-app",
64
+ "type": "module",
65
+ "scripts": {
66
+ "start": "bun run src/index.tsx",
67
+ "dev": "bun --watch run src/index.tsx",
68
+ "test": "bun test",
69
+ "build": "bun build src/index.tsx --outdir=dist --target=bun"
70
+ },
71
+ "dependencies": {
72
+ "@opentui/core": "latest",
73
+ "@opentui/react": "latest",
74
+ "react": ">=19.0.0"
75
+ },
76
+ "devDependencies": {
77
+ "@types/bun": "latest",
78
+ "@types/react": ">=19.0.0",
79
+ "typescript": "latest"
80
+ }
81
+ }
82
+ ```
83
+
84
+ ## Project Structure
85
+
86
+ Recommended structure:
87
+
88
+ ```
89
+ my-tui-app/
90
+ ├── src/
91
+ │ ├── components/
92
+ │ │ ├── Header.tsx
93
+ │ │ ├── Sidebar.tsx
94
+ │ │ └── MainContent.tsx
95
+ │ ├── hooks/
96
+ │ │ └── useAppState.ts
97
+ │ ├── App.tsx
98
+ │ └── index.tsx
99
+ ├── package.json
100
+ └── tsconfig.json
101
+ ```
102
+
103
+ ### Entry Point (src/index.tsx)
104
+
105
+ ```tsx
106
+ import { createCliRenderer } from "@opentui/core"
107
+ import { createRoot } from "@opentui/react"
108
+ import { App } from "./App"
109
+
110
+ const renderer = await createCliRenderer({
111
+ exitOnCtrlC: true,
112
+ })
113
+
114
+ createRoot(renderer).render(<App />)
115
+ ```
116
+
117
+ ### App Component (src/App.tsx)
118
+
119
+ ```tsx
120
+ import { Header } from "./components/Header"
121
+ import { Sidebar } from "./components/Sidebar"
122
+ import { MainContent } from "./components/MainContent"
123
+
124
+ export function App() {
125
+ return (
126
+ <box flexDirection="column" width="100%" height="100%">
127
+ <Header />
128
+ <box flexDirection="row" flexGrow={1}>
129
+ <Sidebar />
130
+ <MainContent />
131
+ </box>
132
+ </box>
133
+ )
134
+ }
135
+ ```
136
+
137
+ ## Renderer Configuration
138
+
139
+ ### createCliRenderer Options
140
+
141
+ ```tsx
142
+ import { createCliRenderer, ConsolePosition } from "@opentui/core"
143
+
144
+ const renderer = await createCliRenderer({
145
+ // Rendering
146
+ targetFPS: 60,
147
+
148
+ // Behavior
149
+ exitOnCtrlC: true, // Set false to handle Ctrl+C yourself
150
+ autoFocus: true, // Auto-focus elements on click (default: true)
151
+ useMouse: true, // Enable mouse support (default: true)
152
+
153
+ // Debug console
154
+ consoleOptions: {
155
+ position: ConsolePosition.BOTTOM,
156
+ sizePercent: 30,
157
+ startInDebugMode: false,
158
+ },
159
+
160
+ // Cleanup
161
+ onDestroy: () => {
162
+ // Cleanup code
163
+ },
164
+ })
165
+ ```
166
+
167
+ ## Building for Distribution
168
+
169
+ ### Bundling with Bun
170
+
171
+ ```typescript
172
+ // build.ts
173
+ await Bun.build({
174
+ entrypoints: ["./src/index.tsx"],
175
+ outdir: "./dist",
176
+ target: "bun",
177
+ minify: true,
178
+ })
179
+ ```
180
+
181
+ Run: `bun run build.ts`
182
+
183
+ ### Creating Executables
184
+
185
+ ```typescript
186
+ // build.ts
187
+ await Bun.build({
188
+ entrypoints: ["./src/index.tsx"],
189
+ outdir: "./dist",
190
+ target: "bun",
191
+ compile: {
192
+ target: "bun-darwin-arm64", // or bun-linux-x64, etc.
193
+ outfile: "my-app",
194
+ },
195
+ })
196
+ ```
197
+
198
+ ## Environment Variables
199
+
200
+ Create `.env` for development:
201
+
202
+ ```env
203
+ # Debug settings
204
+ OTUI_SHOW_STATS=false
205
+ SHOW_CONSOLE=false
206
+
207
+ # App settings
208
+ API_URL=https://api.example.com
209
+ ```
210
+
211
+ Bun auto-loads `.env` files. Access via `process.env`:
212
+
213
+ ```tsx
214
+ const apiUrl = process.env.API_URL
215
+ ```
216
+
217
+ ## React DevTools
218
+
219
+ OpenTUI React supports React DevTools for debugging.
220
+
221
+ ### Setup
222
+
223
+ 1. Install DevTools as a dev dependency (must use version 7):
224
+ ```bash
225
+ bun add react-devtools-core@7 -d
226
+ ```
227
+
228
+ 2. Run DevTools standalone app:
229
+ ```bash
230
+ npx react-devtools@7
231
+ ```
232
+
233
+ 3. Start your app with `DEV=true` environment variable:
234
+ ```bash
235
+ DEV=true bun run src/index.tsx
236
+ ```
237
+
238
+ **Important**: Auto-connect to DevTools ONLY happens when `DEV=true` is set. Without this environment variable, the DevTools connection code is not loaded.
239
+
240
+ ### How It Works
241
+
242
+ OpenTUI checks for `process.env["DEV"] === "true"` at startup. When true, it dynamically imports `react-devtools-core` and connects to the standalone DevTools app.
243
+
244
+ ## Testing Configuration
245
+
246
+ ### Test Setup
247
+
248
+ ```typescript
249
+ // src/test-utils.tsx
250
+ import { createTestRenderer } from "@opentui/core/testing"
251
+ import { createRoot } from "@opentui/react"
252
+
253
+ export async function renderForTest(
254
+ element: React.ReactElement,
255
+ options = { width: 80, height: 24 }
256
+ ) {
257
+ const testSetup = await createTestRenderer(options)
258
+ createRoot(testSetup.renderer).render(element)
259
+ return testSetup
260
+ }
261
+ ```
262
+
263
+ ### Test Example
264
+
265
+ ```typescript
266
+ // src/components/Counter.test.tsx
267
+ import { test, expect } from "bun:test"
268
+ import { renderForTest } from "../test-utils"
269
+ import { Counter } from "./Counter"
270
+
271
+ test("Counter renders initial value", async () => {
272
+ const { snapshot } = await renderForTest(<Counter initialValue={5} />)
273
+ expect(snapshot()).toContain("Count: 5")
274
+ })
275
+ ```
276
+
277
+ ## Common Issues
278
+
279
+ ### JSX Types Not Working
280
+
281
+ Ensure `jsxImportSource` is set:
282
+
283
+ ```json
284
+ {
285
+ "compilerOptions": {
286
+ "jsx": "react-jsx",
287
+ "jsxImportSource": "@opentui/react"
288
+ }
289
+ }
290
+ ```
291
+
292
+ ### React Version Mismatch
293
+
294
+ Ensure React 19+:
295
+
296
+ ```bash
297
+ bun install react@19 @types/react@19
298
+ ```
299
+
300
+ ### Module Resolution Errors
301
+
302
+ Use `moduleResolution: "bundler"` for Bun compatibility.