shipthis 0.0.32 → 0.0.33

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.
@@ -9,6 +9,8 @@ Commands in the apple apiKey topic are prefixed `shipthis apple apiKey`. These c
9
9
 
10
10
  :::info
11
11
  An **App Store Connect API key** is used to authenticate and authorize automated interactions with Apple's App Store Connect API, enabling tasks like managing app metadata, TestFlight, and sales reports.
12
+
13
+ **ShipThis uses one of these keys to automatically upload new builds of your games.**
12
14
  :::
13
15
 
14
16
  :::tip
@@ -11,6 +11,8 @@ These commands relate to iOS Distribution Certificates within your Apple Develop
11
11
 
12
12
  :::info
13
13
  An **iOS Distribution Certificate** is used to authenticate and authorize the distribution of iOS apps, ensuring they are signed and trusted for installation on devices or submission to the App Store.
14
+
15
+ **ShipThis uses this certificate on our cloud-build servers when compiling new builds of your game.**
14
16
  :::
15
17
 
16
18
  :::tip
@@ -13,7 +13,7 @@ your game code. It should not be confused with the command [`shipthis game ship`
13
13
 
14
14
  ## Example
15
15
 
16
- [![asciicast](https://asciinema.org/a/m2i3bOvZHUpQXFWtYXc7UnaKQ.svg)](https://asciinema.org/a/m2i3bOvZHUpQXFWtYXc7UnaKQ)
16
+ [![asciicast](https://asciinema.org/a/m2i3bOvZHUpQXFWtYXc7UnaKQ.svg)](https://asciinema.org/a/m2i3bOvZHUpQXFWtYXc7UnaKQ#shipthis-col160row32)
17
17
 
18
18
  ## Commands
19
19
 
@@ -3,13 +3,13 @@
3
3
  ## Description
4
4
 
5
5
  :::tip
6
- We recommend configuring your game using the [`shipthis game wizard`](/docs/reference/game/wizard).
6
+ We recommend creating your game using the [`shipthis game wizard`](/docs/reference/game/wizard).
7
7
  The `shipthis game create` command is the first step run by the wizard
8
8
  :::
9
9
 
10
10
  Creates a new game in your [ShipThis account](https://shipthis.cc/games).
11
11
 
12
- It will read the name of your game from your `project.godot` file. You will be
12
+ ShipThis will read the name of your game from your `project.godot` file. You will be
13
13
  prompted to confirm this name, or you can specify one with the `--name` flag.
14
14
 
15
15
  If there is already a ShipThis game config file (`shipthis.json`) in the current
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Description
4
4
 
5
- Shows and sets the details of the current game.
5
+ Shows and sets the details of the current game. These details are used by when your game is built on our cloud servers.
6
6
 
7
7
  If you run the command without any flags it will show the details of the current
8
8
  game.
@@ -12,10 +12,10 @@ value, it will output all the values again.
12
12
 
13
13
  The following fields can only be changed if you have the `--force` flag set:
14
14
 
15
- - `--gameEngine` - Change the Game Engine (currently only "godot" is supported)
16
- - `--gameEngineVersion` - Change the version of the Game Engine (currently only 3.6 and 4.3 are supported)
17
- - `--iosBundleId` - iOS Bundle ID
18
- - `--androidPackageName` Android Package Name (not currently used)
15
+ - **gameEngine** - Change the Game Engine (currently only "godot" is supported)
16
+ - **gameEngineVersion** - Change the version of the Game Engine (currently only 3.6 and 4.3 are supported)
17
+ - **iosBundleId** - iOS Bundle ID
18
+ - **androidPackageName** Android Package Name (not currently used)
19
19
 
20
20
  :::tip
21
21
  After changing these values, you will need to trigger a new build of your game with [`shipthis game ship`](/docs/reference/game/ship)
@@ -4,6 +4,10 @@
4
4
 
5
5
  Downloads the shipthis.json file for a given game into the current directory.
6
6
 
7
+ ## Example
8
+
9
+ [![asciicast](https://asciinema.org/a/kAclG6bghhwuXWP4E5NUssAfA.svg)](https://asciinema.org/a/kAclG6bghhwuXWP4E5NUssAfA#shipthis-col100row32)
10
+
7
11
  ## Help Output
8
12
 
9
13
  ```
@@ -1,19 +1,46 @@
1
1
  # Topic: `game ios app`
2
2
 
3
- Commands related to the App Store App for a specific game
3
+ Commands in the `game ios app` topic are prefixed `shipthis game ios app`. They relate to the App Store App and BundleId for for a specific game (generally in the currently directory).
4
4
 
5
+ :::info
6
+ An **App Store App** is the public-facing application available in the App Store. It includes metadata like descriptions, screenshots, and submission details, representing the final product users download.
7
+
8
+ A **Bundle ID** is a unique identifier for your app within Apple’s ecosystem. It connects your app to services, certificates, and provisioning profiles, ensuring it can be built, run, and managed correctly.
9
+
10
+ **You can view the registered Bundle IDs (Identifiers) and their associated capabilities in the [Apple Developer Portal](https://developer.apple.com/account/resources/identifiers/list)**
11
+
12
+ :::
13
+
14
+ :::tip
15
+ You will need to be authenticated against ShipThis and Apple before you can use
16
+ these commands. To do that please run the following commands first:
17
+
18
+ - [`shipthis login`](/docs/reference/login)
19
+ - [`shipthis apple login`](/docs/reference/apple/login)
20
+
21
+ :::
5
22
 
6
23
  ## Commands
7
24
 
8
- ### game ios app create
25
+ ### `game ios app create`
9
26
 
10
27
  #### Description
11
28
 
12
- Creates an App and BundleId in the Apple Developer Portal.
29
+ Creates an App and BundleId in the Apple Developer Portal. This command is run
30
+ as part of the [`shipthis game wizard`](/docs/reference/game/wizard) command.
31
+
32
+ When run, this command will register a new App Store App and BundleId using the App
33
+ Store Connect API. It will ask you to confirm the name of the App and the BundleId
34
+ string which is typically in the form of `com.mycompany.mygame`. Both of these need
35
+ to be unique within the Apple ecosystem. ShipThis will suggest values for these.
36
+
37
+ #### Example
38
+
39
+ [![asciicast](https://asciinema.org/a/xc5B3aQjSDU3ErUjyi2oAYUvG.svg)](https://asciinema.org/a/xc5B3aQjSDU3ErUjyi2oAYUvG#shipthis-col120row32)
13
40
 
14
41
  #### Help Output
15
42
 
16
- ```
43
+ ```bash
17
44
  USAGE
18
45
  $ shipthis game ios app create [-q] [-g <value>] [-n <value>] [-b <value>] [-f]
19
46
 
@@ -31,15 +58,25 @@ EXAMPLES
31
58
  $ shipthis game ios app create
32
59
  ```
33
60
 
34
- ### game ios app status
61
+ ### `game ios app status`
35
62
 
36
63
  #### Description
37
64
 
38
- Shows the Game iOS App status.
65
+ Shows the Game iOS App status. The output will tell you if you need to run the
66
+ create command or sync command.
67
+
68
+ - If the App does not exist in the Apple Developer Portal then you should run the
69
+ `shipthis game ios app create` command
70
+ - If you have updated your **export_presets.cfg** file with new capabilities then
71
+ you should run the `shipthis game ios app sync` command.
72
+
73
+ #### Example
74
+
75
+ [![asciicast](https://asciinema.org/a/XbQ1iKf1W021xOF5hupAAadhA.svg)](https://asciinema.org/a/XbQ1iKf1W021xOF5hupAAadhA#shipthis-col120row32)
39
76
 
40
77
  #### Help Output
41
78
 
42
- ```
79
+ ```bash
43
80
  USAGE
44
81
  $ shipthis game ios app status [-g <value>]
45
82
 
@@ -53,15 +90,38 @@ EXAMPLES
53
90
  $ shipthis game ios app status
54
91
  ```
55
92
 
56
- ### game ios app sync
93
+ ### `game ios app sync`
57
94
 
58
95
  #### Description
59
96
 
60
97
  Synchronies the Apple App &#34;BundleId&#34; with the capabilities from the local project.
61
98
 
99
+ This command will read your **export_presets.cfg** file and determine which capabilities
100
+ to enable in the Apple Developer Portal.
101
+
102
+ Currently, only the following permissions are supported:
103
+
104
+ - **Access WiFi**
105
+ - **Push Notifications**
106
+
107
+ :::warning
108
+
109
+ If your game uses other capabilities or if you are using plugins to enable certain
110
+ features such as **GPS** or **file access**, please get in touch so that we can work with you.
111
+
112
+ **ShipThis is still in beta and we need your help to improve it.**
113
+
114
+ :::
115
+
116
+ :::tip
117
+ You do not need to have an **export_presets.cfg** file in your game directory.
118
+ ShipThis will use default values for this file if it does not exist.
119
+ :::
120
+
121
+
62
122
  #### Help Output
63
123
 
64
- ```
124
+ ```bash
65
125
  USAGE
66
126
  $ shipthis game ios app sync [-q] [-g <value>] [-f]
67
127
 
package/docs/game/ios.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # Topic: `game ios`
2
2
 
3
- Commands in the Game iOS topic are prefixed `shipthis game ios`. They relate to
4
- managing the iOS platform configuration for the game in the current directory.
3
+ Commands in the `game ios` topic are prefixed `shipthis game ios`. They relate to
4
+ managing the iOS platform configuration for a specific game (generally in the
5
+ currently directory).
5
6
 
6
7
  :::tip Info
7
8
  You will need to be authenticated against ShipThis and Apple before you can use
package/docs/game/job.md CHANGED
@@ -1,12 +1,10 @@
1
1
  # Topic: `game job`
2
2
 
3
- Commands related to jobs for a specific game
4
-
3
+ Commands in the `game job` topic are prefixed `shipthis game job`. They relate to jobs for a specific game (generally in the currently directory).
5
4
 
6
5
  ## Commands
7
6
 
8
-
9
- ### game job list
7
+ ### `game job list`
10
8
 
11
9
  #### Description
12
10
 
@@ -36,7 +34,7 @@ EXAMPLES
36
34
  $ shipthis game job list --gameId 0c179fc4
37
35
  ```
38
36
 
39
- ### game job status
37
+ ### `game job status`
40
38
 
41
39
  #### Description
42
40
 
@@ -514,10 +514,10 @@
514
514
  "wizard.js"
515
515
  ]
516
516
  },
517
- "apple:apiKey:create": {
517
+ "apple:certificate:create": {
518
518
  "aliases": [],
519
519
  "args": {},
520
- "description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.",
520
+ "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
521
521
  "examples": [
522
522
  "<%= config.bin %> <%= command.id %>",
523
523
  "<%= config.bin %> <%= command.id %> --force"
@@ -539,7 +539,7 @@
539
539
  },
540
540
  "hasDynamicHelp": false,
541
541
  "hiddenAliases": [],
542
- "id": "apple:apiKey:create",
542
+ "id": "apple:certificate:create",
543
543
  "pluginAlias": "shipthis",
544
544
  "pluginName": "shipthis",
545
545
  "pluginType": "core",
@@ -549,11 +549,11 @@
549
549
  "dist",
550
550
  "commands",
551
551
  "apple",
552
- "apiKey",
552
+ "certificate",
553
553
  "create.js"
554
554
  ]
555
555
  },
556
- "apple:apiKey:export": {
556
+ "apple:certificate:export": {
557
557
  "aliases": [],
558
558
  "args": {
559
559
  "file": {
@@ -562,9 +562,9 @@
562
562
  "required": true
563
563
  }
564
564
  },
565
- "description": "Saves the current App Store Connect API Key to a ZIP file",
565
+ "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
566
566
  "examples": [
567
- "<%= config.bin %> <%= command.id %> userApiKey.zip"
567
+ "<%= config.bin %> <%= command.id %> userCert.zip"
568
568
  ],
569
569
  "flags": {
570
570
  "force": {
@@ -577,7 +577,7 @@
577
577
  },
578
578
  "hasDynamicHelp": false,
579
579
  "hiddenAliases": [],
580
- "id": "apple:apiKey:export",
580
+ "id": "apple:certificate:export",
581
581
  "pluginAlias": "shipthis",
582
582
  "pluginName": "shipthis",
583
583
  "pluginType": "core",
@@ -588,11 +588,11 @@
588
588
  "dist",
589
589
  "commands",
590
590
  "apple",
591
- "apiKey",
591
+ "certificate",
592
592
  "export.js"
593
593
  ]
594
594
  },
595
- "apple:apiKey:import": {
595
+ "apple:certificate:import": {
596
596
  "aliases": [],
597
597
  "args": {
598
598
  "file": {
@@ -601,9 +601,9 @@
601
601
  "required": true
602
602
  }
603
603
  },
604
- "description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
604
+ "description": "Imports an iOS Distribution Certificate to your ShipThis account",
605
605
  "examples": [
606
- "<%= config.bin %> <%= command.id %> userApiKey.zip"
606
+ "<%= config.bin %> <%= command.id %> userCert.zip"
607
607
  ],
608
608
  "flags": {
609
609
  "force": {
@@ -615,7 +615,7 @@
615
615
  },
616
616
  "hasDynamicHelp": false,
617
617
  "hiddenAliases": [],
618
- "id": "apple:apiKey:import",
618
+ "id": "apple:certificate:import",
619
619
  "pluginAlias": "shipthis",
620
620
  "pluginName": "shipthis",
621
621
  "pluginType": "core",
@@ -626,14 +626,14 @@
626
626
  "dist",
627
627
  "commands",
628
628
  "apple",
629
- "apiKey",
629
+ "certificate",
630
630
  "import.js"
631
631
  ]
632
632
  },
633
- "apple:apiKey:status": {
633
+ "apple:certificate:status": {
634
634
  "aliases": [],
635
635
  "args": {},
636
- "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.",
636
+ "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.",
637
637
  "examples": [
638
638
  "<%= config.bin %> <%= command.id %>",
639
639
  "<%= config.bin %> <%= command.id %> --noAppleAuth"
@@ -648,7 +648,7 @@
648
648
  },
649
649
  "hasDynamicHelp": false,
650
650
  "hiddenAliases": [],
651
- "id": "apple:apiKey:status",
651
+ "id": "apple:certificate:status",
652
652
  "pluginAlias": "shipthis",
653
653
  "pluginName": "shipthis",
654
654
  "pluginType": "core",
@@ -659,14 +659,14 @@
659
659
  "dist",
660
660
  "commands",
661
661
  "apple",
662
- "apiKey",
662
+ "certificate",
663
663
  "status.js"
664
664
  ]
665
665
  },
666
- "apple:certificate:create": {
666
+ "apple:apiKey:create": {
667
667
  "aliases": [],
668
668
  "args": {},
669
- "description": "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account",
669
+ "description": "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.",
670
670
  "examples": [
671
671
  "<%= config.bin %> <%= command.id %>",
672
672
  "<%= config.bin %> <%= command.id %> --force"
@@ -688,7 +688,7 @@
688
688
  },
689
689
  "hasDynamicHelp": false,
690
690
  "hiddenAliases": [],
691
- "id": "apple:certificate:create",
691
+ "id": "apple:apiKey:create",
692
692
  "pluginAlias": "shipthis",
693
693
  "pluginName": "shipthis",
694
694
  "pluginType": "core",
@@ -698,11 +698,11 @@
698
698
  "dist",
699
699
  "commands",
700
700
  "apple",
701
- "certificate",
701
+ "apiKey",
702
702
  "create.js"
703
703
  ]
704
704
  },
705
- "apple:certificate:export": {
705
+ "apple:apiKey:export": {
706
706
  "aliases": [],
707
707
  "args": {
708
708
  "file": {
@@ -711,9 +711,9 @@
711
711
  "required": true
712
712
  }
713
713
  },
714
- "description": "Saves the current Apple Distribution Certificate to a ZIP file.",
714
+ "description": "Saves the current App Store Connect API Key to a ZIP file",
715
715
  "examples": [
716
- "<%= config.bin %> <%= command.id %> userCert.zip"
716
+ "<%= config.bin %> <%= command.id %> userApiKey.zip"
717
717
  ],
718
718
  "flags": {
719
719
  "force": {
@@ -726,7 +726,7 @@
726
726
  },
727
727
  "hasDynamicHelp": false,
728
728
  "hiddenAliases": [],
729
- "id": "apple:certificate:export",
729
+ "id": "apple:apiKey:export",
730
730
  "pluginAlias": "shipthis",
731
731
  "pluginName": "shipthis",
732
732
  "pluginType": "core",
@@ -737,11 +737,11 @@
737
737
  "dist",
738
738
  "commands",
739
739
  "apple",
740
- "certificate",
740
+ "apiKey",
741
741
  "export.js"
742
742
  ]
743
743
  },
744
- "apple:certificate:import": {
744
+ "apple:apiKey:import": {
745
745
  "aliases": [],
746
746
  "args": {
747
747
  "file": {
@@ -750,9 +750,9 @@
750
750
  "required": true
751
751
  }
752
752
  },
753
- "description": "Imports an iOS Distribution Certificate to your ShipThis account",
753
+ "description": "Imports an App Store Connect API Key ZIP file into your ShipThis account",
754
754
  "examples": [
755
- "<%= config.bin %> <%= command.id %> userCert.zip"
755
+ "<%= config.bin %> <%= command.id %> userApiKey.zip"
756
756
  ],
757
757
  "flags": {
758
758
  "force": {
@@ -764,7 +764,7 @@
764
764
  },
765
765
  "hasDynamicHelp": false,
766
766
  "hiddenAliases": [],
767
- "id": "apple:certificate:import",
767
+ "id": "apple:apiKey:import",
768
768
  "pluginAlias": "shipthis",
769
769
  "pluginName": "shipthis",
770
770
  "pluginType": "core",
@@ -775,14 +775,14 @@
775
775
  "dist",
776
776
  "commands",
777
777
  "apple",
778
- "certificate",
778
+ "apiKey",
779
779
  "import.js"
780
780
  ]
781
781
  },
782
- "apple:certificate:status": {
782
+ "apple:apiKey:status": {
783
783
  "aliases": [],
784
784
  "args": {},
785
- "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.",
785
+ "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.",
786
786
  "examples": [
787
787
  "<%= config.bin %> <%= command.id %>",
788
788
  "<%= config.bin %> <%= command.id %> --noAppleAuth"
@@ -797,7 +797,7 @@
797
797
  },
798
798
  "hasDynamicHelp": false,
799
799
  "hiddenAliases": [],
800
- "id": "apple:certificate:status",
800
+ "id": "apple:apiKey:status",
801
801
  "pluginAlias": "shipthis",
802
802
  "pluginName": "shipthis",
803
803
  "pluginType": "core",
@@ -808,7 +808,7 @@
808
808
  "dist",
809
809
  "commands",
810
810
  "apple",
811
- "certificate",
811
+ "apiKey",
812
812
  "status.js"
813
813
  ]
814
814
  },
@@ -1508,5 +1508,5 @@
1508
1508
  ]
1509
1509
  }
1510
1510
  },
1511
- "version": "0.0.32"
1511
+ "version": "0.0.33"
1512
1512
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipthis",
3
- "description": "Game Shipping Tool",
4
- "version": "0.0.32",
3
+ "description": "A command line tool which manages releasing your Godot games to the iOS App Store.",
4
+ "version": "0.0.33",
5
5
  "author": "Hello Invent Ltd",
6
6
  "bin": {
7
7
  "shipthis": "./bin/run.js"
@@ -146,10 +146,10 @@
146
146
  "description": "Commands related to App Store Connect API Keys"
147
147
  },
148
148
  "apple:certificate": {
149
- "description": "Commands related to App Store Certificates"
149
+ "description": "Commands related to iOS Distribution Certificates"
150
150
  },
151
151
  "game": {
152
- "description": "Commands related to Game Management"
152
+ "description": "Commands related to configuring a specific game"
153
153
  },
154
154
  "game:build": {
155
155
  "description": "Commands related to builds for a specific game"
@@ -158,10 +158,10 @@
158
158
  "description": "Commands related to the iOS platform for a specific game"
159
159
  },
160
160
  "game:ios:app": {
161
- "description": "Commands related to the App Store App for a specific game"
161
+ "description": "Commands related to the App Store App and BundleId for a specific game"
162
162
  },
163
163
  "game:ios:profile": {
164
- "description": "Commands related to the App Store Provisioning Profiles for this Game"
164
+ "description": "Commands related to the App Store Mobile Provisioning Profiles for a specific game"
165
165
  },
166
166
  "game:job": {
167
167
  "description": "Commands related to jobs for a specific game"