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.
- gtm_ui_native-0.0.3.1/.agents/skills/components/SKILL.md +321 -0
- gtm_ui_native-0.0.3.1/.agents/skills/getting-started/SKILL.md +136 -0
- gtm_ui_native-0.0.3.1/.agents/skills/rwx/SKILL.md +118 -0
- gtm_ui_native-0.0.3.1/.agents/skills/theming/SKILL.md +468 -0
- gtm_ui_native-0.0.3.1/.claude/settings.json +101 -0
- gtm_ui_native-0.0.3.1/.entire/.gitignore +5 -0
- gtm_ui_native-0.0.3.1/.entire/agent-guide.md +90 -0
- gtm_ui_native-0.0.3.1/.entire/runners/trail-confidence.json +37 -0
- gtm_ui_native-0.0.3.1/.entire/runners/trail-drift.json +37 -0
- gtm_ui_native-0.0.3.1/.entire/runners/trail-review.json +36 -0
- gtm_ui_native-0.0.3.1/.entire/runners/trail-risk.json +37 -0
- gtm_ui_native-0.0.3.1/.entire/runners/trail-security.json +37 -0
- gtm_ui_native-0.0.3.1/.entire/runners/trail-summary.json +33 -0
- gtm_ui_native-0.0.3.1/.entire/settings.json +8 -0
- gtm_ui_native-0.0.3.1/.git-blame-ignore-revs +8 -0
- gtm_ui_native-0.0.3.1/.github/FUNDING.yml +1 -0
- gtm_ui_native-0.0.3.1/.github/workflows/impacted-targets.yml +81 -0
- gtm_ui_native-0.0.3.1/.github/workflows/pullfrog.yml +83 -0
- gtm_ui_native-0.0.3.1/.github/workflows/release.yml +21 -0
- gtm_ui_native-0.0.3.1/.github/workflows/tests.yml +40 -0
- gtm_ui_native-0.0.3.1/.github/workflows/trunk-check.yml +51 -0
- gtm_ui_native-0.0.3.1/.github/workflows/validate-assets.yml +37 -0
- gtm_ui_native-0.0.3.1/.gitignore +18 -0
- gtm_ui_native-0.0.3.1/.opencode/plugins/entire.ts +269 -0
- gtm_ui_native-0.0.3.1/.pi/extensions/entire/index.ts +147 -0
- gtm_ui_native-0.0.3.1/.python-version +1 -0
- gtm_ui_native-0.0.3.1/.roborev.toml +3 -0
- gtm_ui_native-0.0.3.1/.rwx/publish.yml +84 -0
- gtm_ui_native-0.0.3.1/.rwx/pyrefly.yml +70 -0
- gtm_ui_native-0.0.3.1/.rwx/pyright.yml +66 -0
- gtm_ui_native-0.0.3.1/.semgrepignore +3 -0
- gtm_ui_native-0.0.3.1/.trunk/.gitignore +9 -0
- gtm_ui_native-0.0.3.1/.trunk/configs/.markdownlint.yaml +19 -0
- gtm_ui_native-0.0.3.1/.trunk/configs/.mypy.ini +12 -0
- gtm_ui_native-0.0.3.1/.trunk/configs/.yamllint.yaml +14 -0
- gtm_ui_native-0.0.3.1/.trunk/configs/ruff.toml +160 -0
- gtm_ui_native-0.0.3.1/.trunk/trunk.yaml +358 -0
- gtm_ui_native-0.0.3.1/.vale.ini +14 -0
- gtm_ui_native-0.0.3.1/AGENTS.md +290 -0
- gtm_ui_native-0.0.3.1/CLAUDE.md +1 -0
- gtm_ui_native-0.0.3.1/CONTRIBUTING.md +114 -0
- gtm_ui_native-0.0.3.1/LICENSE.md +21 -0
- gtm_ui_native-0.0.3.1/PKG-INFO +123 -0
- gtm_ui_native-0.0.3.1/README.md +51 -0
- gtm_ui_native-0.0.3.1/assets/avatars/01.png +0 -0
- gtm_ui_native-0.0.3.1/assets/avatars/02.png +0 -0
- gtm_ui_native-0.0.3.1/assets/avatars/03.png +0 -0
- gtm_ui_native-0.0.3.1/assets/avatars/04.png +0 -0
- gtm_ui_native-0.0.3.1/assets/avatars/reflex.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/avatars/shadcn.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/buridan.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/docs/charts/area-chart.md +824 -0
- gtm_ui_native-0.0.3.1/assets/docs/charts/bar-chart.md +804 -0
- gtm_ui_native-0.0.3.1/assets/docs/charts/line-chart.md +717 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/accordion.md +364 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/attachment.md +876 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/avatar.md +581 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/badge.md +284 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/bubble.md +633 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/button-group.md +418 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/button.md +459 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/card.md +524 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/checkbox.md +450 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/collapsible.md +288 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/dialog.md +529 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/field.md +705 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/frame.md +429 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/input-group.md +1075 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/input.md +247 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/marker.md +447 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/menu.md +508 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/message.md +578 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/radio-group.md +414 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/select.md +481 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/separator.md +243 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/spinner.md +193 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/switch.md +348 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/table.md +1109 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/tabs.md +546 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/textarea.md +227 -0
- gtm_ui_native-0.0.3.1/assets/docs/components/typography.md +159 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/changelog.md +41 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/cli.md +151 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/components-json.md +111 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/dev.md +136 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/installation.md +51 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/introduction.md +52 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/javascript.md +43 -0
- gtm_ui_native-0.0.3.1/assets/docs/getting-started/skills.md +118 -0
- gtm_ui_native-0.0.3.1/assets/docs/resources/chart.md +385 -0
- gtm_ui_native-0.0.3.1/assets/docs/resources/client-state-var.md +117 -0
- gtm_ui_native-0.0.3.1/assets/docs/resources/events.md +85 -0
- gtm_ui_native-0.0.3.1/assets/docs/resources/state.md +54 -0
- gtm_ui_native-0.0.3.1/assets/docs/resources/theming.md +247 -0
- gtm_ui_native-0.0.3.1/assets/docs/resources/typeset.md +223 -0
- gtm_ui_native-0.0.3.1/assets/docs/utilities/markdown.md +220 -0
- gtm_ui_native-0.0.3.1/assets/docs/utilities/scroll-fade.md +287 -0
- gtm_ui_native-0.0.3.1/assets/docs/utilities/shimmer.md +308 -0
- gtm_ui_native-0.0.3.1/assets/favicon.ico +0 -0
- gtm_ui_native-0.0.3.1/assets/globals.css +807 -0
- gtm_ui_native-0.0.3.1/assets/llms.txt +60 -0
- gtm_ui_native-0.0.3.1/assets/prism.css +185 -0
- gtm_ui_native-0.0.3.1/assets/prism.js +502 -0
- gtm_ui_native-0.0.3.1/assets/site/github_readme.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/site/landing_ss_dark.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/site/landing_ss_light.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/site-bindings.js +43 -0
- gtm_ui_native-0.0.3.1/assets/social/accordion.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/area-chart.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/attachment.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/avatar.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/badge.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/bar-chart.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/blocks.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/bubble.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/button-group.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/button.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/card.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/changelog.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/chart.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/charts.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/checkbox.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/cli.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/client-state-var.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/collapsible.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/components-json.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/components.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/create.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/dashboard.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/dashboards.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/dev.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/dialog.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/docs.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/events.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/field.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/frame.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/index.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/input-group.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/input.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/installation.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/introduction.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/javascript.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/line-chart.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/markdown.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/marker.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/menu.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/message.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/radio-group.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/scroll-fade.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/select.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/separator.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/shimmer.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/skills.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/slider.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/spinner.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/state.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/switch.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/table.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/tabs.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/textarea.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/theming.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/typeset.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/social/typography.webp +0 -0
- gtm_ui_native-0.0.3.1/assets/svg/claude/claude_dark.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/claude/claude_light.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/markdown/md_dark.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/markdown/md_light.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/openai/ai_dark.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/openai/ai_light.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/reflex/reflex_dark.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/reflex/reflex_light.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/svg/theme/theme_dark.svg +9 -0
- gtm_ui_native-0.0.3.1/assets/svg/theme/theme_light.svg +1 -0
- gtm_ui_native-0.0.3.1/assets/theme-preview.js +833 -0
- gtm_ui_native-0.0.3.1/assets/typeset-preview.js +334 -0
- gtm_ui_native-0.0.3.1/assets/typeset.css +495 -0
- gtm_ui_native-0.0.3.1/cli/README.md +103 -0
- gtm_ui_native-0.0.3.1/cli/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/cli/dev.py +330 -0
- gtm_ui_native-0.0.3.1/cli/main.py +893 -0
- gtm_ui_native-0.0.3.1/cli/preset_codec.py +136 -0
- gtm_ui_native-0.0.3.1/cli/py.typed +0 -0
- gtm_ui_native-0.0.3.1/cli/scrollbar_css.py +444 -0
- gtm_ui_native-0.0.3.1/cli/shimmer_css.py +104 -0
- gtm_ui_native-0.0.3.1/cli/tailwind_config.py +3 -0
- gtm_ui_native-0.0.3.1/components/__init__.py +1 -0
- gtm_ui_native-0.0.3.1/components/chart/__init__.py +1 -0
- gtm_ui_native-0.0.3.1/components/chart/chart_tooltip.py +117 -0
- gtm_ui_native-0.0.3.1/components/core/__init__.py +1 -0
- gtm_ui_native-0.0.3.1/components/core/core.py +54 -0
- gtm_ui_native-0.0.3.1/components/core/hugeicon.py +68 -0
- gtm_ui_native-0.0.3.1/components/py.typed +0 -0
- gtm_ui_native-0.0.3.1/components/ui/__init__.py +1 -0
- gtm_ui_native-0.0.3.1/components/ui/accordion.py +115 -0
- gtm_ui_native-0.0.3.1/components/ui/attachment.py +263 -0
- gtm_ui_native-0.0.3.1/components/ui/avatar.py +172 -0
- gtm_ui_native-0.0.3.1/components/ui/badge.py +79 -0
- gtm_ui_native-0.0.3.1/components/ui/bubble.py +169 -0
- gtm_ui_native-0.0.3.1/components/ui/button.py +148 -0
- gtm_ui_native-0.0.3.1/components/ui/button_group.py +104 -0
- gtm_ui_native-0.0.3.1/components/ui/card.py +140 -0
- gtm_ui_native-0.0.3.1/components/ui/checkbox.py +107 -0
- gtm_ui_native-0.0.3.1/components/ui/collapsible.py +71 -0
- gtm_ui_native-0.0.3.1/components/ui/dialog.py +225 -0
- gtm_ui_native-0.0.3.1/components/ui/field.py +257 -0
- gtm_ui_native-0.0.3.1/components/ui/frame.py +175 -0
- gtm_ui_native-0.0.3.1/components/ui/input.py +51 -0
- gtm_ui_native-0.0.3.1/components/ui/input_group.py +246 -0
- gtm_ui_native-0.0.3.1/components/ui/marker.py +97 -0
- gtm_ui_native-0.0.3.1/components/ui/menu.py +234 -0
- gtm_ui_native-0.0.3.1/components/ui/message.py +128 -0
- gtm_ui_native-0.0.3.1/components/ui/radio_group.py +127 -0
- gtm_ui_native-0.0.3.1/components/ui/select.py +115 -0
- gtm_ui_native-0.0.3.1/components/ui/separator.py +45 -0
- gtm_ui_native-0.0.3.1/components/ui/spinner.py +25 -0
- gtm_ui_native-0.0.3.1/components/ui/switch.py +117 -0
- gtm_ui_native-0.0.3.1/components/ui/table.py +551 -0
- gtm_ui_native-0.0.3.1/components/ui/tabs.py +234 -0
- gtm_ui_native-0.0.3.1/components/ui/textarea.py +46 -0
- gtm_ui_native-0.0.3.1/docs/charts/area_chart.md +206 -0
- gtm_ui_native-0.0.3.1/docs/charts/bar_chart.md +236 -0
- gtm_ui_native-0.0.3.1/docs/charts/line_chart.md +222 -0
- gtm_ui_native-0.0.3.1/docs/components/accordion.md +75 -0
- gtm_ui_native-0.0.3.1/docs/components/attachment.md +198 -0
- gtm_ui_native-0.0.3.1/docs/components/avatar.md +168 -0
- gtm_ui_native-0.0.3.1/docs/components/badge.md +68 -0
- gtm_ui_native-0.0.3.1/docs/components/bubble.md +186 -0
- gtm_ui_native-0.0.3.1/docs/components/button.md +126 -0
- gtm_ui_native-0.0.3.1/docs/components/button_group.md +110 -0
- gtm_ui_native-0.0.3.1/docs/components/card.md +126 -0
- gtm_ui_native-0.0.3.1/docs/components/checkbox.md +87 -0
- gtm_ui_native-0.0.3.1/docs/components/collapsible.md +88 -0
- gtm_ui_native-0.0.3.1/docs/components/dialog.md +151 -0
- gtm_ui_native-0.0.3.1/docs/components/field.md +250 -0
- gtm_ui_native-0.0.3.1/docs/components/frame.md +118 -0
- gtm_ui_native-0.0.3.1/docs/components/input.md +73 -0
- gtm_ui_native-0.0.3.1/docs/components/input_group.md +154 -0
- gtm_ui_native-0.0.3.1/docs/components/marker.md +156 -0
- gtm_ui_native-0.0.3.1/docs/components/menu.md +166 -0
- gtm_ui_native-0.0.3.1/docs/components/message.md +150 -0
- gtm_ui_native-0.0.3.1/docs/components/radio_group.md +110 -0
- gtm_ui_native-0.0.3.1/docs/components/select.md +112 -0
- gtm_ui_native-0.0.3.1/docs/components/separator.md +59 -0
- gtm_ui_native-0.0.3.1/docs/components/spinner.md +59 -0
- gtm_ui_native-0.0.3.1/docs/components/switch.md +80 -0
- gtm_ui_native-0.0.3.1/docs/components/table.md +216 -0
- gtm_ui_native-0.0.3.1/docs/components/tabs.md +119 -0
- gtm_ui_native-0.0.3.1/docs/components/textarea.md +67 -0
- gtm_ui_native-0.0.3.1/docs/components/typography.md +51 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/changelog.md +41 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/cli.md +151 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/components-json.md +111 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/dev.md +136 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/installation.md +51 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/introduction.md +52 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/javascript.md +43 -0
- gtm_ui_native-0.0.3.1/docs/getting_started/skills.md +118 -0
- gtm_ui_native-0.0.3.1/docs/resources/chart.md +229 -0
- gtm_ui_native-0.0.3.1/docs/resources/client_state_var.md +117 -0
- gtm_ui_native-0.0.3.1/docs/resources/events.md +85 -0
- gtm_ui_native-0.0.3.1/docs/resources/state.md +54 -0
- gtm_ui_native-0.0.3.1/docs/resources/theming.md +247 -0
- gtm_ui_native-0.0.3.1/docs/resources/typeset.md +223 -0
- gtm_ui_native-0.0.3.1/docs/styles/config/vocabularies/Native/accept.txt +78 -0
- gtm_ui_native-0.0.3.1/docs/utilities/markdown.md +220 -0
- gtm_ui_native-0.0.3.1/docs/utilities/scroll_fade.md +106 -0
- gtm_ui_native-0.0.3.1/docs/utilities/shimmer.md +207 -0
- gtm_ui_native-0.0.3.1/native/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/config.py +68 -0
- gtm_ui_native-0.0.3.1/native/core/__init__.py +17 -0
- gtm_ui_native-0.0.3.1/native/core/constants.py +21 -0
- gtm_ui_native-0.0.3.1/native/core/utils.py +39 -0
- gtm_ui_native-0.0.3.1/native/engine/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/engine/constants.py +9 -0
- gtm_ui_native-0.0.3.1/native/engine/generator.py +75 -0
- gtm_ui_native-0.0.3.1/native/engine/parser.py +284 -0
- gtm_ui_native-0.0.3.1/native/engine/utils.py +4 -0
- gtm_ui_native-0.0.3.1/native/export.py +146 -0
- gtm_ui_native-0.0.3.1/native/hooks/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/hooks/client_state.py +0 -0
- gtm_ui_native-0.0.3.1/native/hooks/head_components.py +54 -0
- gtm_ui_native-0.0.3.1/native/hooks/stylesheets.py +26 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/area_chart_01.py +134 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/area_chart_02.py +132 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_01.py +125 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_02.py +111 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_03.py +132 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/bar_chart_04.py +97 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/kpi_card_01.py +62 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/kpi_card_02.py +131 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_01.py +151 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_02.py +170 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_03.py +196 -0
- gtm_ui_native-0.0.3.1/native/lib/blocks/line_chart_04.py +105 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v1.py +75 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v2.py +76 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v3.py +76 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v4.py +84 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v5.py +140 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v6.py +85 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v7.py +95 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/area/v8.py +131 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v1.py +80 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v2.py +75 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v3.py +87 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v4.py +86 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v5.py +125 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v6.py +89 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v7.py +74 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/bar/v9.py +99 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v1.py +70 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v2.py +70 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v3.py +77 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v4.py +78 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v5.py +70 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v6.py +62 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v7.py +85 -0
- gtm_ui_native-0.0.3.1/native/lib/charts/line/v8.py +97 -0
- gtm_ui_native-0.0.3.1/native/lib/components/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/components/accordion_basic.py +45 -0
- gtm_ui_native-0.0.3.1/native/lib/components/attachment_group.py +49 -0
- gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_image.py +61 -0
- gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_sizes.py +33 -0
- gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_states.py +82 -0
- gtm_ui_native-0.0.3.1/native/lib/components/attachment_with_trigger.py +37 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_badge_with_icon.py +23 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_basic.py +19 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_dropdown_menu.py +22 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_group.py +31 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_group_count_icon.py +34 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_sizes.py +32 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_with_badge.py +22 -0
- gtm_ui_native-0.0.3.1/native/lib/components/avatar_with_group_count.py +31 -0
- gtm_ui_native-0.0.3.1/native/lib/components/badge_as_link.py +15 -0
- gtm_ui_native-0.0.3.1/native/lib/components/badge_custom_colors.py +29 -0
- gtm_ui_native-0.0.3.1/native/lib/components/badge_variants.py +14 -0
- gtm_ui_native-0.0.3.1/native/lib/components/badge_with_icon.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/badge_wtih_spinner.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/bubble_group.py +39 -0
- gtm_ui_native-0.0.3.1/native/lib/components/bubble_link_button.py +50 -0
- gtm_ui_native-0.0.3.1/native/lib/components/bubble_reactions.py +60 -0
- gtm_ui_native-0.0.3.1/native/lib/components/bubble_with_align.py +22 -0
- gtm_ui_native-0.0.3.1/native/lib/components/bubble_with_variants.py +65 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_as_link.py +11 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_default.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_destructive.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_ghost.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_group_dropdown.py +33 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_group_input.py +17 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_group_orientation.py +23 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_group_separator.py +12 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_group_size.py +29 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_group_split.py +17 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_icon.py +12 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_link.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_loading.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_outline.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_rounded.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_secondary.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_sizes.py +50 -0
- gtm_ui_native-0.0.3.1/native/lib/components/button_with_icon.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/card_edge_to_edge.py +37 -0
- gtm_ui_native-0.0.3.1/native/lib/components/card_image.py +31 -0
- gtm_ui_native-0.0.3.1/native/lib/components/card_small.py +61 -0
- gtm_ui_native-0.0.3.1/native/lib/components/card_spacing.py +115 -0
- gtm_ui_native-0.0.3.1/native/lib/components/checkbox_basic.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/checkbox_description.py +28 -0
- gtm_ui_native-0.0.3.1/native/lib/components/checkbox_disabled.py +24 -0
- gtm_ui_native-0.0.3.1/native/lib/components/checkbox_group.py +70 -0
- gtm_ui_native-0.0.3.1/native/lib/components/collapsible_basic.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/components/collapsible_nested.py +75 -0
- gtm_ui_native-0.0.3.1/native/lib/components/dialog_close_button.py +45 -0
- gtm_ui_native-0.0.3.1/native/lib/components/dialog_no_close_button.py +18 -0
- gtm_ui_native-0.0.3.1/native/lib/components/dialog_sticky_footer.py +46 -0
- gtm_ui_native-0.0.3.1/native/lib/components/field_general.py +122 -0
- gtm_ui_native-0.0.3.1/native/lib/components/frame_basic.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/frame_dense.py +23 -0
- gtm_ui_native-0.0.3.1/native/lib/components/frame_no_border.py +24 -0
- gtm_ui_native-0.0.3.1/native/lib/components/frame_stacked.py +22 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_basic_demo.py +14 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_custom_input.py +15 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_disabled.py +15 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_email.py +14 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_file_input.py +13 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_block_end.py +51 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_block_start.py +54 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_button.py +82 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_dropdown.py +45 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_icons.py +43 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_inline_end.py +19 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_inline_start.py +18 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_spinner.py +46 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_group_text.py +51 -0
- gtm_ui_native-0.0.3.1/native/lib/components/input_password.py +14 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_border.py +25 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_links_and_buttons.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_separator.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_shimmer.py +18 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_status.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_variants.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/marker_with_icon.py +24 -0
- gtm_ui_native-0.0.3.1/native/lib/components/menu_basic.py +16 -0
- gtm_ui_native-0.0.3.1/native/lib/components/menu_destructive.py +16 -0
- gtm_ui_native-0.0.3.1/native/lib/components/menu_icons.py +16 -0
- gtm_ui_native-0.0.3.1/native/lib/components/menu_shortcuts.py +19 -0
- gtm_ui_native-0.0.3.1/native/lib/components/message_with_actions.py +67 -0
- gtm_ui_native-0.0.3.1/native/lib/components/message_with_attachments.py +67 -0
- gtm_ui_native-0.0.3.1/native/lib/components/message_with_avatar.py +62 -0
- gtm_ui_native-0.0.3.1/native/lib/components/message_with_group.py +38 -0
- gtm_ui_native-0.0.3.1/native/lib/components/message_with_header_footer.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/components/radio_group_choice_card.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/components/radio_group_description.py +32 -0
- gtm_ui_native-0.0.3.1/native/lib/components/radio_group_disabled.py +31 -0
- gtm_ui_native-0.0.3.1/native/lib/components/radio_group_fieldset.py +37 -0
- gtm_ui_native-0.0.3.1/native/lib/components/radio_group_invalid.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/components/select_basic.py +24 -0
- gtm_ui_native-0.0.3.1/native/lib/components/select_disabled.py +23 -0
- gtm_ui_native-0.0.3.1/native/lib/components/select_form.py +39 -0
- gtm_ui_native-0.0.3.1/native/lib/components/select_optgroup.py +37 -0
- gtm_ui_native-0.0.3.1/native/lib/components/select_sizes.py +22 -0
- gtm_ui_native-0.0.3.1/native/lib/components/separator_horizontal.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/separator_list.py +26 -0
- gtm_ui_native-0.0.3.1/native/lib/components/separator_menu.py +32 -0
- gtm_ui_native-0.0.3.1/native/lib/components/separator_vertical.py +14 -0
- gtm_ui_native-0.0.3.1/native/lib/components/spinner_badge.py +13 -0
- gtm_ui_native-0.0.3.1/native/lib/components/spinner_button.py +13 -0
- gtm_ui_native-0.0.3.1/native/lib/components/spinner_marker.py +27 -0
- gtm_ui_native-0.0.3.1/native/lib/components/spinner_size.py +13 -0
- gtm_ui_native-0.0.3.1/native/lib/components/switch_basic.py +18 -0
- gtm_ui_native-0.0.3.1/native/lib/components/switch_disabled.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/switch_invalid.py +23 -0
- gtm_ui_native-0.0.3.1/native/lib/components/switch_sizes.py +32 -0
- gtm_ui_native-0.0.3.1/native/lib/components/switch_with_label.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/table_demo.py +212 -0
- gtm_ui_native-0.0.3.1/native/lib/components/table_demo_two.py +311 -0
- gtm_ui_native-0.0.3.1/native/lib/components/tabs_basic.py +81 -0
- gtm_ui_native-0.0.3.1/native/lib/components/tabs_disabled.py +17 -0
- gtm_ui_native-0.0.3.1/native/lib/components/tabs_icons.py +22 -0
- gtm_ui_native-0.0.3.1/native/lib/components/tabs_line_variant.py +15 -0
- gtm_ui_native-0.0.3.1/native/lib/components/tabs_vertical.py +18 -0
- gtm_ui_native-0.0.3.1/native/lib/components/textarea_basic_demo.py +7 -0
- gtm_ui_native-0.0.3.1/native/lib/components/textarea_disabled.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/components/textarea_field.py +21 -0
- gtm_ui_native-0.0.3.1/native/lib/components/textarea_invalid.py +23 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_blockquote.py +10 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_h1.py +8 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_h2.py +8 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_h3.py +8 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_h4.py +8 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_inline_code.py +8 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_list.py +10 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_p.py +8 -0
- gtm_ui_native-0.0.3.1/native/lib/components/typography_table.py +58 -0
- gtm_ui_native-0.0.3.1/native/lib/dashboards/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/dashboards/dashboard_01.py +358 -0
- gtm_ui_native-0.0.3.1/native/lib/dashboards/dashboard_02.py +283 -0
- gtm_ui_native-0.0.3.1/native/lib/dashboards/dashboard_03.py +444 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_01.py +80 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_02.py +59 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_03.py +81 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_04.py +92 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_05.py +64 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_06.py +81 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_07.py +48 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_08.py +37 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_09.py +28 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_10.py +76 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_11.py +128 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_12.py +39 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_13.py +33 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_14.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/card_15.py +65 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/decex_3.py +44 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/docex_1.py +31 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/docex_2.py +32 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/docex_4.py +48 -0
- gtm_ui_native-0.0.3.1/native/lib/examples/docex_5.py +66 -0
- gtm_ui_native-0.0.3.1/native/lib/typeset/set_four.md +28 -0
- gtm_ui_native-0.0.3.1/native/lib/typeset/set_one.md +241 -0
- gtm_ui_native-0.0.3.1/native/lib/typeset/set_three.md +35 -0
- gtm_ui_native-0.0.3.1/native/lib/typeset/set_two.md +49 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_demo.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_disabled.py +48 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_edges.py +109 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_horizontal.py +35 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_no_fade.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/scroll_fade_size.py +48 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_angle.py +17 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_color.py +15 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_duration.py +20 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_none.py +9 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_play_once.py +28 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_reverse.py +12 -0
- gtm_ui_native-0.0.3.1/native/lib/utilities/shimmer_spread.py +17 -0
- gtm_ui_native-0.0.3.1/native/native.py +13 -0
- gtm_ui_native-0.0.3.1/native/pages/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/pages/blocks.py +148 -0
- gtm_ui_native-0.0.3.1/native/pages/components.py +295 -0
- gtm_ui_native-0.0.3.1/native/pages/create.py +438 -0
- gtm_ui_native-0.0.3.1/native/pages/dashboard.py +40 -0
- gtm_ui_native-0.0.3.1/native/pages/docs.py +245 -0
- gtm_ui_native-0.0.3.1/native/pages/landing.py +88 -0
- gtm_ui_native-0.0.3.1/native/pages/typeset.py +274 -0
- gtm_ui_native-0.0.3.1/native/py.typed +0 -0
- gtm_ui_native-0.0.3.1/native/registry/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/accordion.py +12 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/attachment.py +10 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/avatar.py +6 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/badge.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/bubble.py +6 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/button.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/button_group.py +7 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/card.py +11 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/checkbox.py +5 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/collapsible.py +6 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/dialog.py +10 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/field.py +10 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/frame.py +11 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/input.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/input_group.py +6 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/marker.py +6 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/menu.py +12 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/message.py +11 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/radio_group.py +6 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/select.py +13 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/separator.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/spinner.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/switch.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/table.py +15 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/tabs.py +8 -0
- gtm_ui_native-0.0.3.1/native/registry/anatomy/textarea.py +3 -0
- gtm_ui_native-0.0.3.1/native/registry/colors.py +266 -0
- gtm_ui_native-0.0.3.1/native/registry/components.py +176 -0
- gtm_ui_native-0.0.3.1/native/registry/fonts.py +97 -0
- gtm_ui_native-0.0.3.1/native/registry/radii.py +24 -0
- gtm_ui_native-0.0.3.1/native/registry/styles.py +61 -0
- gtm_ui_native-0.0.3.1/native/registry/themes.py +435 -0
- gtm_ui_native-0.0.3.1/native/registry/typeset_options.py +77 -0
- gtm_ui_native-0.0.3.1/native/templates/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/native/templates/_copy_btn.py +45 -0
- gtm_ui_native-0.0.3.1/native/templates/_dashboard.py +84 -0
- gtm_ui_native-0.0.3.1/native/templates/_dashboard_example.py +63 -0
- gtm_ui_native-0.0.3.1/native/templates/_demo.py +81 -0
- gtm_ui_native-0.0.3.1/native/templates/_get_code.py +89 -0
- gtm_ui_native-0.0.3.1/native/templates/_get_typeset_code.py +115 -0
- gtm_ui_native-0.0.3.1/native/templates/_intro.py +169 -0
- gtm_ui_native-0.0.3.1/native/templates/_meta_tags.py +39 -0
- gtm_ui_native-0.0.3.1/native/templates/_source.py +57 -0
- gtm_ui_native-0.0.3.1/native/templates/_usage.py +112 -0
- gtm_ui_native-0.0.3.1/native/templates/anatomy.py +147 -0
- gtm_ui_native-0.0.3.1/native/templates/dashboard_introspect.py +65 -0
- gtm_ui_native-0.0.3.1/native/templates/docpage.py +41 -0
- gtm_ui_native-0.0.3.1/native/templates/footer.py +35 -0
- gtm_ui_native-0.0.3.1/native/templates/github.py +25 -0
- gtm_ui_native-0.0.3.1/native/templates/layout.py +57 -0
- gtm_ui_native-0.0.3.1/native/templates/masonary.py +42 -0
- gtm_ui_native-0.0.3.1/native/templates/navbar.py +116 -0
- gtm_ui_native-0.0.3.1/native/templates/sidebar.py +145 -0
- gtm_ui_native-0.0.3.1/native/templates/sublayout.py +63 -0
- gtm_ui_native-0.0.3.1/native/templates/theme.py +47 -0
- gtm_ui_native-0.0.3.1/native/templates/toc.py +225 -0
- gtm_ui_native-0.0.3.1/pyproject.toml +59 -0
- gtm_ui_native-0.0.3.1/pyrefly.toml +50 -0
- gtm_ui_native-0.0.3.1/pyrightconfig.json +8 -0
- gtm_ui_native-0.0.3.1/reflex.lock/bun.lock +566 -0
- gtm_ui_native-0.0.3.1/reflex.lock/package.json +46 -0
- gtm_ui_native-0.0.3.1/rxconfig.py +14 -0
- gtm_ui_native-0.0.3.1/scripts/generate_anatomy.py +267 -0
- gtm_ui_native-0.0.3.1/scripts/generate_llms.py +67 -0
- gtm_ui_native-0.0.3.1/scripts/generate_markdown.py +272 -0
- gtm_ui_native-0.0.3.1/scripts/generate_markdown_template.py +61 -0
- gtm_ui_native-0.0.3.1/scripts/generate_preview_cards.py +273 -0
- gtm_ui_native-0.0.3.1/scripts/generate_registry.py +324 -0
- gtm_ui_native-0.0.3.1/scripts/vercel_install.sh +14 -0
- gtm_ui_native-0.0.3.1/tach.toml +84 -0
- gtm_ui_native-0.0.3.1/tests/__init__.py +0 -0
- gtm_ui_native-0.0.3.1/tests/test_attachment.py +109 -0
- gtm_ui_native-0.0.3.1/tests/test_blocks_page.py +35 -0
- gtm_ui_native-0.0.3.1/tests/test_chart_tooltip.py +154 -0
- gtm_ui_native-0.0.3.1/tests/test_clean_code.py +46 -0
- gtm_ui_native-0.0.3.1/tests/test_cli_apply_theme.py +71 -0
- gtm_ui_native-0.0.3.1/tests/test_cli_dev.py +221 -0
- gtm_ui_native-0.0.3.1/tests/test_cli_init.py +332 -0
- gtm_ui_native-0.0.3.1/tests/test_cli_main.py +341 -0
- gtm_ui_native-0.0.3.1/tests/test_components_card_counts.py +166 -0
- gtm_ui_native-0.0.3.1/tests/test_create_page.py +179 -0
- gtm_ui_native-0.0.3.1/tests/test_dashboard_introspect.py +177 -0
- gtm_ui_native-0.0.3.1/tests/test_dialog.py +187 -0
- gtm_ui_native-0.0.3.1/tests/test_docs_error.py +107 -0
- gtm_ui_native-0.0.3.1/tests/test_field.py +138 -0
- gtm_ui_native-0.0.3.1/tests/test_font_family_names.py +107 -0
- gtm_ui_native-0.0.3.1/tests/test_frontmatter_order.py +34 -0
- gtm_ui_native-0.0.3.1/tests/test_generated_assets.py +226 -0
- gtm_ui_native-0.0.3.1/tests/test_get_code_copy.py +111 -0
- gtm_ui_native-0.0.3.1/tests/test_input_group.py +73 -0
- gtm_ui_native-0.0.3.1/tests/test_intro_token.py +92 -0
- gtm_ui_native-0.0.3.1/tests/test_menu.py +176 -0
- gtm_ui_native-0.0.3.1/tests/test_meta_tags.py +130 -0
- gtm_ui_native-0.0.3.1/tests/test_parser_source_token.py +64 -0
- gtm_ui_native-0.0.3.1/tests/test_radio_group_role.py +178 -0
- gtm_ui_native-0.0.3.1/tests/test_source_codeblock.py +196 -0
- gtm_ui_native-0.0.3.1/tests/test_switch_passthrough.py +353 -0
- gtm_ui_native-0.0.3.1/tests/test_table.py +306 -0
- gtm_ui_native-0.0.3.1/tests/test_tabs.py +618 -0
- gtm_ui_native-0.0.3.1/tests/test_theme_preset_url.py +364 -0
- gtm_ui_native-0.0.3.1/tests/test_toc_links.py +325 -0
- gtm_ui_native-0.0.3.1/tests/test_tooltip_token.py +205 -0
- gtm_ui_native-0.0.3.1/tests/test_typeset_page.py +289 -0
- gtm_ui_native-0.0.3.1/tests/test_ui_relative_imports.py +83 -0
- gtm_ui_native-0.0.3.1/tests/test_unstyled.py +387 -0
- gtm_ui_native-0.0.3.1/tests/test_unstyled_input_group.py +48 -0
- gtm_ui_native-0.0.3.1/tests/test_usage_token.py +253 -0
- gtm_ui_native-0.0.3.1/uv.lock +1781 -0
- 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.
|