gtm-ui-native 0.0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. gtm_ui_native-0.0.3.1/.agents/skills/components/SKILL.md +321 -0
  2. gtm_ui_native-0.0.3.1/.agents/skills/getting-started/SKILL.md +136 -0
  3. gtm_ui_native-0.0.3.1/.agents/skills/rwx/SKILL.md +118 -0
  4. gtm_ui_native-0.0.3.1/.agents/skills/theming/SKILL.md +468 -0
  5. gtm_ui_native-0.0.3.1/.claude/settings.json +101 -0
  6. gtm_ui_native-0.0.3.1/.entire/.gitignore +5 -0
  7. gtm_ui_native-0.0.3.1/.entire/agent-guide.md +90 -0
  8. gtm_ui_native-0.0.3.1/.entire/runners/trail-confidence.json +37 -0
  9. gtm_ui_native-0.0.3.1/.entire/runners/trail-drift.json +37 -0
  10. gtm_ui_native-0.0.3.1/.entire/runners/trail-review.json +36 -0
  11. gtm_ui_native-0.0.3.1/.entire/runners/trail-risk.json +37 -0
  12. gtm_ui_native-0.0.3.1/.entire/runners/trail-security.json +37 -0
  13. gtm_ui_native-0.0.3.1/.entire/runners/trail-summary.json +33 -0
  14. gtm_ui_native-0.0.3.1/.entire/settings.json +8 -0
  15. gtm_ui_native-0.0.3.1/.git-blame-ignore-revs +8 -0
  16. gtm_ui_native-0.0.3.1/.github/FUNDING.yml +1 -0
  17. gtm_ui_native-0.0.3.1/.github/workflows/impacted-targets.yml +81 -0
  18. gtm_ui_native-0.0.3.1/.github/workflows/pullfrog.yml +83 -0
  19. gtm_ui_native-0.0.3.1/.github/workflows/release.yml +21 -0
  20. gtm_ui_native-0.0.3.1/.github/workflows/tests.yml +40 -0
  21. gtm_ui_native-0.0.3.1/.github/workflows/trunk-check.yml +51 -0
  22. gtm_ui_native-0.0.3.1/.github/workflows/validate-assets.yml +37 -0
  23. gtm_ui_native-0.0.3.1/.gitignore +18 -0
  24. gtm_ui_native-0.0.3.1/.opencode/plugins/entire.ts +269 -0
  25. gtm_ui_native-0.0.3.1/.pi/extensions/entire/index.ts +147 -0
  26. gtm_ui_native-0.0.3.1/.python-version +1 -0
  27. gtm_ui_native-0.0.3.1/.roborev.toml +3 -0
  28. gtm_ui_native-0.0.3.1/.rwx/publish.yml +84 -0
  29. gtm_ui_native-0.0.3.1/.rwx/pyrefly.yml +70 -0
  30. gtm_ui_native-0.0.3.1/.rwx/pyright.yml +66 -0
  31. gtm_ui_native-0.0.3.1/.semgrepignore +3 -0
  32. gtm_ui_native-0.0.3.1/.trunk/.gitignore +9 -0
  33. gtm_ui_native-0.0.3.1/.trunk/configs/.markdownlint.yaml +19 -0
  34. gtm_ui_native-0.0.3.1/.trunk/configs/.mypy.ini +12 -0
  35. gtm_ui_native-0.0.3.1/.trunk/configs/.yamllint.yaml +14 -0
  36. gtm_ui_native-0.0.3.1/.trunk/configs/ruff.toml +160 -0
  37. gtm_ui_native-0.0.3.1/.trunk/trunk.yaml +358 -0
  38. gtm_ui_native-0.0.3.1/.vale.ini +14 -0
  39. gtm_ui_native-0.0.3.1/AGENTS.md +290 -0
  40. gtm_ui_native-0.0.3.1/CLAUDE.md +1 -0
  41. gtm_ui_native-0.0.3.1/CONTRIBUTING.md +114 -0
  42. gtm_ui_native-0.0.3.1/LICENSE.md +21 -0
  43. gtm_ui_native-0.0.3.1/PKG-INFO +123 -0
  44. gtm_ui_native-0.0.3.1/README.md +51 -0
  45. gtm_ui_native-0.0.3.1/assets/avatars/01.png +0 -0
  46. gtm_ui_native-0.0.3.1/assets/avatars/02.png +0 -0
  47. gtm_ui_native-0.0.3.1/assets/avatars/03.png +0 -0
  48. gtm_ui_native-0.0.3.1/assets/avatars/04.png +0 -0
  49. gtm_ui_native-0.0.3.1/assets/avatars/reflex.webp +0 -0
  50. gtm_ui_native-0.0.3.1/assets/avatars/shadcn.webp +0 -0
  51. gtm_ui_native-0.0.3.1/assets/buridan.webp +0 -0
  52. gtm_ui_native-0.0.3.1/assets/docs/charts/area-chart.md +824 -0
  53. gtm_ui_native-0.0.3.1/assets/docs/charts/bar-chart.md +804 -0
  54. gtm_ui_native-0.0.3.1/assets/docs/charts/line-chart.md +717 -0
  55. gtm_ui_native-0.0.3.1/assets/docs/components/accordion.md +364 -0
  56. gtm_ui_native-0.0.3.1/assets/docs/components/attachment.md +876 -0
  57. gtm_ui_native-0.0.3.1/assets/docs/components/avatar.md +581 -0
  58. gtm_ui_native-0.0.3.1/assets/docs/components/badge.md +284 -0
  59. gtm_ui_native-0.0.3.1/assets/docs/components/bubble.md +633 -0
  60. gtm_ui_native-0.0.3.1/assets/docs/components/button-group.md +418 -0
  61. gtm_ui_native-0.0.3.1/assets/docs/components/button.md +459 -0
  62. gtm_ui_native-0.0.3.1/assets/docs/components/card.md +524 -0
  63. gtm_ui_native-0.0.3.1/assets/docs/components/checkbox.md +450 -0
  64. gtm_ui_native-0.0.3.1/assets/docs/components/collapsible.md +288 -0
  65. gtm_ui_native-0.0.3.1/assets/docs/components/dialog.md +529 -0
  66. gtm_ui_native-0.0.3.1/assets/docs/components/field.md +705 -0
  67. gtm_ui_native-0.0.3.1/assets/docs/components/frame.md +429 -0
  68. gtm_ui_native-0.0.3.1/assets/docs/components/input-group.md +1075 -0
  69. gtm_ui_native-0.0.3.1/assets/docs/components/input.md +247 -0
  70. gtm_ui_native-0.0.3.1/assets/docs/components/marker.md +447 -0
  71. gtm_ui_native-0.0.3.1/assets/docs/components/menu.md +508 -0
  72. gtm_ui_native-0.0.3.1/assets/docs/components/message.md +578 -0
  73. gtm_ui_native-0.0.3.1/assets/docs/components/radio-group.md +414 -0
  74. gtm_ui_native-0.0.3.1/assets/docs/components/select.md +481 -0
  75. gtm_ui_native-0.0.3.1/assets/docs/components/separator.md +243 -0
  76. gtm_ui_native-0.0.3.1/assets/docs/components/spinner.md +193 -0
  77. gtm_ui_native-0.0.3.1/assets/docs/components/switch.md +348 -0
  78. gtm_ui_native-0.0.3.1/assets/docs/components/table.md +1109 -0
  79. gtm_ui_native-0.0.3.1/assets/docs/components/tabs.md +546 -0
  80. gtm_ui_native-0.0.3.1/assets/docs/components/textarea.md +227 -0
  81. gtm_ui_native-0.0.3.1/assets/docs/components/typography.md +159 -0
  82. gtm_ui_native-0.0.3.1/assets/docs/getting-started/changelog.md +41 -0
  83. gtm_ui_native-0.0.3.1/assets/docs/getting-started/cli.md +151 -0
  84. gtm_ui_native-0.0.3.1/assets/docs/getting-started/components-json.md +111 -0
  85. gtm_ui_native-0.0.3.1/assets/docs/getting-started/dev.md +136 -0
  86. gtm_ui_native-0.0.3.1/assets/docs/getting-started/installation.md +51 -0
  87. gtm_ui_native-0.0.3.1/assets/docs/getting-started/introduction.md +52 -0
  88. gtm_ui_native-0.0.3.1/assets/docs/getting-started/javascript.md +43 -0
  89. gtm_ui_native-0.0.3.1/assets/docs/getting-started/skills.md +118 -0
  90. gtm_ui_native-0.0.3.1/assets/docs/resources/chart.md +385 -0
  91. gtm_ui_native-0.0.3.1/assets/docs/resources/client-state-var.md +117 -0
  92. gtm_ui_native-0.0.3.1/assets/docs/resources/events.md +85 -0
  93. gtm_ui_native-0.0.3.1/assets/docs/resources/state.md +54 -0
  94. gtm_ui_native-0.0.3.1/assets/docs/resources/theming.md +247 -0
  95. gtm_ui_native-0.0.3.1/assets/docs/resources/typeset.md +223 -0
  96. gtm_ui_native-0.0.3.1/assets/docs/utilities/markdown.md +220 -0
  97. gtm_ui_native-0.0.3.1/assets/docs/utilities/scroll-fade.md +287 -0
  98. gtm_ui_native-0.0.3.1/assets/docs/utilities/shimmer.md +308 -0
  99. gtm_ui_native-0.0.3.1/assets/favicon.ico +0 -0
  100. gtm_ui_native-0.0.3.1/assets/globals.css +807 -0
  101. gtm_ui_native-0.0.3.1/assets/llms.txt +60 -0
  102. gtm_ui_native-0.0.3.1/assets/prism.css +185 -0
  103. gtm_ui_native-0.0.3.1/assets/prism.js +502 -0
  104. gtm_ui_native-0.0.3.1/assets/site/github_readme.webp +0 -0
  105. gtm_ui_native-0.0.3.1/assets/site/landing_ss_dark.webp +0 -0
  106. gtm_ui_native-0.0.3.1/assets/site/landing_ss_light.webp +0 -0
  107. gtm_ui_native-0.0.3.1/assets/site-bindings.js +43 -0
  108. gtm_ui_native-0.0.3.1/assets/social/accordion.webp +0 -0
  109. gtm_ui_native-0.0.3.1/assets/social/area-chart.webp +0 -0
  110. gtm_ui_native-0.0.3.1/assets/social/attachment.webp +0 -0
  111. gtm_ui_native-0.0.3.1/assets/social/avatar.webp +0 -0
  112. gtm_ui_native-0.0.3.1/assets/social/badge.webp +0 -0
  113. gtm_ui_native-0.0.3.1/assets/social/bar-chart.webp +0 -0
  114. gtm_ui_native-0.0.3.1/assets/social/blocks.webp +0 -0
  115. gtm_ui_native-0.0.3.1/assets/social/bubble.webp +0 -0
  116. gtm_ui_native-0.0.3.1/assets/social/button-group.webp +0 -0
  117. gtm_ui_native-0.0.3.1/assets/social/button.webp +0 -0
  118. gtm_ui_native-0.0.3.1/assets/social/card.webp +0 -0
  119. gtm_ui_native-0.0.3.1/assets/social/changelog.webp +0 -0
  120. gtm_ui_native-0.0.3.1/assets/social/chart.webp +0 -0
  121. gtm_ui_native-0.0.3.1/assets/social/charts.webp +0 -0
  122. gtm_ui_native-0.0.3.1/assets/social/checkbox.webp +0 -0
  123. gtm_ui_native-0.0.3.1/assets/social/cli.webp +0 -0
  124. gtm_ui_native-0.0.3.1/assets/social/client-state-var.webp +0 -0
  125. gtm_ui_native-0.0.3.1/assets/social/collapsible.webp +0 -0
  126. gtm_ui_native-0.0.3.1/assets/social/components-json.webp +0 -0
  127. gtm_ui_native-0.0.3.1/assets/social/components.webp +0 -0
  128. gtm_ui_native-0.0.3.1/assets/social/create.webp +0 -0
  129. gtm_ui_native-0.0.3.1/assets/social/dashboard.webp +0 -0
  130. gtm_ui_native-0.0.3.1/assets/social/dashboards.webp +0 -0
  131. gtm_ui_native-0.0.3.1/assets/social/dev.webp +0 -0
  132. gtm_ui_native-0.0.3.1/assets/social/dialog.webp +0 -0
  133. gtm_ui_native-0.0.3.1/assets/social/docs.webp +0 -0
  134. gtm_ui_native-0.0.3.1/assets/social/events.webp +0 -0
  135. gtm_ui_native-0.0.3.1/assets/social/field.webp +0 -0
  136. gtm_ui_native-0.0.3.1/assets/social/frame.webp +0 -0
  137. gtm_ui_native-0.0.3.1/assets/social/index.webp +0 -0
  138. gtm_ui_native-0.0.3.1/assets/social/input-group.webp +0 -0
  139. gtm_ui_native-0.0.3.1/assets/social/input.webp +0 -0
  140. gtm_ui_native-0.0.3.1/assets/social/installation.webp +0 -0
  141. gtm_ui_native-0.0.3.1/assets/social/introduction.webp +0 -0
  142. gtm_ui_native-0.0.3.1/assets/social/javascript.webp +0 -0
  143. gtm_ui_native-0.0.3.1/assets/social/line-chart.webp +0 -0
  144. gtm_ui_native-0.0.3.1/assets/social/markdown.webp +0 -0
  145. gtm_ui_native-0.0.3.1/assets/social/marker.webp +0 -0
  146. gtm_ui_native-0.0.3.1/assets/social/menu.webp +0 -0
  147. gtm_ui_native-0.0.3.1/assets/social/message.webp +0 -0
  148. gtm_ui_native-0.0.3.1/assets/social/radio-group.webp +0 -0
  149. gtm_ui_native-0.0.3.1/assets/social/scroll-fade.webp +0 -0
  150. gtm_ui_native-0.0.3.1/assets/social/select.webp +0 -0
  151. gtm_ui_native-0.0.3.1/assets/social/separator.webp +0 -0
  152. gtm_ui_native-0.0.3.1/assets/social/shimmer.webp +0 -0
  153. gtm_ui_native-0.0.3.1/assets/social/skills.webp +0 -0
  154. gtm_ui_native-0.0.3.1/assets/social/slider.webp +0 -0
  155. gtm_ui_native-0.0.3.1/assets/social/spinner.webp +0 -0
  156. gtm_ui_native-0.0.3.1/assets/social/state.webp +0 -0
  157. gtm_ui_native-0.0.3.1/assets/social/switch.webp +0 -0
  158. gtm_ui_native-0.0.3.1/assets/social/table.webp +0 -0
  159. gtm_ui_native-0.0.3.1/assets/social/tabs.webp +0 -0
  160. gtm_ui_native-0.0.3.1/assets/social/textarea.webp +0 -0
  161. gtm_ui_native-0.0.3.1/assets/social/theming.webp +0 -0
  162. gtm_ui_native-0.0.3.1/assets/social/typeset.webp +0 -0
  163. gtm_ui_native-0.0.3.1/assets/social/typography.webp +0 -0
  164. gtm_ui_native-0.0.3.1/assets/svg/claude/claude_dark.svg +1 -0
  165. gtm_ui_native-0.0.3.1/assets/svg/claude/claude_light.svg +1 -0
  166. gtm_ui_native-0.0.3.1/assets/svg/markdown/md_dark.svg +1 -0
  167. gtm_ui_native-0.0.3.1/assets/svg/markdown/md_light.svg +1 -0
  168. gtm_ui_native-0.0.3.1/assets/svg/openai/ai_dark.svg +1 -0
  169. gtm_ui_native-0.0.3.1/assets/svg/openai/ai_light.svg +1 -0
  170. gtm_ui_native-0.0.3.1/assets/svg/reflex/reflex_dark.svg +1 -0
  171. gtm_ui_native-0.0.3.1/assets/svg/reflex/reflex_light.svg +1 -0
  172. gtm_ui_native-0.0.3.1/assets/svg/theme/theme_dark.svg +9 -0
  173. gtm_ui_native-0.0.3.1/assets/svg/theme/theme_light.svg +1 -0
  174. gtm_ui_native-0.0.3.1/assets/theme-preview.js +833 -0
  175. gtm_ui_native-0.0.3.1/assets/typeset-preview.js +334 -0
  176. gtm_ui_native-0.0.3.1/assets/typeset.css +495 -0
  177. gtm_ui_native-0.0.3.1/cli/README.md +103 -0
  178. gtm_ui_native-0.0.3.1/cli/__init__.py +0 -0
  179. gtm_ui_native-0.0.3.1/cli/dev.py +330 -0
  180. gtm_ui_native-0.0.3.1/cli/main.py +893 -0
  181. gtm_ui_native-0.0.3.1/cli/preset_codec.py +136 -0
  182. gtm_ui_native-0.0.3.1/cli/py.typed +0 -0
  183. gtm_ui_native-0.0.3.1/cli/scrollbar_css.py +444 -0
  184. gtm_ui_native-0.0.3.1/cli/shimmer_css.py +104 -0
  185. gtm_ui_native-0.0.3.1/cli/tailwind_config.py +3 -0
  186. gtm_ui_native-0.0.3.1/components/__init__.py +1 -0
  187. gtm_ui_native-0.0.3.1/components/chart/__init__.py +1 -0
  188. gtm_ui_native-0.0.3.1/components/chart/chart_tooltip.py +117 -0
  189. gtm_ui_native-0.0.3.1/components/core/__init__.py +1 -0
  190. gtm_ui_native-0.0.3.1/components/core/core.py +54 -0
  191. gtm_ui_native-0.0.3.1/components/core/hugeicon.py +68 -0
  192. gtm_ui_native-0.0.3.1/components/py.typed +0 -0
  193. gtm_ui_native-0.0.3.1/components/ui/__init__.py +1 -0
  194. gtm_ui_native-0.0.3.1/components/ui/accordion.py +115 -0
  195. gtm_ui_native-0.0.3.1/components/ui/attachment.py +263 -0
  196. gtm_ui_native-0.0.3.1/components/ui/avatar.py +172 -0
  197. gtm_ui_native-0.0.3.1/components/ui/badge.py +79 -0
  198. gtm_ui_native-0.0.3.1/components/ui/bubble.py +169 -0
  199. gtm_ui_native-0.0.3.1/components/ui/button.py +148 -0
  200. gtm_ui_native-0.0.3.1/components/ui/button_group.py +104 -0
  201. gtm_ui_native-0.0.3.1/components/ui/card.py +140 -0
  202. gtm_ui_native-0.0.3.1/components/ui/checkbox.py +107 -0
  203. gtm_ui_native-0.0.3.1/components/ui/collapsible.py +71 -0
  204. gtm_ui_native-0.0.3.1/components/ui/dialog.py +225 -0
  205. gtm_ui_native-0.0.3.1/components/ui/field.py +257 -0
  206. gtm_ui_native-0.0.3.1/components/ui/frame.py +175 -0
  207. gtm_ui_native-0.0.3.1/components/ui/input.py +51 -0
  208. gtm_ui_native-0.0.3.1/components/ui/input_group.py +246 -0
  209. gtm_ui_native-0.0.3.1/components/ui/marker.py +97 -0
  210. gtm_ui_native-0.0.3.1/components/ui/menu.py +234 -0
  211. gtm_ui_native-0.0.3.1/components/ui/message.py +128 -0
  212. gtm_ui_native-0.0.3.1/components/ui/radio_group.py +127 -0
  213. gtm_ui_native-0.0.3.1/components/ui/select.py +115 -0
  214. gtm_ui_native-0.0.3.1/components/ui/separator.py +45 -0
  215. gtm_ui_native-0.0.3.1/components/ui/spinner.py +25 -0
  216. gtm_ui_native-0.0.3.1/components/ui/switch.py +117 -0
  217. gtm_ui_native-0.0.3.1/components/ui/table.py +551 -0
  218. gtm_ui_native-0.0.3.1/components/ui/tabs.py +234 -0
  219. gtm_ui_native-0.0.3.1/components/ui/textarea.py +46 -0
  220. gtm_ui_native-0.0.3.1/docs/charts/area_chart.md +206 -0
  221. gtm_ui_native-0.0.3.1/docs/charts/bar_chart.md +236 -0
  222. gtm_ui_native-0.0.3.1/docs/charts/line_chart.md +222 -0
  223. gtm_ui_native-0.0.3.1/docs/components/accordion.md +75 -0
  224. gtm_ui_native-0.0.3.1/docs/components/attachment.md +198 -0
  225. gtm_ui_native-0.0.3.1/docs/components/avatar.md +168 -0
  226. gtm_ui_native-0.0.3.1/docs/components/badge.md +68 -0
  227. gtm_ui_native-0.0.3.1/docs/components/bubble.md +186 -0
  228. gtm_ui_native-0.0.3.1/docs/components/button.md +126 -0
  229. gtm_ui_native-0.0.3.1/docs/components/button_group.md +110 -0
  230. gtm_ui_native-0.0.3.1/docs/components/card.md +126 -0
  231. gtm_ui_native-0.0.3.1/docs/components/checkbox.md +87 -0
  232. gtm_ui_native-0.0.3.1/docs/components/collapsible.md +88 -0
  233. gtm_ui_native-0.0.3.1/docs/components/dialog.md +151 -0
  234. gtm_ui_native-0.0.3.1/docs/components/field.md +250 -0
  235. gtm_ui_native-0.0.3.1/docs/components/frame.md +118 -0
  236. gtm_ui_native-0.0.3.1/docs/components/input.md +73 -0
  237. gtm_ui_native-0.0.3.1/docs/components/input_group.md +154 -0
  238. gtm_ui_native-0.0.3.1/docs/components/marker.md +156 -0
  239. gtm_ui_native-0.0.3.1/docs/components/menu.md +166 -0
  240. gtm_ui_native-0.0.3.1/docs/components/message.md +150 -0
  241. gtm_ui_native-0.0.3.1/docs/components/radio_group.md +110 -0
  242. gtm_ui_native-0.0.3.1/docs/components/select.md +112 -0
  243. gtm_ui_native-0.0.3.1/docs/components/separator.md +59 -0
  244. gtm_ui_native-0.0.3.1/docs/components/spinner.md +59 -0
  245. gtm_ui_native-0.0.3.1/docs/components/switch.md +80 -0
  246. gtm_ui_native-0.0.3.1/docs/components/table.md +216 -0
  247. gtm_ui_native-0.0.3.1/docs/components/tabs.md +119 -0
  248. gtm_ui_native-0.0.3.1/docs/components/textarea.md +67 -0
  249. gtm_ui_native-0.0.3.1/docs/components/typography.md +51 -0
  250. gtm_ui_native-0.0.3.1/docs/getting_started/changelog.md +41 -0
  251. gtm_ui_native-0.0.3.1/docs/getting_started/cli.md +151 -0
  252. gtm_ui_native-0.0.3.1/docs/getting_started/components-json.md +111 -0
  253. gtm_ui_native-0.0.3.1/docs/getting_started/dev.md +136 -0
  254. gtm_ui_native-0.0.3.1/docs/getting_started/installation.md +51 -0
  255. gtm_ui_native-0.0.3.1/docs/getting_started/introduction.md +52 -0
  256. gtm_ui_native-0.0.3.1/docs/getting_started/javascript.md +43 -0
  257. gtm_ui_native-0.0.3.1/docs/getting_started/skills.md +118 -0
  258. gtm_ui_native-0.0.3.1/docs/resources/chart.md +229 -0
  259. gtm_ui_native-0.0.3.1/docs/resources/client_state_var.md +117 -0
  260. gtm_ui_native-0.0.3.1/docs/resources/events.md +85 -0
  261. gtm_ui_native-0.0.3.1/docs/resources/state.md +54 -0
  262. gtm_ui_native-0.0.3.1/docs/resources/theming.md +247 -0
  263. gtm_ui_native-0.0.3.1/docs/resources/typeset.md +223 -0
  264. gtm_ui_native-0.0.3.1/docs/styles/config/vocabularies/Native/accept.txt +78 -0
  265. gtm_ui_native-0.0.3.1/docs/utilities/markdown.md +220 -0
  266. gtm_ui_native-0.0.3.1/docs/utilities/scroll_fade.md +106 -0
  267. gtm_ui_native-0.0.3.1/docs/utilities/shimmer.md +207 -0
  268. gtm_ui_native-0.0.3.1/native/__init__.py +0 -0
  269. gtm_ui_native-0.0.3.1/native/config.py +68 -0
  270. gtm_ui_native-0.0.3.1/native/core/__init__.py +17 -0
  271. gtm_ui_native-0.0.3.1/native/core/constants.py +21 -0
  272. gtm_ui_native-0.0.3.1/native/core/utils.py +39 -0
  273. gtm_ui_native-0.0.3.1/native/engine/__init__.py +0 -0
  274. gtm_ui_native-0.0.3.1/native/engine/constants.py +9 -0
  275. gtm_ui_native-0.0.3.1/native/engine/generator.py +75 -0
  276. gtm_ui_native-0.0.3.1/native/engine/parser.py +284 -0
  277. gtm_ui_native-0.0.3.1/native/engine/utils.py +4 -0
  278. gtm_ui_native-0.0.3.1/native/export.py +146 -0
  279. gtm_ui_native-0.0.3.1/native/hooks/__init__.py +0 -0
  280. gtm_ui_native-0.0.3.1/native/hooks/client_state.py +0 -0
  281. gtm_ui_native-0.0.3.1/native/hooks/head_components.py +54 -0
  282. gtm_ui_native-0.0.3.1/native/hooks/stylesheets.py +26 -0
  283. gtm_ui_native-0.0.3.1/native/lib/blocks/__init__.py +0 -0
  284. gtm_ui_native-0.0.3.1/native/lib/blocks/area_chart_01.py +134 -0
  285. gtm_ui_native-0.0.3.1/native/lib/blocks/area_chart_02.py +132 -0
  286. gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_01.py +125 -0
  287. gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_02.py +111 -0
  288. gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_03.py +132 -0
  289. gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_04.py +97 -0
  290. gtm_ui_native-0.0.3.1/native/lib/blocks/kpi_card_01.py +62 -0
  291. gtm_ui_native-0.0.3.1/native/lib/blocks/kpi_card_02.py +131 -0
  292. gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_01.py +151 -0
  293. gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_02.py +170 -0
  294. gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_03.py +196 -0
  295. gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_04.py +105 -0
  296. gtm_ui_native-0.0.3.1/native/lib/charts/area/__init__.py +0 -0
  297. gtm_ui_native-0.0.3.1/native/lib/charts/area/v1.py +75 -0
  298. gtm_ui_native-0.0.3.1/native/lib/charts/area/v2.py +76 -0
  299. gtm_ui_native-0.0.3.1/native/lib/charts/area/v3.py +76 -0
  300. gtm_ui_native-0.0.3.1/native/lib/charts/area/v4.py +84 -0
  301. gtm_ui_native-0.0.3.1/native/lib/charts/area/v5.py +140 -0
  302. gtm_ui_native-0.0.3.1/native/lib/charts/area/v6.py +85 -0
  303. gtm_ui_native-0.0.3.1/native/lib/charts/area/v7.py +95 -0
  304. gtm_ui_native-0.0.3.1/native/lib/charts/area/v8.py +131 -0
  305. gtm_ui_native-0.0.3.1/native/lib/charts/bar/__init__.py +0 -0
  306. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v1.py +80 -0
  307. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v2.py +75 -0
  308. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v3.py +87 -0
  309. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v4.py +86 -0
  310. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v5.py +125 -0
  311. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v6.py +89 -0
  312. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v7.py +74 -0
  313. gtm_ui_native-0.0.3.1/native/lib/charts/bar/v9.py +99 -0
  314. gtm_ui_native-0.0.3.1/native/lib/charts/line/__init__.py +0 -0
  315. gtm_ui_native-0.0.3.1/native/lib/charts/line/v1.py +70 -0
  316. gtm_ui_native-0.0.3.1/native/lib/charts/line/v2.py +70 -0
  317. gtm_ui_native-0.0.3.1/native/lib/charts/line/v3.py +77 -0
  318. gtm_ui_native-0.0.3.1/native/lib/charts/line/v4.py +78 -0
  319. gtm_ui_native-0.0.3.1/native/lib/charts/line/v5.py +70 -0
  320. gtm_ui_native-0.0.3.1/native/lib/charts/line/v6.py +62 -0
  321. gtm_ui_native-0.0.3.1/native/lib/charts/line/v7.py +85 -0
  322. gtm_ui_native-0.0.3.1/native/lib/charts/line/v8.py +97 -0
  323. gtm_ui_native-0.0.3.1/native/lib/components/__init__.py +0 -0
  324. gtm_ui_native-0.0.3.1/native/lib/components/accordion_basic.py +45 -0
  325. gtm_ui_native-0.0.3.1/native/lib/components/attachment_group.py +49 -0
  326. gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_image.py +61 -0
  327. gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_sizes.py +33 -0
  328. gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_states.py +82 -0
  329. gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_trigger.py +37 -0
  330. gtm_ui_native-0.0.3.1/native/lib/components/avatar_badge_with_icon.py +23 -0
  331. gtm_ui_native-0.0.3.1/native/lib/components/avatar_basic.py +19 -0
  332. gtm_ui_native-0.0.3.1/native/lib/components/avatar_dropdown_menu.py +22 -0
  333. gtm_ui_native-0.0.3.1/native/lib/components/avatar_group.py +31 -0
  334. gtm_ui_native-0.0.3.1/native/lib/components/avatar_group_count_icon.py +34 -0
  335. gtm_ui_native-0.0.3.1/native/lib/components/avatar_sizes.py +32 -0
  336. gtm_ui_native-0.0.3.1/native/lib/components/avatar_with_badge.py +22 -0
  337. gtm_ui_native-0.0.3.1/native/lib/components/avatar_with_group_count.py +31 -0
  338. gtm_ui_native-0.0.3.1/native/lib/components/badge_as_link.py +15 -0
  339. gtm_ui_native-0.0.3.1/native/lib/components/badge_custom_colors.py +29 -0
  340. gtm_ui_native-0.0.3.1/native/lib/components/badge_variants.py +14 -0
  341. gtm_ui_native-0.0.3.1/native/lib/components/badge_with_icon.py +20 -0
  342. gtm_ui_native-0.0.3.1/native/lib/components/badge_wtih_spinner.py +20 -0
  343. gtm_ui_native-0.0.3.1/native/lib/components/bubble_group.py +39 -0
  344. gtm_ui_native-0.0.3.1/native/lib/components/bubble_link_button.py +50 -0
  345. gtm_ui_native-0.0.3.1/native/lib/components/bubble_reactions.py +60 -0
  346. gtm_ui_native-0.0.3.1/native/lib/components/bubble_with_align.py +22 -0
  347. gtm_ui_native-0.0.3.1/native/lib/components/bubble_with_variants.py +65 -0
  348. gtm_ui_native-0.0.3.1/native/lib/components/button_as_link.py +11 -0
  349. gtm_ui_native-0.0.3.1/native/lib/components/button_default.py +7 -0
  350. gtm_ui_native-0.0.3.1/native/lib/components/button_destructive.py +7 -0
  351. gtm_ui_native-0.0.3.1/native/lib/components/button_ghost.py +7 -0
  352. gtm_ui_native-0.0.3.1/native/lib/components/button_group_dropdown.py +33 -0
  353. gtm_ui_native-0.0.3.1/native/lib/components/button_group_input.py +17 -0
  354. gtm_ui_native-0.0.3.1/native/lib/components/button_group_orientation.py +23 -0
  355. gtm_ui_native-0.0.3.1/native/lib/components/button_group_separator.py +12 -0
  356. gtm_ui_native-0.0.3.1/native/lib/components/button_group_size.py +29 -0
  357. gtm_ui_native-0.0.3.1/native/lib/components/button_group_split.py +17 -0
  358. gtm_ui_native-0.0.3.1/native/lib/components/button_icon.py +12 -0
  359. gtm_ui_native-0.0.3.1/native/lib/components/button_link.py +7 -0
  360. gtm_ui_native-0.0.3.1/native/lib/components/button_loading.py +21 -0
  361. gtm_ui_native-0.0.3.1/native/lib/components/button_outline.py +7 -0
  362. gtm_ui_native-0.0.3.1/native/lib/components/button_rounded.py +20 -0
  363. gtm_ui_native-0.0.3.1/native/lib/components/button_secondary.py +7 -0
  364. gtm_ui_native-0.0.3.1/native/lib/components/button_sizes.py +50 -0
  365. gtm_ui_native-0.0.3.1/native/lib/components/button_with_icon.py +20 -0
  366. gtm_ui_native-0.0.3.1/native/lib/components/card_edge_to_edge.py +37 -0
  367. gtm_ui_native-0.0.3.1/native/lib/components/card_image.py +31 -0
  368. gtm_ui_native-0.0.3.1/native/lib/components/card_small.py +61 -0
  369. gtm_ui_native-0.0.3.1/native/lib/components/card_spacing.py +115 -0
  370. gtm_ui_native-0.0.3.1/native/lib/components/checkbox_basic.py +21 -0
  371. gtm_ui_native-0.0.3.1/native/lib/components/checkbox_description.py +28 -0
  372. gtm_ui_native-0.0.3.1/native/lib/components/checkbox_disabled.py +24 -0
  373. gtm_ui_native-0.0.3.1/native/lib/components/checkbox_group.py +70 -0
  374. gtm_ui_native-0.0.3.1/native/lib/components/collapsible_basic.py +35 -0
  375. gtm_ui_native-0.0.3.1/native/lib/components/collapsible_nested.py +75 -0
  376. gtm_ui_native-0.0.3.1/native/lib/components/dialog_close_button.py +45 -0
  377. gtm_ui_native-0.0.3.1/native/lib/components/dialog_no_close_button.py +18 -0
  378. gtm_ui_native-0.0.3.1/native/lib/components/dialog_sticky_footer.py +46 -0
  379. gtm_ui_native-0.0.3.1/native/lib/components/field_general.py +122 -0
  380. gtm_ui_native-0.0.3.1/native/lib/components/frame_basic.py +21 -0
  381. gtm_ui_native-0.0.3.1/native/lib/components/frame_dense.py +23 -0
  382. gtm_ui_native-0.0.3.1/native/lib/components/frame_no_border.py +24 -0
  383. gtm_ui_native-0.0.3.1/native/lib/components/frame_stacked.py +22 -0
  384. gtm_ui_native-0.0.3.1/native/lib/components/input_basic_demo.py +14 -0
  385. gtm_ui_native-0.0.3.1/native/lib/components/input_custom_input.py +15 -0
  386. gtm_ui_native-0.0.3.1/native/lib/components/input_disabled.py +15 -0
  387. gtm_ui_native-0.0.3.1/native/lib/components/input_email.py +14 -0
  388. gtm_ui_native-0.0.3.1/native/lib/components/input_file_input.py +13 -0
  389. gtm_ui_native-0.0.3.1/native/lib/components/input_group_block_end.py +51 -0
  390. gtm_ui_native-0.0.3.1/native/lib/components/input_group_block_start.py +54 -0
  391. gtm_ui_native-0.0.3.1/native/lib/components/input_group_button.py +82 -0
  392. gtm_ui_native-0.0.3.1/native/lib/components/input_group_dropdown.py +45 -0
  393. gtm_ui_native-0.0.3.1/native/lib/components/input_group_icons.py +43 -0
  394. gtm_ui_native-0.0.3.1/native/lib/components/input_group_inline_end.py +19 -0
  395. gtm_ui_native-0.0.3.1/native/lib/components/input_group_inline_start.py +18 -0
  396. gtm_ui_native-0.0.3.1/native/lib/components/input_group_spinner.py +46 -0
  397. gtm_ui_native-0.0.3.1/native/lib/components/input_group_text.py +51 -0
  398. gtm_ui_native-0.0.3.1/native/lib/components/input_password.py +14 -0
  399. gtm_ui_native-0.0.3.1/native/lib/components/marker_border.py +25 -0
  400. gtm_ui_native-0.0.3.1/native/lib/components/marker_links_and_buttons.py +35 -0
  401. gtm_ui_native-0.0.3.1/native/lib/components/marker_separator.py +21 -0
  402. gtm_ui_native-0.0.3.1/native/lib/components/marker_shimmer.py +18 -0
  403. gtm_ui_native-0.0.3.1/native/lib/components/marker_status.py +21 -0
  404. gtm_ui_native-0.0.3.1/native/lib/components/marker_variants.py +20 -0
  405. gtm_ui_native-0.0.3.1/native/lib/components/marker_with_icon.py +24 -0
  406. gtm_ui_native-0.0.3.1/native/lib/components/menu_basic.py +16 -0
  407. gtm_ui_native-0.0.3.1/native/lib/components/menu_destructive.py +16 -0
  408. gtm_ui_native-0.0.3.1/native/lib/components/menu_icons.py +16 -0
  409. gtm_ui_native-0.0.3.1/native/lib/components/menu_shortcuts.py +19 -0
  410. gtm_ui_native-0.0.3.1/native/lib/components/message_with_actions.py +67 -0
  411. gtm_ui_native-0.0.3.1/native/lib/components/message_with_attachments.py +67 -0
  412. gtm_ui_native-0.0.3.1/native/lib/components/message_with_avatar.py +62 -0
  413. gtm_ui_native-0.0.3.1/native/lib/components/message_with_group.py +38 -0
  414. gtm_ui_native-0.0.3.1/native/lib/components/message_with_header_footer.py +35 -0
  415. gtm_ui_native-0.0.3.1/native/lib/components/radio_group_choice_card.py +35 -0
  416. gtm_ui_native-0.0.3.1/native/lib/components/radio_group_description.py +32 -0
  417. gtm_ui_native-0.0.3.1/native/lib/components/radio_group_disabled.py +31 -0
  418. gtm_ui_native-0.0.3.1/native/lib/components/radio_group_fieldset.py +37 -0
  419. gtm_ui_native-0.0.3.1/native/lib/components/radio_group_invalid.py +35 -0
  420. gtm_ui_native-0.0.3.1/native/lib/components/select_basic.py +24 -0
  421. gtm_ui_native-0.0.3.1/native/lib/components/select_disabled.py +23 -0
  422. gtm_ui_native-0.0.3.1/native/lib/components/select_form.py +39 -0
  423. gtm_ui_native-0.0.3.1/native/lib/components/select_optgroup.py +37 -0
  424. gtm_ui_native-0.0.3.1/native/lib/components/select_sizes.py +22 -0
  425. gtm_ui_native-0.0.3.1/native/lib/components/separator_horizontal.py +21 -0
  426. gtm_ui_native-0.0.3.1/native/lib/components/separator_list.py +26 -0
  427. gtm_ui_native-0.0.3.1/native/lib/components/separator_menu.py +32 -0
  428. gtm_ui_native-0.0.3.1/native/lib/components/separator_vertical.py +14 -0
  429. gtm_ui_native-0.0.3.1/native/lib/components/spinner_badge.py +13 -0
  430. gtm_ui_native-0.0.3.1/native/lib/components/spinner_button.py +13 -0
  431. gtm_ui_native-0.0.3.1/native/lib/components/spinner_marker.py +27 -0
  432. gtm_ui_native-0.0.3.1/native/lib/components/spinner_size.py +13 -0
  433. gtm_ui_native-0.0.3.1/native/lib/components/switch_basic.py +18 -0
  434. gtm_ui_native-0.0.3.1/native/lib/components/switch_disabled.py +21 -0
  435. gtm_ui_native-0.0.3.1/native/lib/components/switch_invalid.py +23 -0
  436. gtm_ui_native-0.0.3.1/native/lib/components/switch_sizes.py +32 -0
  437. gtm_ui_native-0.0.3.1/native/lib/components/switch_with_label.py +20 -0
  438. gtm_ui_native-0.0.3.1/native/lib/components/table_demo.py +212 -0
  439. gtm_ui_native-0.0.3.1/native/lib/components/table_demo_two.py +311 -0
  440. gtm_ui_native-0.0.3.1/native/lib/components/tabs_basic.py +81 -0
  441. gtm_ui_native-0.0.3.1/native/lib/components/tabs_disabled.py +17 -0
  442. gtm_ui_native-0.0.3.1/native/lib/components/tabs_icons.py +22 -0
  443. gtm_ui_native-0.0.3.1/native/lib/components/tabs_line_variant.py +15 -0
  444. gtm_ui_native-0.0.3.1/native/lib/components/tabs_vertical.py +18 -0
  445. gtm_ui_native-0.0.3.1/native/lib/components/textarea_basic_demo.py +7 -0
  446. gtm_ui_native-0.0.3.1/native/lib/components/textarea_disabled.py +20 -0
  447. gtm_ui_native-0.0.3.1/native/lib/components/textarea_field.py +21 -0
  448. gtm_ui_native-0.0.3.1/native/lib/components/textarea_invalid.py +23 -0
  449. gtm_ui_native-0.0.3.1/native/lib/components/typography_blockquote.py +10 -0
  450. gtm_ui_native-0.0.3.1/native/lib/components/typography_h1.py +8 -0
  451. gtm_ui_native-0.0.3.1/native/lib/components/typography_h2.py +8 -0
  452. gtm_ui_native-0.0.3.1/native/lib/components/typography_h3.py +8 -0
  453. gtm_ui_native-0.0.3.1/native/lib/components/typography_h4.py +8 -0
  454. gtm_ui_native-0.0.3.1/native/lib/components/typography_inline_code.py +8 -0
  455. gtm_ui_native-0.0.3.1/native/lib/components/typography_list.py +10 -0
  456. gtm_ui_native-0.0.3.1/native/lib/components/typography_p.py +8 -0
  457. gtm_ui_native-0.0.3.1/native/lib/components/typography_table.py +58 -0
  458. gtm_ui_native-0.0.3.1/native/lib/dashboards/__init__.py +0 -0
  459. gtm_ui_native-0.0.3.1/native/lib/dashboards/dashboard_01.py +358 -0
  460. gtm_ui_native-0.0.3.1/native/lib/dashboards/dashboard_02.py +283 -0
  461. gtm_ui_native-0.0.3.1/native/lib/dashboards/dashboard_03.py +444 -0
  462. gtm_ui_native-0.0.3.1/native/lib/examples/__init__.py +0 -0
  463. gtm_ui_native-0.0.3.1/native/lib/examples/card_01.py +80 -0
  464. gtm_ui_native-0.0.3.1/native/lib/examples/card_02.py +59 -0
  465. gtm_ui_native-0.0.3.1/native/lib/examples/card_03.py +81 -0
  466. gtm_ui_native-0.0.3.1/native/lib/examples/card_04.py +92 -0
  467. gtm_ui_native-0.0.3.1/native/lib/examples/card_05.py +64 -0
  468. gtm_ui_native-0.0.3.1/native/lib/examples/card_06.py +81 -0
  469. gtm_ui_native-0.0.3.1/native/lib/examples/card_07.py +48 -0
  470. gtm_ui_native-0.0.3.1/native/lib/examples/card_08.py +37 -0
  471. gtm_ui_native-0.0.3.1/native/lib/examples/card_09.py +28 -0
  472. gtm_ui_native-0.0.3.1/native/lib/examples/card_10.py +76 -0
  473. gtm_ui_native-0.0.3.1/native/lib/examples/card_11.py +128 -0
  474. gtm_ui_native-0.0.3.1/native/lib/examples/card_12.py +39 -0
  475. gtm_ui_native-0.0.3.1/native/lib/examples/card_13.py +33 -0
  476. gtm_ui_native-0.0.3.1/native/lib/examples/card_14.py +35 -0
  477. gtm_ui_native-0.0.3.1/native/lib/examples/card_15.py +65 -0
  478. gtm_ui_native-0.0.3.1/native/lib/examples/decex_3.py +44 -0
  479. gtm_ui_native-0.0.3.1/native/lib/examples/docex_1.py +31 -0
  480. gtm_ui_native-0.0.3.1/native/lib/examples/docex_2.py +32 -0
  481. gtm_ui_native-0.0.3.1/native/lib/examples/docex_4.py +48 -0
  482. gtm_ui_native-0.0.3.1/native/lib/examples/docex_5.py +66 -0
  483. gtm_ui_native-0.0.3.1/native/lib/typeset/set_four.md +28 -0
  484. gtm_ui_native-0.0.3.1/native/lib/typeset/set_one.md +241 -0
  485. gtm_ui_native-0.0.3.1/native/lib/typeset/set_three.md +35 -0
  486. gtm_ui_native-0.0.3.1/native/lib/typeset/set_two.md +49 -0
  487. gtm_ui_native-0.0.3.1/native/lib/utilities/__init__.py +0 -0
  488. gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_demo.py +20 -0
  489. gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_disabled.py +48 -0
  490. gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_edges.py +109 -0
  491. gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_horizontal.py +35 -0
  492. gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_no_fade.py +20 -0
  493. gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_size.py +48 -0
  494. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_angle.py +17 -0
  495. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_color.py +15 -0
  496. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_duration.py +20 -0
  497. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_none.py +9 -0
  498. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_play_once.py +28 -0
  499. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_reverse.py +12 -0
  500. gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_spread.py +17 -0
  501. gtm_ui_native-0.0.3.1/native/native.py +13 -0
  502. gtm_ui_native-0.0.3.1/native/pages/__init__.py +0 -0
  503. gtm_ui_native-0.0.3.1/native/pages/blocks.py +148 -0
  504. gtm_ui_native-0.0.3.1/native/pages/components.py +295 -0
  505. gtm_ui_native-0.0.3.1/native/pages/create.py +438 -0
  506. gtm_ui_native-0.0.3.1/native/pages/dashboard.py +40 -0
  507. gtm_ui_native-0.0.3.1/native/pages/docs.py +245 -0
  508. gtm_ui_native-0.0.3.1/native/pages/landing.py +88 -0
  509. gtm_ui_native-0.0.3.1/native/pages/typeset.py +274 -0
  510. gtm_ui_native-0.0.3.1/native/py.typed +0 -0
  511. gtm_ui_native-0.0.3.1/native/registry/__init__.py +0 -0
  512. gtm_ui_native-0.0.3.1/native/registry/anatomy/accordion.py +12 -0
  513. gtm_ui_native-0.0.3.1/native/registry/anatomy/attachment.py +10 -0
  514. gtm_ui_native-0.0.3.1/native/registry/anatomy/avatar.py +6 -0
  515. gtm_ui_native-0.0.3.1/native/registry/anatomy/badge.py +3 -0
  516. gtm_ui_native-0.0.3.1/native/registry/anatomy/bubble.py +6 -0
  517. gtm_ui_native-0.0.3.1/native/registry/anatomy/button.py +3 -0
  518. gtm_ui_native-0.0.3.1/native/registry/anatomy/button_group.py +7 -0
  519. gtm_ui_native-0.0.3.1/native/registry/anatomy/card.py +11 -0
  520. gtm_ui_native-0.0.3.1/native/registry/anatomy/checkbox.py +5 -0
  521. gtm_ui_native-0.0.3.1/native/registry/anatomy/collapsible.py +6 -0
  522. gtm_ui_native-0.0.3.1/native/registry/anatomy/dialog.py +10 -0
  523. gtm_ui_native-0.0.3.1/native/registry/anatomy/field.py +10 -0
  524. gtm_ui_native-0.0.3.1/native/registry/anatomy/frame.py +11 -0
  525. gtm_ui_native-0.0.3.1/native/registry/anatomy/input.py +3 -0
  526. gtm_ui_native-0.0.3.1/native/registry/anatomy/input_group.py +6 -0
  527. gtm_ui_native-0.0.3.1/native/registry/anatomy/marker.py +6 -0
  528. gtm_ui_native-0.0.3.1/native/registry/anatomy/menu.py +12 -0
  529. gtm_ui_native-0.0.3.1/native/registry/anatomy/message.py +11 -0
  530. gtm_ui_native-0.0.3.1/native/registry/anatomy/radio_group.py +6 -0
  531. gtm_ui_native-0.0.3.1/native/registry/anatomy/select.py +13 -0
  532. gtm_ui_native-0.0.3.1/native/registry/anatomy/separator.py +3 -0
  533. gtm_ui_native-0.0.3.1/native/registry/anatomy/spinner.py +3 -0
  534. gtm_ui_native-0.0.3.1/native/registry/anatomy/switch.py +3 -0
  535. gtm_ui_native-0.0.3.1/native/registry/anatomy/table.py +15 -0
  536. gtm_ui_native-0.0.3.1/native/registry/anatomy/tabs.py +8 -0
  537. gtm_ui_native-0.0.3.1/native/registry/anatomy/textarea.py +3 -0
  538. gtm_ui_native-0.0.3.1/native/registry/colors.py +266 -0
  539. gtm_ui_native-0.0.3.1/native/registry/components.py +176 -0
  540. gtm_ui_native-0.0.3.1/native/registry/fonts.py +97 -0
  541. gtm_ui_native-0.0.3.1/native/registry/radii.py +24 -0
  542. gtm_ui_native-0.0.3.1/native/registry/styles.py +61 -0
  543. gtm_ui_native-0.0.3.1/native/registry/themes.py +435 -0
  544. gtm_ui_native-0.0.3.1/native/registry/typeset_options.py +77 -0
  545. gtm_ui_native-0.0.3.1/native/templates/__init__.py +0 -0
  546. gtm_ui_native-0.0.3.1/native/templates/_copy_btn.py +45 -0
  547. gtm_ui_native-0.0.3.1/native/templates/_dashboard.py +84 -0
  548. gtm_ui_native-0.0.3.1/native/templates/_dashboard_example.py +63 -0
  549. gtm_ui_native-0.0.3.1/native/templates/_demo.py +81 -0
  550. gtm_ui_native-0.0.3.1/native/templates/_get_code.py +89 -0
  551. gtm_ui_native-0.0.3.1/native/templates/_get_typeset_code.py +115 -0
  552. gtm_ui_native-0.0.3.1/native/templates/_intro.py +169 -0
  553. gtm_ui_native-0.0.3.1/native/templates/_meta_tags.py +39 -0
  554. gtm_ui_native-0.0.3.1/native/templates/_source.py +57 -0
  555. gtm_ui_native-0.0.3.1/native/templates/_usage.py +112 -0
  556. gtm_ui_native-0.0.3.1/native/templates/anatomy.py +147 -0
  557. gtm_ui_native-0.0.3.1/native/templates/dashboard_introspect.py +65 -0
  558. gtm_ui_native-0.0.3.1/native/templates/docpage.py +41 -0
  559. gtm_ui_native-0.0.3.1/native/templates/footer.py +35 -0
  560. gtm_ui_native-0.0.3.1/native/templates/github.py +25 -0
  561. gtm_ui_native-0.0.3.1/native/templates/layout.py +57 -0
  562. gtm_ui_native-0.0.3.1/native/templates/masonary.py +42 -0
  563. gtm_ui_native-0.0.3.1/native/templates/navbar.py +116 -0
  564. gtm_ui_native-0.0.3.1/native/templates/sidebar.py +145 -0
  565. gtm_ui_native-0.0.3.1/native/templates/sublayout.py +63 -0
  566. gtm_ui_native-0.0.3.1/native/templates/theme.py +47 -0
  567. gtm_ui_native-0.0.3.1/native/templates/toc.py +225 -0
  568. gtm_ui_native-0.0.3.1/pyproject.toml +59 -0
  569. gtm_ui_native-0.0.3.1/pyrefly.toml +50 -0
  570. gtm_ui_native-0.0.3.1/pyrightconfig.json +8 -0
  571. gtm_ui_native-0.0.3.1/reflex.lock/bun.lock +566 -0
  572. gtm_ui_native-0.0.3.1/reflex.lock/package.json +46 -0
  573. gtm_ui_native-0.0.3.1/rxconfig.py +14 -0
  574. gtm_ui_native-0.0.3.1/scripts/generate_anatomy.py +267 -0
  575. gtm_ui_native-0.0.3.1/scripts/generate_llms.py +67 -0
  576. gtm_ui_native-0.0.3.1/scripts/generate_markdown.py +272 -0
  577. gtm_ui_native-0.0.3.1/scripts/generate_markdown_template.py +61 -0
  578. gtm_ui_native-0.0.3.1/scripts/generate_preview_cards.py +273 -0
  579. gtm_ui_native-0.0.3.1/scripts/generate_registry.py +324 -0
  580. gtm_ui_native-0.0.3.1/scripts/vercel_install.sh +14 -0
  581. gtm_ui_native-0.0.3.1/tach.toml +84 -0
  582. gtm_ui_native-0.0.3.1/tests/__init__.py +0 -0
  583. gtm_ui_native-0.0.3.1/tests/test_attachment.py +109 -0
  584. gtm_ui_native-0.0.3.1/tests/test_blocks_page.py +35 -0
  585. gtm_ui_native-0.0.3.1/tests/test_chart_tooltip.py +154 -0
  586. gtm_ui_native-0.0.3.1/tests/test_clean_code.py +46 -0
  587. gtm_ui_native-0.0.3.1/tests/test_cli_apply_theme.py +71 -0
  588. gtm_ui_native-0.0.3.1/tests/test_cli_dev.py +221 -0
  589. gtm_ui_native-0.0.3.1/tests/test_cli_init.py +332 -0
  590. gtm_ui_native-0.0.3.1/tests/test_cli_main.py +341 -0
  591. gtm_ui_native-0.0.3.1/tests/test_components_card_counts.py +166 -0
  592. gtm_ui_native-0.0.3.1/tests/test_create_page.py +179 -0
  593. gtm_ui_native-0.0.3.1/tests/test_dashboard_introspect.py +177 -0
  594. gtm_ui_native-0.0.3.1/tests/test_dialog.py +187 -0
  595. gtm_ui_native-0.0.3.1/tests/test_docs_error.py +107 -0
  596. gtm_ui_native-0.0.3.1/tests/test_field.py +138 -0
  597. gtm_ui_native-0.0.3.1/tests/test_font_family_names.py +107 -0
  598. gtm_ui_native-0.0.3.1/tests/test_frontmatter_order.py +34 -0
  599. gtm_ui_native-0.0.3.1/tests/test_generated_assets.py +226 -0
  600. gtm_ui_native-0.0.3.1/tests/test_get_code_copy.py +111 -0
  601. gtm_ui_native-0.0.3.1/tests/test_input_group.py +73 -0
  602. gtm_ui_native-0.0.3.1/tests/test_intro_token.py +92 -0
  603. gtm_ui_native-0.0.3.1/tests/test_menu.py +176 -0
  604. gtm_ui_native-0.0.3.1/tests/test_meta_tags.py +130 -0
  605. gtm_ui_native-0.0.3.1/tests/test_parser_source_token.py +64 -0
  606. gtm_ui_native-0.0.3.1/tests/test_radio_group_role.py +178 -0
  607. gtm_ui_native-0.0.3.1/tests/test_source_codeblock.py +196 -0
  608. gtm_ui_native-0.0.3.1/tests/test_switch_passthrough.py +353 -0
  609. gtm_ui_native-0.0.3.1/tests/test_table.py +306 -0
  610. gtm_ui_native-0.0.3.1/tests/test_tabs.py +618 -0
  611. gtm_ui_native-0.0.3.1/tests/test_theme_preset_url.py +364 -0
  612. gtm_ui_native-0.0.3.1/tests/test_toc_links.py +325 -0
  613. gtm_ui_native-0.0.3.1/tests/test_tooltip_token.py +205 -0
  614. gtm_ui_native-0.0.3.1/tests/test_typeset_page.py +289 -0
  615. gtm_ui_native-0.0.3.1/tests/test_ui_relative_imports.py +83 -0
  616. gtm_ui_native-0.0.3.1/tests/test_unstyled.py +387 -0
  617. gtm_ui_native-0.0.3.1/tests/test_unstyled_input_group.py +48 -0
  618. gtm_ui_native-0.0.3.1/tests/test_usage_token.py +253 -0
  619. gtm_ui_native-0.0.3.1/uv.lock +1781 -0
  620. gtm_ui_native-0.0.3.1/vercel.json +12 -0
