Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Ship a Rails app to the App Store and Google Play. Every ruby_native command as a tool.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 ruby-native 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.19.1)于7天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, DiffCI
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fail-closed, change-aware verification for AI coding agents with affected-test guidance.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Ruby Native turns a Rails app into iOS and Android apps. This gem is the Rails-side integration: view helpers, a YAML config file, endpoints auto-mounted at /native, and a CLI for previewing and deploying builds. Full docs, including the complete helper reference and config schema, live at rubynative.com/docs.
It is built for teams with a Rails product whose customers want an app. You keep one codebase and one roadmap: Ruby Native renders the HTML you already write as native tab bars, navigation, forms, and push notifications, builds the apps in the cloud with no Xcode or Android Studio, and submits them to the App Store and Google Play. A coding agent can drive every step through the bundled MCP server, stopping only for the few clicks Apple keeps for a person. Apps built with it run on 150,000+ devices. Pricing is one plan per app, $199 a month or $1,990 a year, at rubynative.com/pricing; the phone preview costs nothing and needs no account.
gem "ruby_native"
The engine auto-mounts at /native. No route configuration needed.
Run the install generator:
rails generate ruby_native:install
This creates config/ruby_native.yml with tabs taken from your routes. If you use a coding agent, hand it the rest here:
bundle exec ruby_native mcp install
Then say: set up Ruby Native in this app. It wires the layout, checks its own work, and later drafts the listing, captures screenshots, and submits for review, stopping only for the few clicks Apple keeps for a person. By hand, the same steps are:
viewport-fit=cover to your layout : <meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
<%= stylesheet_link_tag :ruby_native %>
viewport-fit=cover is required for CSS env(safe-area-inset-*) variables to resolve to real values instead of 0.
: <%= native_tabs_tag %>
The full walkthrough, including safe area layout and hiding web-only navigation with native_app?, is at rubynative.com/docs/setup.
config/ruby_native.yml controls the native shell:
appearance:
tint_color: "#007AFF" background_color: "#FFFFFF"
tabs:
Changes are picked up without restarting the server in development. See rubynative.com/docs for the full schema: appearance and dark mode, navbar branding, Advanced Mode, OAuth, and linked domains.
Preview your app on a real device without deploying:
bundle exec ruby_native preview
This starts a Cloudflare tunnel and shows a QR code for the Ruby Native app to scan. Your Rails server needs to be running separately. Requires cloudflared:
brew install cloudflare/cloudflare/cloudflared
The tunnel points at port 3000, or at PORT when it is set, the same way rails server picks its port. Pass --port 4000 to override, or --url for an upstream that isn't on localhost.
See rubynative.com/docs/cli for deploy, login, and auto-deploying from CI.
Building with Inertia instead of ERB? @ruby-native/react and @ruby-native/vue provide the same helpers as npm packages, versioned alongside this gem. See rubynative.com/docs/inertia for setup.
Every docs page serves markdown: append .md to the URL or request Accept: text/markdown. For an index of everything, fetch rubynative.com/llms.txt, or llms-full.txt for the complete docs as a single file.
Docs tell an agent what to write. They don't tell it whether what it wrote works, and Ruby Native's signals fail silently on purpose: an app that doesn't recognize a data-native-* attribute ignores it. A typo renders nothing, raises nothing, and logs nothing, so it survives right up until someone opens the build and notices the missing button.
ruby_native mcp closes that loop. It speaks MCP over stdin and stdout. Three tools answer from your working copy, with no account involved:
| Tool | Answers |
|---|---|
check_views | Which signals in your templates are misspelled, duplicated, or newer than the installed gem |
lookup_signals | Every data-native-* attribute, the gem version it needs, and the helper that emits it |
validate_config | What in config/ruby_native.yml the apps reject outright, and what they quietly ignore |
Four more read your account, using the token ruby_native login already stored:
| Tool | Answers |
|---|---|
status | Where the app is on the way to the App Store, and what is in the way, with who clears each thing |
config_errors | What real devices reported failing over the last 48 hours, with the decode error behind each one |
deployed_builds | The build your users can actually install, and which signals it's too old to understand |
build_status | Whether one build succeeded, and the error if it didn't |
The pairs are the point. validate_config says what *will* fail to decode; config_errors says what did, on which devices. check_views compares your templates against the gem in your Gemfile; deployed_builds compares them against the binary in the store, which is usually the answer to "the attribute is right but nothing happens on my phone".
Full reference at rubynative.com/docs/cli. Register it in the project's .mcp.json, which Claude Code reads:
bundle exec ruby_native mcp install
Then say: set up Ruby Native in this app.
Installed as the Claude Code plugin (claude plugin marketplace add ruby-native/gem, then claude plugin install ruby-native@ruby-native), the server is the same command. The plugin asks for an optional Ruby Native token; leave it blank and the account tools use the login ruby_native login stored on this machine.
Or, in a client that takes JSON:
{
"mcpServers": { "ruby-native": { "command": "bundle", "args": ["exec", "ruby_native", "mcp"] } } }
The rest stage things with Ruby Native and reach Apple only on a build or a click on the dashboard: permissions_set, testers_add, icon_set, screenshots_setup, screenshots_capture, listing_push, listing_pull, and demo_account_set, each the same as its CLI command. submit is the one tool that reaches Apple on its own: it takes two calls with a token in between, so the agent has to show you what is going before it can send it, and withdraw takes it back out of the queue until Apple approves. The first three tools never leave your machine; the rest send your CLI token to rubynative.com. check_views needs the herb gem, same as ruby_native check.
MIT.