@ludeo/cli 1.0.0 → 1.1.1

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 CHANGED
@@ -1,252 +1,125 @@
1
1
  # Ludeo CLI
2
2
 
3
- A command-line tool for studios to upload game builds and manage content on the Ludeo platform.
3
+ The official Ludeo CLI tool for uploading game builds to the Ludeo platform. Install via npm for easy setup and automatic updates.
4
4
 
5
- ## Features
6
-
7
- - **Complete Build Uploads**: Upload both build metadata and all build files in one command
8
- - **Multipart File Uploads**: Automatically handles large files (>100MB) using multipart uploads
9
- - **Concurrent Uploads**: Uploads multiple files simultaneously for faster processing
10
- - **Progress Tracking**: Real-time progress updates during file uploads
11
- - **Authentication**: Secure access token-based authentication
12
- - **Environment Support**: Staging and production environment support
13
-
14
- ## Quick Start
5
+ ## Installation
15
6
 
16
- ### Option 1: NPM Installation (Recommended for most users)
17
7
  ```bash
18
- # Install globally
19
8
  npm install -g @ludeo/cli
20
-
21
- # Verify installation
22
- ludeo --version
23
-
24
- # Authenticate
25
- ludeo auth login --access-token YOUR_ACCESS_TOKEN
26
- ```
27
-
28
- ### Option 2: Build from Source
29
- #### 1. Build the CLI
30
- ```bash
31
- make build
32
9
  ```
33
10
 
34
- #### 2. Authenticate
11
+ Verify the installation:
35
12
  ```bash
36
- ./build/ludeo auth login --access-token YOUR_ACCESS_TOKEN
37
- ```
38
-
39
- ### 3. Upload a Complete Build
40
- ```bash
41
- ./build/ludeo builds upload \
42
- --game-version-id YOUR_GAME_VERSION_ID \
43
- --base-path ./builds \
44
- --exec-path ./builds/game.exe \
45
- --local-directory ./builds
13
+ ludeo --version
46
14
  ```
47
15
 
48
- ## Usage
49
-
50
- ### Authentication Commands
51
- ```bash
52
- # Login with access token
53
- ludeo auth login --access-token <token>
54
-
55
- # Check authentication status
56
- ludeo auth status
57
-
58
- # Validate current access token
59
- ludeo auth validate
60
-
61
- # Logout and clear credentials
62
- ludeo auth logout
63
- ```
16
+ ## Quick Start
64
17
 
65
- ### Builds Commands
18
+ ### 1. Authentication
19
+ Get your access token from the Ludeo platform and authenticate:
66
20
  ```bash
67
- # Upload a complete build (metadata + files)
68
- ludeo builds upload [flags]
69
-
70
- # List builds for a game version
71
- ludeo builds list --game-version-id <id>
72
-
73
- # Get build details
74
- ludeo builds get --game-version-id <id> --build-id <id>
21
+ ludeo auth login --access-token YOUR_ACCESS_TOKEN
75
22
  ```
76
23
 
77
- #### Upload Required Flags
78
- - `--game-version-id`: Game version ID
79
- - `--exec-path`: Path to the executable (full path)
80
- - `--local-directory`: Local directory containing all build files
81
-
82
- #### Upload Optional Flags
83
- - `--game-version`: Game version (e.g., 1.2.3)
84
- - `--sdk-version`: SDK version (e.g., 2.0.0)
85
- - `--runtime-environment`: Runtime environment (e.g., windows, linux)
86
- - `--changes-description`: Description of changes in this build
87
- - `--base-build-id`: Base build ID for modification builds
88
- - `--major-build-id`: Major build ID for minor builds
89
- - `--request-id`: Request ID for tracking
90
-
91
- ## Authentication Flow
92
-
93
- The CLI implements a secure authentication flow that validates access tokens before any upload operation:
94
-
95
- 1. **Token Storage**: Access tokens are stored securely in `~/.ludeo/config.json`
96
- 2. **Pre-upload Validation**: Every upload operation automatically validates the token first
97
- 3. **API Endpoint**: Calls `{{baseUrl}}/v3/authentication/cli/:accessToken` to validate tokens
98
- 4. **Session Management**: Creates/validates session for the token if it doesn't exist
99
- 5. **Secure Uploads**: All subsequent uploads use the validated token
100
-
101
- ### Security Features
102
- - **Automatic Validation**: Tokens are validated before every API operation
103
- - **Session Persistence**: Valid sessions are maintained for the duration of the token
104
- - **Secure Storage**: Tokens are stored in user's home directory with appropriate permissions
105
- - **No Token Logging**: Only first/last 4 characters of tokens are displayed in logs
106
-
107
- ## Examples
108
-
109
- ### Basic Complete Upload
24
+ ### 2. Upload Your Build
25
+ Upload your game build with a simple command:
110
26
  ```bash
111
27
  ludeo builds upload \
112
- --game-version-id 123 \
28
+ --game-id YOUR_GAME_ID \
113
29
  --exec-path ./builds/game.exe \
114
30
  --local-directory ./builds
115
31
  ```