@@ -0,0 +1,321 @@
1
+ ---
2
+ name: components
3
+ description: >
4
+ Buridan Native UI component system built on Reflex. Use when creating user
5
+ interfaces, selecting Native components, composing layouts, using rx.el.*
6
+ HTML elements, modifying component APIs, adding components, or answering
7
+ questions about UI development.
8
+ ---
9
+
10
+ # Buridan Native Components
11
+
12
+ This skill covers building user interfaces with Buridan Native.
13
+
14
+ Buridan Native provides reusable UI components built on top of Reflex.
15
+
16
+ When building UI, prefer:
17
+
18
+ 1. Buridan Native components for common UI patterns.
19
+ 2. Reflex HTML elements (`rx.el.*`) for custom structure, layouts, and missing pieces.
20
+
21
+ The documentation is the source of truth.
22
+
23
+ ---
24
+
25
+ # Component Strategy
26
+
27
+ ## Prefer Buridan Native Components
28
+
29
+ Use existing Buridan Native components whenever possible.
30
+
31
+ Native components provide:
32
+
33
+ - Consistent styling
34
+ - Common behavior
35
+ - Accessibility patterns
36
+ - Reusable APIs
37
+ - Framework conventions
38
+
39
+ Before creating custom UI:
40
+
41
+ 1. Check whether Buridan Native already provides a component.
42
+ 2. Use the existing component if it matches the use case.
43
+ 3. Compose components together when possible.
44
+
45
+ Do not recreate existing Native components using raw HTML.
46
+
47
+ Examples:
48
+
49
+ Use:
50
+
51
+ ```python
52
+ button(...)
53
+ ```
54
+
55
+ instead of:
56
+
57
+ ```python
58
+ rx.el.button(...)
59
+ ```
60
+
61
+ when a Native button component exists.
62
+
63
+ Use:
64
+
65
+ ```python
66
+ dialog(...)
67
+ ```
68
+
69
+ instead of manually creating dialog markup.
70
+
71
+ ---
72
+
73
+ # Reflex HTML Elements (`rx.el.*`)
74
+
75
+ Buridan Native is built on Reflex, which provides access to HTML elements through:
76
+
77
+ ```python
78
+ rx.el.*
79
+ ```
80
+
81
+ Use `rx.el.*` for:
82
+
83
+ - Page structure
84
+ - Semantic HTML
85
+ - Custom layouts
86
+ - Small UI compositions
87
+ - Wrapping Native components
88
+ - Elements without a dedicated Native component
89
+
90
+ Examples:
91
+
92
+ ```python
93
+ rx.el.div(
94
+ rx.el.h1("Dashboard"),
95
+ rx.el.p("Welcome back")
96
+ )
97
+ ```
98
+
99
+ ```python
100
+ rx.el.section(
101
+ native.card(...)
102
+ )
103
+ ```
104
+
105
+ ```python
106
+ rx.el.header(
107
+ rx.el.nav(...)
108
+ )
109
+ ```
110
+
111
+ Common elements include:
112
+
113
+ ```text
114
+ rx.el.div
115
+ rx.el.span
116
+ rx.el.p
117
+ rx.el.h1
118
+ rx.el.h2
119
+ rx.el.h3
120
+ rx.el.a
121
+ rx.el.img
122
+ rx.el.form
123
+ rx.el.input
124
+ rx.el.section
125
+ rx.el.header
126
+ rx.el.footer
127
+ rx.el.nav
128
+ ```
129
+
130
+ ---
131
+
132
+ # Layouts
133
+
134
+ For layouts and page composition, prefer `rx.el.*` unless Buridan Native provides a dedicated layout component.
135
+
136
+ Examples:
137
+
138
+ ```python
139
+ rx.el.div(
140
+ sidebar,
141
+ content
142
+ )
143
+ ```
144
+
145
+ ```python
146
+ rx.el.section(
147
+ header,
148
+ body
149
+ )
150
+ ```
151
+
152
+ Use Native layout primitives when they exist.
153
+
154
+ Do not create unnecessary wrapper components for simple layout.
155
+
156
+ Prefer:
157
+
158
+ ```python
159
+ rx.el.div(
160
+ native.card(...),
161
+ native.button(...)
162
+ )
163
+ ```
164
+
165
+ over:
166
+
167
+ ```python
168
+ DashboardContainer(
169
+ DashboardCard(),
170
+ DashboardButton()
171
+ )
172
+ ```
173
+
174
+ unless the pattern is reused and has meaningful behavior.
175
+
176
+ ---
177
+
178
+ # Component Categories
179
+
180
+ ## Actions
181
+
182
+ Use Native components for:
183
+
184
+ - Buttons
185
+ - Links
186
+ - User actions
187
+ - Controls
188
+
189
+ Avoid manually recreating interactive controls with HTML.
190
+
191
+ ---
192
+
193
+ ## Forms
194
+
195
+ Use Native components for:
196
+
197
+ - Inputs
198
+ - Selectors
199
+ - Toggles
200
+ - Form controls
201
+
202
+ Use `rx.el.*` for:
203
+
204
+ - Form structure
205
+ - Labels
206
+ - Custom grouping
207
+
208
+ Example:
209
+
210
+ ```python
211
+ rx.el.form(
212
+ native.input(...),
213
+ native.button(...)
214
+ )
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Content
220
+
221
+ Use Native components for:
222
+
223
+ - Cards
224
+ - Alerts
225
+ - Badges
226
+ - Tables
227
+ - User-facing patterns
228
+
229
+ Use `rx.el.*` for:
230
+
231
+ - Text structure
232
+ - Semantic grouping
233
+ - Custom markup
234
+
235
+ ---
236
+
237
+ # Creating New Components
238
+
239
+ Before adding a new Buridan Native component:
240
+
241
+ 1. Confirm the pattern does not already exist.
242
+ 2. Check similar components.
243
+ 3. Determine whether composition is enough.
244
+ 4. Follow existing component conventions.
245
+ 5. Add documentation.
246
+ 6. Add examples where appropriate.
247
+
248
+ Create a new component when it:
249
+
250
+ - Is reused across applications.
251
+ - Has meaningful behavior.
252
+ - Has a stable API.
253
+ - Represents a common UI pattern.
254
+
255
+ Do not create components only to wrap simple HTML.
256
+
257
+ ---
258
+
259
+ # Component Documentation
260
+
261
+ Component documentation:
262
+
263
+ https://native.buridan.dev/components/
264
+
265
+ Repository documentation:
266
+
267
+ ```text
268
+ docs/components/
269
+ ```
270
+
271
+ URL pattern:
272
+
273
+ ```text
274
+ docs/components/<component>.md
275
+ ```
276
+
277
+ maps to:
278
+
279
+ ```text
280
+ https://native.buridan.dev/components/<component>
281
+ ```
282
+
283
+ Example:
284
+
285
+ ```text
286
+ docs/components/button.md
287
+ ```
288
+
289
+ maps to:
290
+
291
+ ```text
292
+ https://native.buridan.dev/components/button
293
+ ```
294
+
295
+ ---
296
+
297
+ # When To Use This Skill
298
+
299
+ Use this skill when:
300
+
301
+ - Building UI
302
+ - Choosing between components
303
+ - Creating layouts
304
+ - Working with `rx.el.*`
305
+ - Adding new components
306
+ - Understanding Buridan Native APIs
307
+ - Migrating UI code
308
+
309
+ ---
310
+
311
+ # Do Not Use This Skill For
312
+
313
+ Do not use this skill for:
314
+
315
+ - Application state
316
+ - Event architecture
317
+ - Theming systems
318
+ - Chart configuration
319
+ - Internal framework architecture
320
+
321
+ Use the specialized skill instead.
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: getting-started
3
+ description: >
4
+ Native framework setup and onboarding. Use when creating a new Native
5
+ application, installing dependencies, configuring the environment, using
6
+ the CLI, or explaining the basic Native development workflow.
7
+ ---
8
+
9
+ # Getting Started
10
+
11
+ This skill helps answer questions about installing, configuring, and starting
12
+ development with Native.
13
+
14
+ The documentation is the source of truth.
15
+
16
+ ## References
17
+
18
+ ### Introduction
19
+
20
+ Repository:
21
+
22
+ ```text
23
+ docs/getting_started/introduction.md
24
+ ```
25
+
26
+ Documentation:
27
+
28
+ https://native.buridan.dev/docs/getting-started/introduction
29
+
30
+ ---
31
+
32
+ ### Installation
33
+
34
+ Repository:
35
+
36
+ ```text
37
+ docs/getting_started/installation.md
38
+ ```
39
+
40
+ Documentation:
41
+
42
+ https://native.buridan.dev/docs/getting-started/installation
43
+
44
+ ---
45
+
46
+ ### CLI
47
+
48
+ Repository:
49
+
50
+ ```text
51
+ docs/getting_started/cli.md
52
+ ```
53
+
54
+ Documentation:
55
+
56
+ https://native.buridan.dev/docs/getting-started/cli
57
+
58
+ ---
59
+
60
+ ### Desktop
61
+
62
+ Repository:
63
+
64
+ ```text
65
+ docs/getting_started/desktop.md
66
+ ```
67
+
68
+ Documentation:
69
+
70
+ https://native.buridan.dev/docs/getting-started/desktop
71
+
72
+ ---
73
+
74
+ ### JavaScript Integration
75
+
76
+ Repository:
77
+
78
+ ```text
79
+ docs/getting_started/javascript.md
80
+ ```
81
+
82
+ Documentation:
83
+
84
+ https://native.buridan.dev/docs/getting-started/javascript
85
+
86
+ ---
87
+
88
+ ### Changelog
89
+
90
+ Repository:
91
+
92
+ ```text
93
+ docs/getting_started/changelog.md
94
+ ```
95
+
96
+ Documentation:
97
+
98
+ https://native.buridan.dev/docs/getting-started/changelog
99
+
100
+ ---
101
+
102
+ # When To Use This Skill
103
+
104
+ Use this skill when the user asks about:
105
+
106
+ - Installing Native
107
+ - Creating a new Native project
108
+ - Setting up a development environment
109
+ - Running a Native application
110
+ - Using Native CLI commands
111
+ - Understanding the basic project structure
112
+ - Troubleshooting setup issues
113
+
114
+ # Guidance
115
+
116
+ When helping with setup:
117
+
118
+ 1. Check the documented workflow first.
119
+ 2. Prefer official Native commands and patterns.
120
+ 3. Avoid suggesting undocumented configuration.
121
+ 4. Include the relevant documentation link when useful.
122
+ 5. Keep examples consistent with the current Native API.
123
+
124
+ # Do Not Use This Skill For
125
+
126
+ Do not use this skill for:
127
+
128
+ - Building UI components
129
+ - Component APIs
130
+ - Application state
131
+ - Events
132
+ - Styling and theming
133
+ - Charts
134
+ - Internal architecture
135
+
136
+ Use the more specific skill instead.
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: rwx
3
+ description: Authenticate and use the RWX CLI. Run RWX CI on the working tree (including uncommitted changes), type-check with pyright/pyrefly without a local venv, read run results and logs, and create, lint, or modify `.rwx/*.yml`. Use when asked about RWX, when "CI failed" or "CI is red", or when asked to run tests or fetch logs on RWX.
4
+ ---
5
+
6
+ # RWX CLI in this repo
7
+
8
+ CI definitions live in `.rwx/`. Merge gates run in GitHub Actions and the Trunk
9
+ Merge Queue (see `AGENTS.md`). The RWX pipelines are manual only, with no PR or
10
+ push trigger, so they are not required statuses.
11
+
12
+ | File | Purpose |
13
+ | --- | --- |
14
+ | `.rwx/pyright.yml` | pyright with a synced venv |
15
+ | `.rwx/pyrefly.yml` | pyrefly with a synced venv |
16
+
17
+ ## Auth: injected tokens, one per RWX workspace
18
+
19
+ Env vars named `RWX_ACCESS_TOKEN_<SUFFIX>` or `RWC_ACCESS_TOKEN_<SUFFIX>` are
20
+ injected. Each token is scoped to one RWX workspace; `<SUFFIX>` is the
21
+ workspace name, uppercased. List the names without values:
22
+
23
+ ```bash
24
+ env | grep -E '^RW[XC]_ACCESS_TOKEN_' | cut -d= -f1
25
+ ```
26
+
27
+ The CLI reads only `RWX_ACCESS_TOKEN` (or `--access-token`). Export the token
28
+ whose suffix matches the repo owner (from the `origin` URL, uppercased). Never
29
+ print it:
30
+
31
+ ```bash
32
+ OWNER=$(git remote get-url origin | sed -E 's#.*[:/]([^/]+)/[^/]+(\.git)?$#\1#' | tr a-z A-Z)
33
+ export RWX_ACCESS_TOKEN="$(printenv "RWX_ACCESS_TOKEN_$OWNER" || printenv "RWC_ACCESS_TOKEN_$OWNER")"
34
+ rwx whoami # confirms organization and user, does not show the token
35
+ ```
36
+
37
+ The shell does not persist between tool calls, so export per command. A run,
38
+ task, or log ID only resolves under the workspace that owns it. On
39
+ not-found or unauthorized, try the other token. Without any token,
40
+ `rwx login` authorizes interactively.
41
+
42
+ ## Running a pipeline with your current git changes
43
+
44
+ `rwx run` sends a git patch with the run, so no commit or push is needed:
45
+
46
+ - Base: the closest ancestor of local `HEAD` that is already on `origin`
47
+ (`event.git.sha` resolves to it).
48
+ - Patch on top: unpushed commits, staged, unstaged, and untracked files.
49
+ - Excluded: anything in `.gitignore`. Git LFS changes error out.
50
+ - `RWX_DISABLE_GIT_PATCH=1` turns patching off.
51
+
52
+ ```bash
53
+ rwx run .rwx/pyright.yml --wait # run, block, print results
54
+ rwx run .rwx/pyright.yml --wait --fail-fast # stop at first failure
55
+ rwx run .rwx/pyright.yml --target <task-key> --wait # one task plus its deps
56
+ rwx run .rwx/pyright.yml --title "wip: my change" --json
57
+ rwx run .rwx/pyright.yml --wait --init paths="app/foo.py app/bar.py"
58
+ ```
59
+
60
+ Keep the `git/clone` task's `ref: ${{ init.commit-sha }}` and the `cli`
61
+ trigger's `commit-sha: ${{ event.git.sha }}` when editing `.rwx/*.yml`. That
62
+ wiring is what makes the patch apply.
63
+
64
+ ## Type checking without a local `.venv`
65
+
66
+ Use `pyright.yml` / `pyrefly.yml` when there is no `.venv` or memory is tight.
67
+ Both accept `paths` (space separated; empty means the whole project).
68
+
69
+ ```bash
70
+ rwx run .rwx/pyright.yml --wait
71
+ rwx run .rwx/pyrefly.yml --wait --init paths="app/foo.py"
72
+ ```
73
+
74
+ ## Results and logs ("CI failed")
75
+
76
+ ```bash
77
+ rwx runs list
78
+ rwx results <run-id> # status and failures; `rwx results -h` for branch/commit lookup
79
+ rwx logs <task-id> # a failed run prints the failing task id
80
+ rwx logs <run-id> --task <task-key> --output /tmp/logs
81
+ rwx artifacts --help # download task artifacts
82
+ rwx retry <run-id> # retry a run or task
83
+ rwx cancel <run-id>
84
+ ```
85
+
86
+ Use `--json` where available for parsing.
87
+
88
+ ## Sandboxes and debugging
89
+
90
+ ```bash
91
+ rwx sandbox exec -- <command> # run in a persistent RWX sandbox
92
+ rwx debug <task-id> # debug a task; `rwx ssh` attaches to a running one
93
+ ```
94
+
95
+ ## Writing or changing `.rwx/*.yml`
96
+
97
+ 1. Pull the reference docs and read them in full, untruncated:
98
+ `rwx docs pull /migrating/rwx-reference`.
99
+ 2. For anything else: `rwx docs search "<query>"`, then `rwx docs pull <path>`
100
+ (for example `/docs/cli-triggers`, `/docs/cli-reference/rwx-run`). Use
101
+ these instead of WebFetch.
102
+ 3. Validate after every edit: `rwx lint .rwx/<name>.yml`.
103
+ 4. Prefer packaged leaves over hand-rolled steps; `rwx lint` flags outdated
104
+ versions, and `rwx update` / `rwx resolve` bump or pin base images and
105
+ packages.
106
+ 5. Model tasks as a DAG: separate install from checks, and `filter:` install
107
+ tasks to lockfile inputs (see `pyright.yml`) so caching survives ordinary
108
+ commits. RWX caches by content, so drop GitHub-style cache steps.
109
+ 6. If you must download an installer, pin the version and verify its checksum,
110
+ as `pyright.yml` does for uv.
111
+
112
+ ## Migrating a GitHub Actions workflow
113
+
114
+ Upstream skills: https://github.com/rwx-cloud/skills (`migrate-from-gha`,
115
+ `review-gha-migration`). The approach: inventory jobs, `needs:`, secrets and
116
+ env first, translate to a DAG using RWX packages, run `rwx lint`, then review
117
+ the result against the inventory for dropped steps. Do not migrate the
118
+ workflows that gate the merge queue without a request to do so.