一键导入
rb-hotwire-native
Building native iOS/Android shells with Hotwire Native: path configuration, bridge components, native navigation, Turbo Native bridges.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Building native iOS/Android shells with Hotwire Native: path configuration, bridge components, native navigation, Turbo Native bridges.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes, opportunities, deprecations). Run periodically or before releases. NOT part of the distributed plugin.
CONTRIBUTOR TOOL - Check the plugin against current cached Claude Code docs. Use before releases or after Claude docs changes to separate real schema drift from stale local assumptions. Not part of the distributed plugin.
Guide plugin development workflow for this repo. Use when editing shipped plugin files under plugins/ruby-grape-rails/, release/docs metadata, or contributor tooling under .claude/.
Analyze observational skill-effectiveness signals across scanned sessions. Use for exploratory monitoring and recommendation triage, not as a release gate.
Initializing the Ruby/Rails/Grape plugin: writes stack notes (queues, ORM-per-package, layout) into CLAUDE.md. Triggers: "initialize plugin", "setup ruby plugin", "configure Claude for Rails".
Walking a user through the Ruby/Rails/Grape plugin commands, capabilities, and workflow. Tutorial-style intro for newcomers who want to learn what the plugin offers rather than tackle a specific task.
| name | rb:hotwire-native |
| description | Building native iOS/Android shells with Hotwire Native: path configuration, bridge components, native navigation, Turbo Native bridges. |
| effort | medium |
| disable-model-invocation | true |
Hotwire Native wraps your web app in a native shell (iOS/Android), providing:
┌─────────────────────────────────────────────────────────────┐
│ HOTWIRE NATIVE ARCHITECTURE │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ iOS App │ │ Android App │ │
│ │ (Swift/UIKit)│ │ (Kotlin) │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ └────────┬───────────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ Turbo Native │ │
│ │ Navigator │ │
│ └────────┬────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ WebView │ │
│ │ (WKWebView/ │ │
│ │ WebChromeClient)│ │
│ └────────┬────────┘ │
│ │ │
│ │ HTTP/WebSocket │
│ │ │
│ ┌────────▼────────┐ │
│ │ Rails App │ │
│ │ (Turbo/ │ │
│ │ Stimulus) │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
See detailed setup guides:
Declarative routing rules control native vs web behavior:
{
"rules": [
{
"patterns": ["/sign_in", "/sign_up"],
"properties": { "context": "modal" }
},
{
"patterns": ["/settings/*"],
"properties": { "context": "default" }
}
]
}
See Path Configuration for full reference.
Bridge components expose native SDKs to your web app:
// Web side
import { BridgeComponent } from "@hotwired/strada"
export default class extends BridgeComponent {
static component = "datepicker"
openDatePicker() {
this.send("open", { minDate: "2024-01-01" })
}
}
See Bridge Components for component authoring.
| Need | Reference |
|---|---|
| iOS Hotwire Native install + project structure | ${CLAUDE_SKILL_DIR}/references/ios-setup.md |
| Android Hotwire Native install + project structure | ${CLAUDE_SKILL_DIR}/references/android-setup.md |
| path-configuration.json semantics + matching rules | ${CLAUDE_SKILL_DIR}/references/path-configuration.md |
| bridge component authoring (web ↔ native messaging) | ${CLAUDE_SKILL_DIR}/references/bridge-components.md |
| ready-made bridge components (Camera, Location, Share, Alerts) | ${CLAUDE_SKILL_DIR}/references/common-components.md |
| native screens — when to choose native UI over web | ${CLAUDE_SKILL_DIR}/references/native-screens.md |
| push-notification wiring (APNS / FCM) | ${CLAUDE_SKILL_DIR}/references/push-notifications.md |
| offline-mode strategy + caching | ${CLAUDE_SKILL_DIR}/references/offline-support.md |
| testing native flows + bridge component tests | ${CLAUDE_SKILL_DIR}/references/testing.md |
| Hotwire-Native production best practices | ${CLAUDE_SKILL_DIR}/references/best-practices.md |
| Hotwire-Native anti-patterns | ${CLAUDE_SKILL_DIR}/references/anti-patterns.md |
| Decision | Recommendation |
|---|---|
| Web vs Native screen | Start with web; use native for platform-specific features (camera, GPS) |
| Bridge component needed? | Use when HTML5 API insufficient (background location, push notifications) |
| Path config patterns | Use wildcards sparingly; prefer explicit paths |
| Testing strategy | Unit test web; integration test native flows on real devices |