116
32
 
117
- ### Upload with Optional Parameters
33
+ ### 3. Optional Parameters
34
+ Add version information and descriptions:
118
35
  ```bash
119
36
  ludeo builds upload \
120
- --game-version-id 123 \
37
+ --game-id YOUR_GAME_ID \
121
38
  --exec-path ./builds/game.exe \
122
39
  --local-directory ./builds \
123
40
  --game-version "1.2.3" \
124
- --sdk-version "2.1.0" \
125
- --changes-description "Bug fixes and performance improvements" \
126
- --runtime-environment "windows"
41
+ --changes-description "Bug fixes and performance improvements"
127
42
  ```
128
43
 
129
- ### List Builds
44
+ ### 4. Manage Builds
130
45
  ```bash
131
- ludeo builds list --game-version-id 123
132
- ```
46
+ # List your builds
47
+ ludeo builds list --game-id YOUR_GAME_ID
133
48
 
134
- ## How It Works
49
+ # Get build details
50
+ ludeo builds get --game-id YOUR_GAME_ID --build-id BUILD_ID
51
+ ```
135
52
 
136
- ### Complete Upload Process
137
- The CLI performs a complete upload in the following steps:
53
+ ## Features
138
54
 
139
- 1. **Validation**: Validates the local directory and build parameters
140
- 2. **Base Path Derivation**: Automatically derives `basePath` from the root folder name of `--local-directory`
141
- - Example: `--local-directory ./builds` `basePath = "builds"`
142
- - Example: `--local-directory ./game-assets` `basePath = "game-assets"`
143
- 3. **Build Creation**: Creates build metadata via the sonic-server API with the derived `basePath`
144
- 4. **File Upload**: Uploads all files to S3 via the cloud-builds service
145
- - Small files (<100MB): Direct upload
146
- - Large files (≥100MB): Multipart upload with concurrent parts
147
- 5. **File Registration**: Registers uploaded files with the cloud-builds service
148
- 6. **Completion**: Marks the upload as complete
55
+ - **Easy Upload**: Upload complete game builds with a single command
56
+ - **Large File Support**: Automatically handles large files and multiple files
57
+ - **Progress Tracking**: Real-time progress updates during uploads
58
+ - **Cross-Platform**: Works on Windows, macOS, and Linux
59
+ - **Automatic Updates**: Keep your CLI up to date with npm
149
60
 
150
- ### Base Path Derivation
151
- The CLI automatically derives the `basePath` from your `--local-directory`:
61
+ ## Updating
152
62
 
153
63
  ```bash
154
- # If you specify:
155
- --local-directory ./builds
156
-
157
- # The CLI will derive:
158
- basePath = "builds"
159
-
160
- # And send to the API:
161
- {
162
- "basePath": "builds",
163
- "execPath": "./builds/game.exe", # Your input unchanged
164
- "localDirectory": "./builds" # Your input unchanged
165
- }
64
+ npm update -g @ludeo/cli
166
65
  ```
167
66
 
168
- This matches exactly how the UI works - the system derives the base path from the uploaded directory structure.
169
-
170
- ### File Upload Features
171
- - **Automatic Multipart**: Files over 100MB automatically use multipart uploads
172
- - **Concurrent Processing**: Up to 4 files uploaded simultaneously
173
- - **Progress Tracking**: Real-time progress updates for large uploads
174
- - **Error Handling**: Automatic retry and failure marking
175
- - **Cross-Platform**: Handles Windows and Unix path separators
176
-
177
- ### Performance
178
- - **Concurrent Uploads**: Multiple files uploaded simultaneously
179
- - **Multipart Optimization**: Large files split into 100MB parts for optimal performance
180
- - **Connection Reuse**: HTTP connections reused for better performance
181
- - **Progress Reporting**: Real-time feedback during long uploads
182
-
183
- ## Configuration
184
-
185
- The CLI stores configuration in `~/.ludeo/config.json`. You can also use environment variables:
186
-
187
- - `LUDEO_ACCESS_TOKEN`: Your Ludeo access token
188
- - `LUDEO_ENVIRONMENT`: Target environment (staging, production)
189
- - `LUDEO_API_BASE_URL`: Sonic-server API base URL
190
- - `LUDEO_CLOUD_BUILDS_URL`: Cloud-builds API base URL
191
-
192
- ### Default Configuration
193
- ```json
194
- {
195
- "environment": "staging",
196
- "api_base_url": "https://services.stg.use1.ludeo.com/api/v3/sonic-server",
197
- "cloud_builds_url": "https://services.stg.use1.ludeo.com/api/v3/cloud-builds"
198
- }
199
- ```
67
+ ## CI/CD Integration
200
68
 
201
- ## Development
69
+ ### GitHub Actions
70
+ ```yaml
71
+ - name: Install Ludeo CLI
72
+ run: npm install -g @ludeo/cli
202
73
 
