@radhya/mach 1.0.0 → 1.0.2
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 +188 -0
- package/package.json +1 -5
package/README.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Mach CLI
|
|
2
|
+
|
|
3
|
+
**Cloud Build Orchestrator for React Native & Expo**
|
|
4
|
+
|
|
5
|
+
Mach is a powerful CLI that lets you build, sign, and submit React Native & Expo apps to the App Store and Google Play — all from the cloud. No more local build headaches.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @radhya/mach
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Login to Mach Dashboard
|
|
17
|
+
mach login
|
|
18
|
+
|
|
19
|
+
# Initialize a project
|
|
20
|
+
mach init
|
|
21
|
+
|
|
22
|
+
# Link an existing project
|
|
23
|
+
mach link
|
|
24
|
+
|
|
25
|
+
# Run a cloud build
|
|
26
|
+
mach build --platform ios
|
|
27
|
+
mach build --platform android
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
| Command | Description |
|
|
33
|
+
|---------|-------------|
|
|
34
|
+
| `mach login` | Login to Mach Dashboard |
|
|
35
|
+
| `mach init` | Create a new Mach project |
|
|
36
|
+
| `mach link` | Link local directory to a Mach project |
|
|
37
|
+
| `mach me` | Display current user details |
|
|
38
|
+
| `mach build` | Run a cloud build (iOS / Android) |
|
|
39
|
+
| `mach submit` | Automated store submission (App Store / Google Play) |
|
|
40
|
+
| `mach credentials` | Interactive credential management (iOS / Android) |
|
|
41
|
+
| `mach env` | Manage environment variables |
|
|
42
|
+
| `mach config` | Show resolved configuration for a profile |
|
|
43
|
+
| `mach start` | Start the development server (Metro) |
|
|
44
|
+
| `mach host` | Setup AWS S3 static hosting with CloudFront |
|
|
45
|
+
| `mach sitemap` | Generate sitemap.xml from Expo Router |
|
|
46
|
+
| `mach audit` | Run automated security audit on the project |
|
|
47
|
+
|
|
48
|
+
## Cloud Builds
|
|
49
|
+
|
|
50
|
+
Build your apps on cloud infrastructure using AWS Spot Instances — fast, cost-effective, and fully automated.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# iOS build
|
|
54
|
+
mach build --platform ios --profile production
|
|
55
|
+
|
|
56
|
+
# Android build
|
|
57
|
+
mach build --platform android --profile production
|
|
58
|
+
|
|
59
|
+
# Local build
|
|
60
|
+
mach build --platform ios --local
|
|
61
|
+
|
|
62
|
+
# Dry run (generate build script without launching)
|
|
63
|
+
mach build --platform android --dry-run
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Build Options
|
|
67
|
+
|
|
68
|
+
- `--platform <os>` — Target platform: `ios` or `android` (required)
|
|
69
|
+
- `--profile <name>` — Build profile: `production`, `staging`, `development`
|
|
70
|
+
- `--local` — Run build on local machine
|
|
71
|
+
- `--dry-run` — Generate script without launching
|
|
72
|
+
- `--verbose` — Enable verbose logging
|
|
73
|
+
- `--simulator` — Build for iOS Simulator (no signing required)
|
|
74
|
+
|
|
75
|
+
## Store Submission
|
|
76
|
+
|
|
77
|
+
Automate your App Store and Google Play submissions directly from the CLI.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Submit to App Store
|
|
81
|
+
mach submit --platform ios
|
|
82
|
+
|
|
83
|
+
# Submit to Google Play (internal track)
|
|
84
|
+
mach submit --platform android --track internal
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Credential Management
|
|
88
|
+
|
|
89
|
+
Manage iOS certificates, provisioning profiles, Android keystores, and service credentials — all in one place.
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Interactive credential manager
|
|
93
|
+
mach credentials
|
|
94
|
+
|
|
95
|
+
# Legacy: Automated provisioning
|
|
96
|
+
mach credentials:setup --platform ios
|
|
97
|
+
mach credentials:setup --platform android
|
|
98
|
+
|
|
99
|
+
# Upload service credentials (ASC API Key / Google Service JSON)
|
|
100
|
+
mach credentials:service --platform ios --file key.p8 --key-id XXXXX --issuer-id XXXXX
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Configuration
|
|
104
|
+
|
|
105
|
+
Create a `mach.config.json` in your project root:
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"projectId": "your-project-id",
|
|
110
|
+
"name": "MyApp",
|
|
111
|
+
"slug": "my-app",
|
|
112
|
+
"scheme": "myapp",
|
|
113
|
+
"ios": {
|
|
114
|
+
"bundleIdentifier": "com.example.myapp",
|
|
115
|
+
"teamId": "XXXXXXXXXX"
|
|
116
|
+
},
|
|
117
|
+
"android": {
|
|
118
|
+
"package": "com.example.myapp"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Build Profiles
|
|
124
|
+
|
|
125
|
+
Define multiple build profiles for different environments:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"projectId": "your-project-id",
|
|
130
|
+
"profiles": {
|
|
131
|
+
"development": {
|
|
132
|
+
"ios": { "configuration": "Debug", "exportMethod": "development" }
|
|
133
|
+
},
|
|
134
|
+
"production": {
|
|
135
|
+
"ios": { "configuration": "Release", "exportMethod": "app-store" }
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Environment Variables
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Set environment variables
|
|
145
|
+
mach env set API_URL=https://api.example.com SECRET_KEY=xxx
|
|
146
|
+
|
|
147
|
+
# List all variables
|
|
148
|
+
mach env list
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Development Server
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Start Metro with profile
|
|
155
|
+
mach start --build-profile development
|
|
156
|
+
|
|
157
|
+
# Start with tunnel
|
|
158
|
+
mach start --tunnel
|
|
159
|
+
|
|
160
|
+
# Clear cache
|
|
161
|
+
mach start --clear
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Security Audit
|
|
165
|
+
|
|
166
|
+
Run automated security checks on your project:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
mach audit
|
|
170
|
+
mach audit --severity high
|
|
171
|
+
mach audit --fix
|
|
172
|
+
mach audit --json # CI/CD friendly output
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Requirements
|
|
176
|
+
|
|
177
|
+
- Node.js 18+
|
|
178
|
+
- npm or yarn
|
|
179
|
+
- For iOS builds: Xcode (local) or cloud instance with macOS
|
|
180
|
+
- For Android builds: Android SDK (local) or cloud instance
|
|
181
|
+
|
|
182
|
+
## License
|
|
183
|
+
|
|
184
|
+
ISC
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
Built by [Radhya Softlabs](https://radhya.com)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@radhya/mach",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Mach CLI: Cloud Build Orchestrator for React Native & Expo",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -16,10 +16,6 @@
|
|
|
16
16
|
"dev": "tsx src/index.ts",
|
|
17
17
|
"release": "semantic-release"
|
|
18
18
|
},
|
|
19
|
-
"repository": {
|
|
20
|
-
"type": "git",
|
|
21
|
-
"url": "https://bitbucket.org/nitscoder/skye.git"
|
|
22
|
-
},
|
|
23
19
|
"publishConfig": {
|
|
24
20
|
"access": "public"
|
|
25
21
|
},
|