ruby_native 0.17.3 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +53 -1
- data/lib/generators/ruby_native/install_generator.rb +106 -13
- data/lib/generators/ruby_native/templates/ruby_native.yml +6 -7
- data/lib/ruby_native/cli/apple.rb +76 -0
- data/lib/ruby_native/cli/check.rb +44 -22
- data/lib/ruby_native/cli/command.rb +94 -0
- data/lib/ruby_native/cli/demo_account.rb +36 -0
- data/lib/ruby_native/cli/deploy.rb +33 -12
- data/lib/ruby_native/cli/icon.rb +29 -0
- data/lib/ruby_native/cli/link.rb +40 -0
- data/lib/ruby_native/cli/listing.rb +236 -0
- data/lib/ruby_native/cli/mcp/config_validator.rb +546 -0
- data/lib/ruby_native/cli/mcp/install.rb +54 -0
- data/lib/ruby_native/cli/mcp/platform.rb +172 -0
- data/lib/ruby_native/cli/mcp/prompts.rb +161 -0
- data/lib/ruby_native/cli/mcp.rb +1026 -0
- data/lib/ruby_native/cli/permissions.rb +80 -0
- data/lib/ruby_native/cli/preview.rb +1 -1
- data/lib/ruby_native/cli/screenshots.rb +111 -0
- data/lib/ruby_native/cli/ship.rb +16 -0
- data/lib/ruby_native/cli/status.rb +196 -0
- data/lib/ruby_native/cli/submit.rb +91 -0
- data/lib/ruby_native/cli/testers.rb +54 -0
- data/lib/ruby_native/cli.rb +70 -4
- data/lib/ruby_native/icons/material_symbols.txt +4229 -0
- data/lib/ruby_native/icons/sf_symbols.tsv +9237 -0
- data/lib/ruby_native/version.rb +1 -1
- data/lib/ruby_native.rb +9 -0
- metadata +20 -1
data/lib/ruby_native/cli.rb
CHANGED
|
@@ -1,14 +1,29 @@
|
|
|
1
|
+
require "ruby_native/cli/apple"
|
|
1
2
|
require "ruby_native/cli/check"
|
|
2
3
|
require "ruby_native/cli/credentials"
|
|
4
|
+
require "ruby_native/cli/demo_account"
|
|
3
5
|
require "ruby_native/cli/deploy"
|
|
6
|
+
require "ruby_native/cli/icon"
|
|
7
|
+
require "ruby_native/cli/link"
|
|
8
|
+
require "ruby_native/cli/listing"
|
|
4
9
|
require "ruby_native/cli/login"
|
|
10
|
+
require "ruby_native/cli/mcp"
|
|
11
|
+
require "ruby_native/cli/mcp/install"
|
|
12
|
+
require "ruby_native/cli/permissions"
|
|
5
13
|
require "ruby_native/cli/preview"
|
|
14
|
+
require "ruby_native/cli/screenshots"
|
|
15
|
+
require "ruby_native/cli/ship"
|
|
16
|
+
require "ruby_native/cli/status"
|
|
17
|
+
require "ruby_native/cli/submit"
|
|
18
|
+
require "ruby_native/cli/testers"
|
|
6
19
|
|
|
7
20
|
module RubyNative
|
|
8
21
|
class CLI
|
|
9
22
|
def self.start(argv)
|
|
10
23
|
command = argv.shift
|
|
11
24
|
case command
|
|
25
|
+
when "apple"
|
|
26
|
+
RubyNative::CLI::Apple.new(argv).run
|
|
12
27
|
when "check"
|
|
13
28
|
RubyNative::CLI::Check.new(argv).run
|
|
14
29
|
when "deploy"
|
|
@@ -17,14 +32,37 @@ module RubyNative
|
|
|
17
32
|
RubyNative::CLI::Preview.new(argv).run
|
|
18
33
|
when "login"
|
|
19
34
|
RubyNative::CLI::Login.new(argv).run
|
|
35
|
+
when "mcp"
|
|
36
|
+
if argv.first == "install"
|
|
37
|
+
RubyNative::CLI::Mcp::Install.new(argv.drop(1)).run
|
|
38
|
+
else
|
|
39
|
+
RubyNative::CLI::Mcp.new(argv).run
|
|
40
|
+
end
|
|
41
|
+
when "status"
|
|
42
|
+
RubyNative::CLI::Status.new(argv).run
|
|
43
|
+
when "ship"
|
|
44
|
+
RubyNative::CLI::Ship.new(argv).run
|
|
45
|
+
when "link"
|
|
46
|
+
RubyNative::CLI::Link.new(argv).run
|
|
47
|
+
when "submit"
|
|
48
|
+
RubyNative::CLI::Submit.new(argv).run
|
|
49
|
+
when "withdraw"
|
|
50
|
+
RubyNative::CLI::Withdraw.new(argv).run
|
|
20
51
|
when "logout"
|
|
21
52
|
RubyNative::CLI::Credentials.clear
|
|
22
53
|
puts "Logged out of Ruby Native."
|
|
23
54
|
when "screenshots"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
55
|
+
RubyNative::CLI::Screenshots.new(argv).run
|
|
56
|
+
when "permissions"
|
|
57
|
+
RubyNative::CLI::Permissions.new(argv).run
|
|
58
|
+
when "testers"
|
|
59
|
+
RubyNative::CLI::Testers.new(argv).run
|
|
60
|
+
when "icon"
|
|
61
|
+
RubyNative::CLI::Icon.new(argv).run
|
|
62
|
+
when "listing"
|
|
63
|
+
RubyNative::CLI::Listing.new(argv).run
|
|
64
|
+
when "demo_account"
|
|
65
|
+
RubyNative::CLI::DemoAccount.new(argv).run
|
|
28
66
|
when nil
|
|
29
67
|
print_usage
|
|
30
68
|
else
|
|
@@ -43,20 +81,48 @@ module RubyNative
|
|
|
43
81
|
puts "Usage: ruby_native <command> [options]"
|
|
44
82
|
puts ""
|
|
45
83
|
puts "Commands:"
|
|
84
|
+
puts " Every command that talks to rubynative.com reads the app from config/ruby_native.yml, or takes --app=ID."
|
|
85
|
+
puts " link [APP_ID] Link this project to an app on your account (writes ruby_native.app_id)"
|
|
86
|
+
puts " apple key PATH --key-id=KEY --issuer-id=ISSUER --team-id=TEAM"
|
|
87
|
+
puts " Hand over the App Store Connect key (.p8) and wait for Apple to accept it"
|
|
46
88
|
puts " check Validate your views against the signal vocabulary"
|
|
47
89
|
puts " --deployed Also compare against the build your users have"
|
|
48
90
|
puts " --paths=A,B Directories to scan (default: app/views)"
|
|
91
|
+
puts " demo_account set --name=EMAIL --password=SECRET Stage the reviewer's sign-in"
|
|
49
92
|
puts " deploy Build every configured platform and wait for it to finish"
|
|
50
93
|
puts " --ios Build iOS only"
|
|
51
94
|
puts " --android Build Android only"
|
|
52
95
|
puts " --platform=NAME Build for ios, android, or all"
|
|
53
96
|
puts " --if-needed Skip when this gem version is already built"
|
|
97
|
+
puts " --version=1.1 The App Store version to build (default: the next patch once live)"
|
|
54
98
|
puts " --skip-check Deploy without checking your views for broken signals"
|
|
99
|
+
puts " icon set PATH Set the app icon, a 1024x1024 PNG (ships with the next deploy)"
|
|
100
|
+
puts " listing push, pull, or publish the store listing in config/ruby_native_listing.yml"
|
|
101
|
+
puts " publish Send it to every store the app has started (--ios or --android for one)"
|
|
55
102
|
puts " login Authenticate with Ruby Native"
|
|
56
103
|
puts " logout Remove stored credentials"
|
|
104
|
+
puts " mcp Serve the check, signal, config, and status tools to a coding agent over MCP"
|
|
105
|
+
puts " install Register the server in .mcp.json for this project"
|
|
106
|
+
puts " permissions Show the camera, microphone, and photos permission strings"
|
|
107
|
+
puts " set NAME TEXT Set one (ships with the next deploy)"
|
|
57
108
|
puts " preview Start a tunnel and display a QR code"
|
|
58
109
|
puts " --port PORT Rails server port (default: PORT or 3000)"
|
|
59
110
|
puts " --url URL Tunnel to this URL instead of localhost"
|
|
111
|
+
puts " screenshots Show the screenshot setup and the latest captures"
|
|
112
|
+
puts " setup Set the pages with --paths=/a,/b,/c for every started store (--ios or --android for one)"
|
|
113
|
+
puts " --sign-in The pages need a signed-in user: generate the screenshot key"
|
|
114
|
+
puts " capture Capture screenshots against the deployed site for every started store (--ios or --android for one)"
|
|
115
|
+
puts " ship Print the prompt that walks an agent to the App Store and Google Play (the MCP server has it as /mcp__ruby-native__ship)"
|
|
116
|
+
puts " status Where the app is, what is next, and what is in the way. Works before login, from this checkout"
|
|
117
|
+
puts " submit Show exactly what would go to App Store review, then ask before sending it"
|
|
118
|
+
puts " --yes Skip the question"
|
|
119
|
+
puts " --confirm=NAME Say a questionnaire is done: app_privacy, age_rating, play_category, or play_content; or answer content rights: no_third_party_content or third_party_content"
|
|
120
|
+
puts " --ios The App Store only"
|
|
121
|
+
puts " --android Only what stands between the app and Google Play, and the promotion steps"
|
|
122
|
+
puts " testers List the testers for every started store"
|
|
123
|
+
puts " add EMAIL Invite a team member to TestFlight (Play keeps its list in Google Play Console)"
|
|
124
|
+
puts " --ios, --android One store only"
|
|
125
|
+
puts " withdraw Take the app back out of the App Store review queue. Works until Apple approves it"
|
|
60
126
|
end
|
|
61
127
|
end
|
|
62
128
|
end
|