203
- ### Building
204
- ```bash
205
- make build
74
+ - name: Upload Build
75
+ run: |
76
+ ludeo auth login --access-token ${{ secrets.LUDEO_ACCESS_TOKEN }}
77
+ ludeo builds upload \
78
+ --game-id ${{ env.GAME_ID }} \
79
+ --exec-path ./builds/game.exe \
80
+ --local-directory ./builds
206
81
  ```
207
82
 
208
- ### Testing
83
+ ## Troubleshooting
84
+
85
+ ### Installation Issues
86
+
87
+ **Binary not found error:**
209
88
  ```bash
210
- make test
89
+ npm rebuild @ludeo/cli
211
90
  ```
212
91
 
213
- ### Local Development
92
+ **Permission issues (macOS/Linux):**
214
93
  ```bash
215
- go run main.go builds upload --help
94
+ sudo npm install -g @ludeo/cli
216
95
  ```
217
96
 
218
- ## Troubleshooting
97
+ **Windows issues:**
98
+ - Run PowerShell as Administrator
99
+ - Ensure Node.js is properly installed
219
100
 
220
101
  ### Common Issues
221
102
 
222
- 1. **Authentication Errors**
223
- - Ensure access token is valid and not expired
224
- - Check that the access token has upload permissions
103
+ **Authentication errors:**
104
+ - Verify your access token is valid
105
+ - Check token permissions with `ludeo auth status`
225
106
 
226
- 2. **File Upload Failures**
227
- - Verify local directory exists and is readable
228
- - Check network connectivity to S3 endpoints
229
- - Ensure files are not corrupted or locked
107
+ **Upload failures:**
108
+ - Ensure your build directory exists and is readable
109
+ - Check your internet connection
110
+ - Verify file paths are correct
230
111
 
231
- 3. **Large File Issues**
232
- - Multipart uploads require stable network connections
233
- - Very large files (>1GB) may take significant time
234
- - Monitor progress output for upload status
112
+ **Large files:**
113
+ - Large files may take time to upload
114
+ - Ensure stable internet connection
235
115
 
236
- 4. **Path Issues**
237
- - Use forward slashes (/) in paths for cross-platform compatibility
238
- - Ensure executable path is relative to base path
116
+ ## Support
239
117
 
240
- ### Debug Mode
241
- Enable debug output by setting the log level:
242
- ```bash
243
- export LUDEO_LOG_LEVEL=debug
244
- ludeo builds upload [flags]
245
- ```
118
+ Need help? Here's how to get support:
246
119
 
