shipthis 0.1.18 → 0.1.19
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.
- package/README.md +51 -15
- package/docs/assets/wizard-android-existing.gif +0 -0
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +37 -37
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,13 +11,12 @@
|
|
|
11
11
|
</a>
|
|
12
12
|
</h1>
|
|
13
13
|
<p align="center">
|
|
14
|
-
<
|
|
14
|
+
<b>ShipThis</b> is a <b>command line tool</b> for building and uploading your <a href="https://godotengine.org/">Godot</a> mobile games to the <b>Apple App Store</b> and <b>Google Play</b>.
|
|
15
15
|
</p>
|
|
16
16
|
<p align="center">
|
|
17
|
-
|
|
17
|
+
ShipThis compiles your game on managed cloud servers – no local build tools needed. It can be integrated with existing CI or run ad-hoc when you have a new version of your game ready.
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
|
-
|
|
21
20
|
<p align="center">
|
|
22
21
|
<picture>
|
|
23
22
|
<img height="266" width="504" alt="ShipThis Home" src="docs/assets/ship-outputx0.8.gif">
|
|
@@ -26,14 +25,25 @@
|
|
|
26
25
|
|
|
27
26
|
---
|
|
28
27
|
|
|
28
|
+
## ❓ Why use ShipThis?
|
|
29
|
+
|
|
30
|
+
- **✅ Always a free tier** – Enough usage for most solo devs.
|
|
31
|
+
- **✨ One-command setup** – Our interactive [`wizard`](https://shipthis.cc/docs/reference/game/wizard) guides you through configuration.
|
|
32
|
+
- **⏱ Skip the build tools** – No Xcode, Android Studio, or SDK installation required.
|
|
33
|
+
- **🔐 Simplify provisioning** – We handle iOS certificates, Android keystores, app signing, and API keys.
|
|
34
|
+
- **🚀 One-command deployment** – Publish to TestFlight or Google Play with a single CLI command.
|
|
35
|
+
|
|
36
|
+
> [!IMPORTANT]
|
|
37
|
+
> ShipThis is in public beta. While in beta, it is completely free to use. Early users will receive discounts or free access to premium features after launch.
|
|
38
|
+
|
|
29
39
|
## ⚡️ Quick start
|
|
30
40
|
|
|
31
41
|
### What you'll need
|
|
32
42
|
|
|
33
43
|
- A Godot 3.6 or 4.X game
|
|
34
44
|
- [Node.js](https://nodejs.org/en/download/) version 18.0 or above
|
|
35
|
-
- **If you are building an iOS game**
|
|
36
|
-
- **If you are building an Android game**
|
|
45
|
+
- **If you are building an iOS game** – an [Apple Developer account](https://developer.apple.com)
|
|
46
|
+
- **If you are building an Android game** – a [Play Console developer account](https://play.google.com/apps/publish/signup)
|
|
37
47
|
|
|
38
48
|
### 1. Install ShipThis
|
|
39
49
|
|
|
@@ -45,6 +55,8 @@ npm install -g shipthis
|
|
|
45
55
|
|
|
46
56
|
### 2. Create an account
|
|
47
57
|
|
|
58
|
+
> 🛠 All builds run on managed cloud servers – no need to install Xcode or Android Studio locally.
|
|
59
|
+
|
|
48
60
|
Set up an account with ShipThis by logging in for the first time using the [`shipthis login`](https://shipthis.cc/docs/reference/login) command.
|
|
49
61
|
|
|
50
62
|
```bash
|
|
@@ -53,7 +65,7 @@ shipthis login
|
|
|
53
65
|
|
|
54
66
|
### 3. Set up your game
|
|
55
67
|
|
|
56
|
-
Next, run the [wizard command](https://shipthis.cc/docs/reference/game/wizard) to configure your game on ShipThis. The command takes a platform parameter
|
|
68
|
+
Next, run the [wizard command](https://shipthis.cc/docs/reference/game/wizard) to configure your game on ShipThis. The command takes a platform parameter – this can be either **android** or **ios**. Run this command from within a Godot game directory (with a **project.godot** file):
|
|
57
69
|
|
|
58
70
|
### Set up an Android game
|
|
59
71
|
|
|
@@ -61,6 +73,21 @@ Next, run the [wizard command](https://shipthis.cc/docs/reference/game/wizard) t
|
|
|
61
73
|
shipthis game wizard android
|
|
62
74
|
```
|
|
63
75
|
|
|
76
|
+
<details>
|
|
77
|
+
<summary>Using the wizard for a published Google Play game</summary>
|
|
78
|
+
|
|
79
|
+
### Published game
|
|
80
|
+
|
|
81
|
+
If you have already published your game to Google Play then you will be able to skip manually creating the game in the Play Console and uploading the initial build. Once you have connected your Google Account, the wizard will be able to determine if the game exists in Google Play. Below is a recording of the wizard being run to configure a game called **ShipThis Godot Demo Game** which was previously published manually in the Play Console.
|
|
82
|
+
|
|
83
|
+
<p align="center">
|
|
84
|
+
<picture>
|
|
85
|
+
<img height="862" width="1344" alt="ShipThis Home" src="docs/assets/wizard-android-existing.gif">
|
|
86
|
+
</picture>
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
</details>
|
|
90
|
+
|
|
64
91
|
### Set up an iOS game
|
|
65
92
|
|
|
66
93
|
```bash
|
|
@@ -69,22 +96,31 @@ shipthis game wizard ios
|
|
|
69
96
|
|
|
70
97
|
### 4. Ship
|
|
71
98
|
|
|
72
|
-
Now you can publish new versions your game to TestFlight or Google Play with the [`shipthis game ship`](https://shipthis.cc/docs/reference/game/ship) command:
|
|
99
|
+
Now you can publish new versions of your game to TestFlight or Google Play with the [`shipthis game ship`](https://shipthis.cc/docs/reference/game/ship) command:
|
|
73
100
|
|
|
74
101
|
```bash
|
|
75
102
|
shipthis game ship
|
|
76
103
|
```
|
|
77
104
|
|
|
105
|
+
- 💡 Having issues? Check the [Troubleshooting](https://shipthis.cc/docs/troubleshooting) or [join our Discord](https://discord.gg/gPjn3S99k4)
|
|
106
|
+
- 📚 For detailed documentation, visit [shipthis.cc/docs](https://shipthis.cc/docs)
|
|
107
|
+
|
|
78
108
|
## 📖 Command Reference
|
|
79
109
|
|
|
80
|
-
### Topics
|
|
110
|
+
### 🗂 Topics
|
|
111
|
+
|
|
112
|
+
- [apple](https://shipthis.cc/docs/reference/apple) – Commands that relate to linking your ShipThis account with your Apple Developer Account
|
|
113
|
+
- [game](https://shipthis.cc/docs/reference/game) – Commands that relate to configuring the specific game in the current working directory.
|
|
114
|
+
|
|
115
|
+
### 🔧 Commands
|
|
81
116
|
|
|
82
|
-
- [
|
|
83
|
-
- [
|
|
117
|
+
- [dashboard](https://shipthis.cc/docs/reference/dashboard) – Opens the web browser to your shipthis.cc dashboard
|
|
118
|
+
- [login](https://shipthis.cc/docs/reference/login) – Sign in or create a new account
|
|
119
|
+
- [status](https://shipthis.cc/docs/reference/status) – Display your overall ShipThis account status
|
|
120
|
+
- [help](https://shipthis.cc/docs/reference/help) – Display help for a specific topic or command
|
|
84
121
|
|
|
85
|
-
|
|
122
|
+
## 🌍 Community
|
|
86
123
|
|
|
87
|
-
- [
|
|
88
|
-
- [
|
|
89
|
-
-
|
|
90
|
-
- [help](https://shipthis.cc/docs/reference/help) - Display help for a specific topic or command
|
|
124
|
+
- 💬 [Join us on Discord](https://discord.gg/gPjn3S99k4)
|
|
125
|
+
- 🐛 [Report an issue](https://github.com/shipth-is/cli/issues)
|
|
126
|
+
- 📣 Feature ideas? Feedback? We’d love to hear from you – email support@shipthis.cc
|
|
Binary file
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shipthis",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "shipthis",
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.19",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@expo/apple-utils": "2.0.3",
|
package/oclif.manifest.json
CHANGED
|
@@ -695,10 +695,10 @@
|
|
|
695
695
|
"readme.js"
|
|
696
696
|
]
|
|
697
697
|
},
|
|
698
|
-
"apple:
|
|
698
|
+
"apple:certificate:create": {
|
|
699
699
|
"aliases": [],
|
|
700
700
|
"args": {},
|
|
701
|
-
"description": "Creates an
|
|
701
|
+
"description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
|
|
702
702
|
"examples": [
|
|
703
703
|
"<%= config.bin %> <%= command.id %>",
|
|
704
704
|
"<%= config.bin %> <%= command.id %> --force"
|
|
@@ -720,7 +720,7 @@
|
|
|
720
720
|
},
|
|
721
721
|
"hasDynamicHelp": false,
|
|
722
722
|
"hiddenAliases": [],
|
|
723
|
-
"id": "apple:
|
|
723
|
+
"id": "apple:certificate:create",
|
|
724
724
|
"pluginAlias": "shipthis",
|
|
725
725
|
"pluginName": "shipthis",
|
|
726
726
|
"pluginType": "core",
|
|
@@ -730,11 +730,11 @@
|
|
|
730
730
|
"dist",
|
|
731
731
|
"commands",
|
|
732
732
|
"apple",
|
|
733
|
-
"
|
|
733
|
+
"certificate",
|
|
734
734
|
"create.js"
|
|
735
735
|
]
|
|
736
736
|
},
|
|
737
|
-
"apple:
|
|
737
|
+
"apple:certificate:export": {
|
|
738
738
|
"aliases": [],
|
|
739
739
|
"args": {
|
|
740
740
|
"file": {
|
|
@@ -743,9 +743,9 @@
|
|
|
743
743
|
"required": true
|
|
744
744
|
}
|
|
745
745
|
},
|
|
746
|
-
"description": "Saves the current
|
|
746
|
+
"description": "Saves the current Apple Distribution Certificate to a ZIP file.",
|
|
747
747
|
"examples": [
|
|
748
|
-
"<%= config.bin %> <%= command.id %>
|
|
748
|
+
"<%= config.bin %> <%= command.id %> userCert.zip"
|
|
749
749
|
],
|
|
750
750
|
"flags": {
|
|
751
751
|
"force": {
|
|
@@ -758,7 +758,7 @@
|
|
|
758
758
|
},
|
|
759
759
|
"hasDynamicHelp": false,
|
|
760
760
|
"hiddenAliases": [],
|
|
761
|
-
"id": "apple:
|
|
761
|
+
"id": "apple:certificate:export",
|
|
762
762
|
"pluginAlias": "shipthis",
|
|
763
763
|
"pluginName": "shipthis",
|
|
764
764
|
"pluginType": "core",
|
|
@@ -769,11 +769,11 @@
|
|
|
769
769
|
"dist",
|
|
770
770
|
"commands",
|
|
771
771
|
"apple",
|
|
772
|
-
"
|
|
772
|
+
"certificate",
|
|
773
773
|
"export.js"
|
|
774
774
|
]
|
|
775
775
|
},
|
|
776
|
-
"apple:
|
|
776
|
+
"apple:certificate:import": {
|
|
777
777
|
"aliases": [],
|
|
778
778
|
"args": {
|
|
779
779
|
"file": {
|
|
@@ -782,9 +782,9 @@
|
|
|
782
782
|
"required": true
|
|
783
783
|
}
|
|
784
784
|
},
|
|
785
|
-
"description": "Imports an
|
|
785
|
+
"description": "Imports an iOS Distribution Certificate to your ShipThis account",
|
|
786
786
|
"examples": [
|
|
787
|
-
"<%= config.bin %> <%= command.id %>
|
|
787
|
+
"<%= config.bin %> <%= command.id %> userCert.zip"
|
|
788
788
|
],
|
|
789
789
|
"flags": {
|
|
790
790
|
"force": {
|
|
@@ -796,7 +796,7 @@
|
|
|
796
796
|
},
|
|
797
797
|
"hasDynamicHelp": false,
|
|
798
798
|
"hiddenAliases": [],
|
|
799
|
-
"id": "apple:
|
|
799
|
+
"id": "apple:certificate:import",
|
|
800
800
|
"pluginAlias": "shipthis",
|
|
801
801
|
"pluginName": "shipthis",
|
|
802
802
|
"pluginType": "core",
|
|
@@ -807,14 +807,14 @@
|
|
|
807
807
|
"dist",
|
|
808
808
|
"commands",
|
|
809
809
|
"apple",
|
|
810
|
-
"
|
|
810
|
+
"certificate",
|
|
811
811
|
"import.js"
|
|
812
812
|
]
|
|
813
813
|
},
|
|
814
|
-
"apple:
|
|
814
|
+
"apple:certificate:status": {
|
|
815
815
|
"aliases": [],
|
|
816
816
|
"args": {},
|
|
817
|
-
"description": "Displays the status of
|
|
817
|
+
"description": "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.\nThese are used to sign all of your iOS apps.",
|
|
818
818
|
"examples": [
|
|
819
819
|
"<%= config.bin %> <%= command.id %>",
|
|
820
820
|
"<%= config.bin %> <%= command.id %> --noAppleAuth"
|
|
@@ -829,7 +829,7 @@
|
|
|
829
829
|
},
|
|
830
830
|
"hasDynamicHelp": false,
|
|
831
831
|
"hiddenAliases": [],
|
|
832
|
-
"id": "apple:
|
|
832
|
+
"id": "apple:certificate:status",
|
|
833
833
|
"pluginAlias": "shipthis",
|
|
834
834
|
"pluginName": "shipthis",
|
|
835
835
|
"pluginType": "core",
|
|
@@ -840,14 +840,14 @@
|
|
|
840
840
|
"dist",
|
|
841
841
|
"commands",
|
|
842
842
|
"apple",
|
|
843
|
-
"
|
|
843
|
+
"certificate",
|
|
844
844
|
"status.js"
|
|
845
845
|
]
|
|
846
846
|
},
|
|
847
|
-
"apple:
|
|
847
|
+
"apple:apiKey:create": {
|
|
848
848
|
"aliases": [],
|
|
849
849
|
"args": {},
|
|
850
|
-
"description": "Creates an
|
|
850
|
+
"description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.",
|
|
851
851
|
"examples": [
|
|
852
852
|
"<%= config.bin %> <%= command.id %>",
|
|
853
853
|
"<%= config.bin %> <%= command.id %> --force"
|
|
@@ -869,7 +869,7 @@
|
|
|
869
869
|
},
|
|
870
870
|
"hasDynamicHelp": false,
|
|
871
871
|
"hiddenAliases": [],
|
|
872
|
-
"id": "apple:
|
|
872
|
+
"id": "apple:apiKey:create",
|
|
873
873
|
"pluginAlias": "shipthis",
|
|
874
874
|
"pluginName": "shipthis",
|
|
875
875
|
"pluginType": "core",
|
|
@@ -879,11 +879,11 @@
|
|
|
879
879
|
"dist",
|
|
880
880
|
"commands",
|
|
881
881
|
"apple",
|
|
882
|
-
"
|
|
882
|
+
"apiKey",
|
|
883
883
|
"create.js"
|
|
884
884
|
]
|
|
885
885
|
},
|
|
886
|
-
"apple:
|
|
886
|
+
"apple:apiKey:export": {
|
|
887
887
|
"aliases": [],
|
|
888
888
|
"args": {
|
|
889
889
|
"file": {
|
|
@@ -892,9 +892,9 @@
|
|
|
892
892
|
"required": true
|
|
893
893
|
}
|
|
894
894
|
},
|
|
895
|
-
"description": "Saves the current
|
|
895
|
+
"description": "Saves the current App Store Connect API Key to a ZIP file",
|
|
896
896
|
"examples": [
|
|
897
|
-
"<%= config.bin %> <%= command.id %>
|
|
897
|
+
"<%= config.bin %> <%= command.id %> userApiKey.zip"
|
|
898
898
|
],
|
|
899
899
|
"flags": {
|
|
900
900
|
"force": {
|
|
@@ -907,7 +907,7 @@
|
|
|
907
907
|
},
|
|
908
908
|
"hasDynamicHelp": false,
|
|
909
909
|
"hiddenAliases": [],
|
|
910
|
-
"id": "apple:
|
|
910
|
+
"id": "apple:apiKey:export",
|
|
911
911
|
"pluginAlias": "shipthis",
|
|
912
912
|
"pluginName": "shipthis",
|
|
913
913
|
"pluginType": "core",
|
|
@@ -918,11 +918,11 @@
|
|
|
918
918
|
"dist",
|
|
919
919
|
"commands",
|
|
920
920
|
"apple",
|
|
921
|
-
"
|
|
921
|
+
"apiKey",
|
|
922
922
|
"export.js"
|
|
923
923
|
]
|
|
924
924
|
},
|
|
925
|
-
"apple:
|
|
925
|
+
"apple:apiKey:import": {
|
|
926
926
|
"aliases": [],
|
|
927
927
|
"args": {
|
|
928
928
|
"file": {
|
|
@@ -931,9 +931,9 @@
|
|
|
931
931
|
"required": true
|
|
932
932
|
}
|
|
933
933
|
},
|
|
934
|
-
"description": "Imports an
|
|
934
|
+
"description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
|
|
935
935
|
"examples": [
|
|
936
|
-
"<%= config.bin %> <%= command.id %>
|
|
936
|
+
"<%= config.bin %> <%= command.id %> userApiKey.zip"
|
|
937
937
|
],
|
|
938
938
|
"flags": {
|
|
939
939
|
"force": {
|
|
@@ -945,7 +945,7 @@
|
|
|
945
945
|
},
|
|
946
946
|
"hasDynamicHelp": false,
|
|
947
947
|
"hiddenAliases": [],
|
|
948
|
-
"id": "apple:
|
|
948
|
+
"id": "apple:apiKey:import",
|
|
949
949
|
"pluginAlias": "shipthis",
|
|
950
950
|
"pluginName": "shipthis",
|
|
951
951
|
"pluginType": "core",
|
|
@@ -956,14 +956,14 @@
|
|
|
956
956
|
"dist",
|
|
957
957
|
"commands",
|
|
958
958
|
"apple",
|
|
959
|
-
"
|
|
959
|
+
"apiKey",
|
|
960
960
|
"import.js"
|
|
961
961
|
]
|
|
962
962
|
},
|
|
963
|
-
"apple:
|
|
963
|
+
"apple:apiKey:status": {
|
|
964
964
|
"aliases": [],
|
|
965
965
|
"args": {},
|
|
966
|
-
"description": "Displays the status of
|
|
966
|
+
"description": "Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.\nThis API key is used to automatically publish your games to the App Store.",
|
|
967
967
|
"examples": [
|
|
968
968
|
"<%= config.bin %> <%= command.id %>",
|
|
969
969
|
"<%= config.bin %> <%= command.id %> --noAppleAuth"
|
|
@@ -978,7 +978,7 @@
|
|
|
978
978
|
},
|
|
979
979
|
"hasDynamicHelp": false,
|
|
980
980
|
"hiddenAliases": [],
|
|
981
|
-
"id": "apple:
|
|
981
|
+
"id": "apple:apiKey:status",
|
|
982
982
|
"pluginAlias": "shipthis",
|
|
983
983
|
"pluginName": "shipthis",
|
|
984
984
|
"pluginType": "core",
|
|
@@ -989,7 +989,7 @@
|
|
|
989
989
|
"dist",
|
|
990
990
|
"commands",
|
|
991
991
|
"apple",
|
|
992
|
-
"
|
|
992
|
+
"apiKey",
|
|
993
993
|
"status.js"
|
|
994
994
|
]
|
|
995
995
|
},
|
|
@@ -2238,5 +2238,5 @@
|
|
|
2238
2238
|
]
|
|
2239
2239
|
}
|
|
2240
2240
|
},
|
|
2241
|
-
"version": "0.1.
|
|
2241
|
+
"version": "0.1.19"
|
|
2242
2242
|
}
|
package/package.json
CHANGED