247
- ## Support
120
+ 1. Check this README and troubleshooting section
121
+ 2. Run `npm rebuild @ludeo/cli` if you encounter issues
122
+ 3. Contact the Ludeo platform team for additional assistance
123
+
124
+ For detailed documentation and advanced usage, visit the [Ludeo Developer Portal](https://developers.ludeo.com).
248
125
 
249
- For issues and questions:
250
- - Check the troubleshooting section above
251
- - Review the CLI output for error details
252
- - Contact the Ludeo platform team
@@ -0,0 +1,125 @@
1
+ # Ludeo CLI
2
+
3
+ The official Ludeo CLI tool for uploading game builds to the Ludeo platform. Install via npm for easy setup and automatic updates.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g @ludeo/cli
9
+ ```
10
+
11
+ Verify the installation:
12
+ ```bash
13
+ ludeo --version
14
+ ```
15
+
16
+ ## Quick Start
17
+
18
+ ### 1. Authentication
19
+ Get your access token from the Ludeo platform and authenticate:
20
+ ```bash
21
+ ludeo auth login --access-token YOUR_ACCESS_TOKEN
22
+ ```
23
+
24
+ ### 2. Upload Your Build
25
+ Upload your game build with a simple command:
26
+ ```bash
27
+ ludeo builds upload \
28
+ --game-id YOUR_GAME_ID \
29
+ --exec-path ./builds/game.exe \
30
+ --local-directory ./builds
31
+ ```
32
+
33
+ ### 3. Optional Parameters
34
+ Add version information and descriptions:
35
+ ```bash
36
+ ludeo builds upload \
37
+ --game-id YOUR_GAME_ID \
38
+ --exec-path ./builds/game.exe \
39
+ --local-directory ./builds \
40
+ --game-version "1.2.3" \
41
+ --changes-description "Bug fixes and performance improvements"
42
+ ```
43
+
44
+ ### 4. Manage Builds
45
+ ```bash
46
+ # List your builds
47
+ ludeo builds list --game-id YOUR_GAME_ID
48
+
49
+ # Get build details
50
+ ludeo builds get --game-id YOUR_GAME_ID --build-id BUILD_ID
51
+ ```
52
+
53
+ ## Features
54
+
55
+ - **Easy Upload**: Upload complete game builds with a single command
56
+ - **Large File Support**: Automatically handles large files and multiple files
57
+ - **Progress Tracking**: Real-time progress updates during uploads
58
+ - **Cross-Platform**: Works on Windows, macOS, and Linux
59
+ - **Automatic Updates**: Keep your CLI up to date with npm
60
+
61
+ ## Updating
62
+
63
+ ```bash
64
+ npm update -g @ludeo/cli
65
+ ```
66
+
67
+ ## CI/CD Integration
68
+
69
+ ### GitHub Actions
70
+ ```yaml
71
+ - name: Install Ludeo CLI
72
+ run: npm install -g @ludeo/cli
73
+
74
+ - name: Upload Build
75
+ run: |
76
+ ludeo auth login --access-token ${{ secrets.LUDEO_ACCESS_TOKEN }}
77
+ ludeo builds upload \
78
+ --game-id ${{ env.GAME_ID }} \
79
+ --exec-path ./builds/game.exe \
80
+ --local-directory ./builds
81
+ ```
82
+
83
+ ## Troubleshooting
84
+
85
+ ### Installation Issues
86
+
87
+ **Binary not found error:**
88
+ ```bash
89
+ npm rebuild @ludeo/cli
90
+ ```
91
+
92
+ **Permission issues (macOS/Linux):**
93
+ ```bash
94
+ sudo npm install -g @ludeo/cli
95
+ ```
96
+
97
+ **Windows issues:**
98
+ - Run PowerShell as Administrator
99
+ - Ensure Node.js is properly installed
100
+
101
+ ### Common Issues
102
+
103
+ **Authentication errors:**
104
+ - Verify your access token is valid
105
+ - Check token permissions with `ludeo auth status`
106
+
107
+ **Upload failures:**
108
+ - Ensure your build directory exists and is readable
109
+ - Check your internet connection
110
+ - Verify file paths are correct
111
+
112
+ **Large files:**
113
+ - Large files may take time to upload
114
+ - Ensure stable internet connection
115
+
116
+ ## Support
117
+
118
+ Need help? Here's how to get support:
119
+
120
+ 1. Check this README and troubleshooting section
121
+ 2. Run `npm rebuild @ludeo/cli` if you encounter issues
122
+ 3. Contact the Ludeo platform team for additional assistance
123
+
124
+ For detailed documentation and advanced usage, visit the [Ludeo Developer Portal](https://developers.ludeo.com).
125
+
package/dist/README.md ADDED
@@ -0,0 +1,125 @@
1
+ # Ludeo CLI
2
+
3
+ The official Ludeo CLI tool for uploading game builds to the Ludeo platform. Install via npm for easy setup and automatic updates.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g @ludeo/cli
9
+ ```
10
+
11
+ Verify the installation:
12
+ ```bash
13
+ ludeo --version
14
+ ```
15
+
16
+ ## Quick Start
17
+
18
+ ### 1. Authentication
19
+ Get your access token from the Ludeo platform and authenticate:
20
+ ```bash
21
+ ludeo auth login --access-token YOUR_ACCESS_TOKEN
22
+ ```
23
+
24
+ ### 2. Upload Your Build
25
+ Upload your game build with a simple command:
26
+ ```bash
27
+ ludeo builds upload \
28
+ --game-id YOUR_GAME_ID \
29
+ --exec-path ./builds/game.exe \
30
+ --local-directory ./builds
31
+ ```
32
+
33
+ ### 3. Optional Parameters
34
+ Add version information and descriptions:
35
+ ```bash
36
+ ludeo builds upload \
37
+ --game-id YOUR_GAME_ID \
38
+ --exec-path ./builds/game.exe \
39
+ --local-directory ./builds \
40
+ --game-version "1.2.3" \
41
+ --changes-description "Bug fixes and performance improvements"
42
+ ```
43
+
44
+ ### 4. Manage Builds
45
+ ```bash
46
+ # List your builds
47
+ ludeo builds list --game-id YOUR_GAME_ID
48
+
49
+ # Get build details
50
+ ludeo builds get --game-id YOUR_GAME_ID --build-id BUILD_ID
51
+ ```
52
+
53
+ ## Features
54
+
55
+ - **Easy Upload**: Upload complete game builds with a single command
56
+ - **Large File Support**: Automatically handles large files and multiple files
57
+ - **Progress Tracking**: Real-time progress updates during uploads
58
+ - **Cross-Platform**: Works on Windows, macOS, and Linux
59
+ - **Automatic Updates**: Keep your CLI up to date with npm
60
+
61
+ ## Updating
62
+
63
+ ```bash
64
+ npm update -g @ludeo/cli
65
+ ```
66
+
67
+ ## CI/CD Integration
68
+
69
+ ### GitHub Actions
70
+ ```yaml
71
+ - name: Install Ludeo CLI
72
+ run: npm install -g @ludeo/cli
73
+
74
+ - name: Upload Build
75
+ run: |
76
+ ludeo auth login --access-token ${{ secrets.LUDEO_ACCESS_TOKEN }}
77
+ ludeo builds upload \
78
+ --game-id ${{ env.GAME_ID }} \
79
+ --exec-path ./builds/game.exe \
80
+ --local-directory ./builds
81
+ ```
82
+
83
+ ## Troubleshooting
84
+
85
+ ### Installation Issues
86
+
87
+ **Binary not found error:**
88
+ ```bash
89
+ npm rebuild @ludeo/cli
90
+ ```
91
+
92
+ **Permission issues (macOS/Linux):**
93
+ ```bash
94
+ sudo npm install -g @ludeo/cli
95
+ ```
96
+
97
+ **Windows issues:**
98
+ - Run PowerShell as Administrator
99
+ - Ensure Node.js is properly installed
100
+
101
+ ### Common Issues
102
+
103
+ **Authentication errors:**
104
+ - Verify your access token is valid
105
+ - Check token permissions with `ludeo auth status`
106
+
107
+ **Upload failures:**
108
+ - Ensure your build directory exists and is readable
109
+ - Check your internet connection
110
+ - Verify file paths are correct
111
+
112
+ **Large files:**
113
+ - Large files may take time to upload
114
+ - Ensure stable internet connection
115
+
116
+ ## Support
117
+
118
+ Need help? Here's how to get support:
119
+
120
+ 1. Check this README and troubleshooting section
121
+ 2. Run `npm rebuild @ludeo/cli` if you encounter issues
122
+ 3. Contact the Ludeo platform team for additional assistance
123
+
124
+ For detailed documentation and advanced usage, visit the [Ludeo Developer Portal](https://developers.ludeo.com).
125
+
package/dist/ludeo ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ludeo/cli",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "description": "Ludeo CLI - Upload game builds and manage content on the Ludeo platform",
5
5
  "main": "index.js",
6
6
  "bin": {
7
- "ludeo": "./bin/ludeo.js"
7
+ "ludeo": "bin/ludeo.js"
8
8
  },
9
9
  "scripts": {
10
10
  "build": "make build-all",
@@ -23,7 +23,7 @@
23
23
  "license": "MIT",
24
24
  "repository": {
25
25
  "type": "git",
26
- "url": "https://github.com/ludeo/cli.git"
26
+ "url": "git+https://github.com/ludeo/cli.git"
27
27
  },
28
28
  "engines": {
29
29
  "node": ">=16.0.0"
@@ -31,7 +31,6 @@
31
31
  "files": [
32
32
  "bin/",
33
33
  "dist/",
34
- "README.md",
35
34
  "LICENSE"
36
35
  ],
37
36
  "os": [
@@ -44,4 +43,3 @@
44
43
  "arm64"
45
44
  ]
46
45
  }
47
-