@dafish/gogo-meta 0.1.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.
- package/LICENSE +21 -0
- package/README.md +515 -0
- package/bin/gogo +3 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.js +1275 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +167 -0
- package/dist/index.js +1301 -0
- package/dist/index.js.map +1 -0
- package/package.json +83 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Marcus Stöhr
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
# gogo-meta
|
|
2
|
+
|
|
3
|
+
A modern TypeScript CLI for managing multi-repository projects. Execute commands across multiple git repositories simultaneously.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Clone entire project ecosystems with one command
|
|
8
|
+
- Execute arbitrary commands across all repositories
|
|
9
|
+
- Parallel or sequential execution modes
|
|
10
|
+
- Flexible filtering (include/exclude by name or pattern)
|
|
11
|
+
- NPM operations across all projects
|
|
12
|
+
- Symlink projects for local development
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
git clone <repository-url>
|
|
18
|
+
cd gogo-meta
|
|
19
|
+
bun install
|
|
20
|
+
bun run build
|
|
21
|
+
bun link
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Initialize a new meta repository
|
|
28
|
+
gogo init
|
|
29
|
+
|
|
30
|
+
# Import existing repositories
|
|
31
|
+
gogo project import api git@github.com:org/api.git
|
|
32
|
+
gogo project import web git@github.com:org/web.git
|
|
33
|
+
|
|
34
|
+
# Clone a meta repository (includes all children)
|
|
35
|
+
gogo git clone git@github.com:org/meta-repo.git
|
|
36
|
+
|
|
37
|
+
# Run commands across all projects
|
|
38
|
+
gogo exec "npm install"
|
|
39
|
+
gogo exec "git status" --parallel
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Configuration
|
|
43
|
+
|
|
44
|
+
### .gogo
|
|
45
|
+
|
|
46
|
+
The `.gogo` file defines child repositories, ignore patterns, and predefined commands:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"projects": {
|
|
51
|
+
"api": "git@github.com:org/api.git",
|
|
52
|
+
"web": "git@github.com:org/web.git",
|
|
53
|
+
"libs/shared": "git@github.com:org/shared.git"
|
|
54
|
+
},
|
|
55
|
+
"ignore": [".git", "node_modules", ".vagrant", ".vscode"],
|
|
56
|
+
"commands": {
|
|
57
|
+
"build": "npm run build",
|
|
58
|
+
"test": {
|
|
59
|
+
"cmd": "npm test",
|
|
60
|
+
"parallel": true,
|
|
61
|
+
"description": "Run tests in all projects"
|
|
62
|
+
},
|
|
63
|
+
"deploy": {
|
|
64
|
+
"cmd": "npm run deploy",
|
|
65
|
+
"parallel": true,
|
|
66
|
+
"concurrency": 2,
|
|
67
|
+
"includeOnly": ["api", "web"]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### .looprc (optional)
|
|
74
|
+
|
|
75
|
+
Define default ignore patterns for command execution:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"ignore": ["docs", "examples"]
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Commands
|
|
84
|
+
|
|
85
|
+
### Global Options
|
|
86
|
+
|
|
87
|
+
These options are available for most commands:
|
|
88
|
+
|
|
89
|
+
| Option | Description |
|
|
90
|
+
|--------|-------------|
|
|
91
|
+
| `--include-only <dirs>` | Only target specified directories (comma-separated) |
|
|
92
|
+
| `--exclude-only <dirs>` | Exclude specified directories (comma-separated) |
|
|
93
|
+
| `--include-pattern <regex>` | Include directories matching regex pattern |
|
|
94
|
+
| `--exclude-pattern <regex>` | Exclude directories matching regex pattern |
|
|
95
|
+
| `--parallel` | Execute commands concurrently |
|
|
96
|
+
| `--concurrency <n>` | Maximum parallel processes (default: 4) |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### `gogo init`
|
|
101
|
+
|
|
102
|
+
Initialize a new gogo-meta repository by creating a `.gogo` file.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
gogo init
|
|
106
|
+
gogo init --force # Overwrite existing .gogo file
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
| Option | Description |
|
|
110
|
+
|--------|-------------|
|
|
111
|
+
| `-f, --force` | Overwrite existing `.gogo` file |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### `gogo exec <command>`
|
|
116
|
+
|
|
117
|
+
Execute an arbitrary command in all project directories.
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Run in each project sequentially
|
|
121
|
+
gogo exec "npm test"
|
|
122
|
+
|
|
123
|
+
# Run in parallel
|
|
124
|
+
gogo exec "npm install" --parallel
|
|
125
|
+
|
|
126
|
+
# Run with limited concurrency
|
|
127
|
+
gogo exec "npm run build" --parallel --concurrency 2
|
|
128
|
+
|
|
129
|
+
# Filter to specific projects
|
|
130
|
+
gogo exec "git status" --include-only api,web
|
|
131
|
+
|
|
132
|
+
# Exclude projects
|
|
133
|
+
gogo exec "npm install" --exclude-only docs
|
|
134
|
+
|
|
135
|
+
# Use regex patterns
|
|
136
|
+
gogo exec "npm test" --include-pattern "^libs/"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
| Option | Description |
|
|
140
|
+
|--------|-------------|
|
|
141
|
+
| `--include-only <dirs>` | Only run in specified directories |
|
|
142
|
+
| `--exclude-only <dirs>` | Skip specified directories |
|
|
143
|
+
| `--include-pattern <regex>` | Include directories matching pattern |
|
|
144
|
+
| `--exclude-pattern <regex>` | Exclude directories matching pattern |
|
|
145
|
+
| `--parallel` | Run commands concurrently |
|
|
146
|
+
| `--concurrency <n>` | Max parallel processes |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
### `gogo run [name]`
|
|
151
|
+
|
|
152
|
+
Run a predefined command from the `.gogo` file.
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# List available commands
|
|
156
|
+
gogo run
|
|
157
|
+
gogo run --list
|
|
158
|
+
|
|
159
|
+
# Run a predefined command
|
|
160
|
+
gogo run build
|
|
161
|
+
|
|
162
|
+
# Override config options with CLI flags
|
|
163
|
+
gogo run test --parallel
|
|
164
|
+
gogo run deploy --include-only api
|
|
165
|
+
|
|
166
|
+
# Commands can define defaults in .gogo:
|
|
167
|
+
# - parallel: true/false
|
|
168
|
+
# - concurrency: number
|
|
169
|
+
# - includeOnly/excludeOnly: array of directories
|
|
170
|
+
# - includePattern/excludePattern: regex patterns
|
|
171
|
+
# CLI flags override these config defaults
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
| Option | Description |
|
|
175
|
+
|--------|-------------|
|
|
176
|
+
| `-l, --list` | List all available commands |
|
|
177
|
+
| `--include-only <dirs>` | Only run in specified directories (overrides config) |
|
|
178
|
+
| `--exclude-only <dirs>` | Skip specified directories (overrides config) |
|
|
179
|
+
| `--include-pattern <regex>` | Include directories matching pattern (overrides config) |
|
|
180
|
+
| `--exclude-pattern <regex>` | Exclude directories matching pattern (overrides config) |
|
|
181
|
+
| `--parallel` | Run commands concurrently (overrides config) |
|
|
182
|
+
| `--concurrency <n>` | Max parallel processes (overrides config) |
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
### `gogo git clone <url>`
|
|
187
|
+
|
|
188
|
+
Clone a meta repository and all its child repositories.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# Clone to directory matching repo name
|
|
192
|
+
gogo git clone git@github.com:org/meta-repo.git
|
|
193
|
+
|
|
194
|
+
# Clone to custom directory
|
|
195
|
+
gogo git clone git@github.com:org/meta-repo.git -d my-project
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
| Option | Description |
|
|
199
|
+
|--------|-------------|
|
|
200
|
+
| `-d, --directory <dir>` | Target directory name |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
### `gogo git update`
|
|
205
|
+
|
|
206
|
+
Clone any child repositories defined in `.gogo` that don't exist locally.
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
gogo git update
|
|
210
|
+
gogo git update --parallel
|
|
211
|
+
gogo git update --include-only api,web
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
| Option | Description |
|
|
215
|
+
|--------|-------------|
|
|
216
|
+
| `--include-only <dirs>` | Only update specified projects |
|
|
217
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
218
|
+
| `--parallel` | Clone in parallel |
|
|
219
|
+
| `--concurrency <n>` | Max parallel clones |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### `gogo git status`
|
|
224
|
+
|
|
225
|
+
Show git status across all repositories.
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
gogo git status
|
|
229
|
+
gogo git status --parallel
|
|
230
|
+
gogo git status --include-only api
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
| Option | Description |
|
|
234
|
+
|--------|-------------|
|
|
235
|
+
| `--include-only <dirs>` | Only check specified projects |
|
|
236
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
237
|
+
| `--parallel` | Run in parallel |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
### `gogo git pull`
|
|
242
|
+
|
|
243
|
+
Pull changes in all repositories.
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
gogo git pull
|
|
247
|
+
gogo git pull --parallel
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
| Option | Description |
|
|
251
|
+
|--------|-------------|
|
|
252
|
+
| `--include-only <dirs>` | Only pull specified projects |
|
|
253
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
254
|
+
| `--parallel` | Pull in parallel |
|
|
255
|
+
| `--concurrency <n>` | Max parallel pulls |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### `gogo git push`
|
|
260
|
+
|
|
261
|
+
Push changes in all repositories.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
gogo git push
|
|
265
|
+
gogo git push --include-only api,web
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
| Option | Description |
|
|
269
|
+
|--------|-------------|
|
|
270
|
+
| `--include-only <dirs>` | Only push specified projects |
|
|
271
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
272
|
+
| `--parallel` | Push in parallel |
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
### `gogo git branch [name]`
|
|
277
|
+
|
|
278
|
+
List, create, or delete branches across all repositories.
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# List branches
|
|
282
|
+
gogo git branch
|
|
283
|
+
|
|
284
|
+
# List all branches (including remote)
|
|
285
|
+
gogo git branch --all
|
|
286
|
+
|
|
287
|
+
# Create a new branch
|
|
288
|
+
gogo git branch feature/new-feature
|
|
289
|
+
|
|
290
|
+
# Delete a branch
|
|
291
|
+
gogo git branch feature/old-feature --delete
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
| Option | Description |
|
|
295
|
+
|--------|-------------|
|
|
296
|
+
| `-d, --delete` | Delete the specified branch |
|
|
297
|
+
| `-a, --all` | List all branches (local and remote) |
|
|
298
|
+
| `--include-only <dirs>` | Only target specified projects |
|
|
299
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
300
|
+
| `--parallel` | Run in parallel |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
### `gogo git checkout <branch>`
|
|
305
|
+
|
|
306
|
+
Checkout a branch in all repositories.
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# Checkout existing branch
|
|
310
|
+
gogo git checkout main
|
|
311
|
+
|
|
312
|
+
# Create and checkout new branch
|
|
313
|
+
gogo git checkout -b feature/new-feature
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
| Option | Description |
|
|
317
|
+
|--------|-------------|
|
|
318
|
+
| `-b, --create` | Create the branch if it doesn't exist |
|
|
319
|
+
| `--include-only <dirs>` | Only target specified projects |
|
|
320
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
321
|
+
| `--parallel` | Run in parallel |
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
### `gogo git commit`
|
|
326
|
+
|
|
327
|
+
Commit changes in all repositories with the same message.
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
gogo git commit -m "Update dependencies"
|
|
331
|
+
gogo git commit -m "Fix bug" --include-only api
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
| Option | Description |
|
|
335
|
+
|--------|-------------|
|
|
336
|
+
| `-m, --message <msg>` | Commit message (required) |
|
|
337
|
+
| `--include-only <dirs>` | Only commit in specified projects |
|
|
338
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
### `gogo project create <folder> <url>`
|
|
343
|
+
|
|
344
|
+
Create and initialize a new child repository.
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
gogo project create libs/new-lib git@github.com:org/new-lib.git
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
This will:
|
|
351
|
+
1. Create the directory
|
|
352
|
+
2. Initialize git
|
|
353
|
+
3. Add the remote origin
|
|
354
|
+
4. Add the project to `.gogo`
|
|
355
|
+
5. Add the path to `.gitignore`
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
### `gogo project import <folder> [url]`
|
|
360
|
+
|
|
361
|
+
Import an existing repository as a child project.
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# Clone and import a remote repository
|
|
365
|
+
gogo project import api git@github.com:org/api.git
|
|
366
|
+
|
|
367
|
+
# Import an existing local directory (reads remote from git)
|
|
368
|
+
gogo project import existing-folder
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
This will:
|
|
372
|
+
1. Clone the repository (if URL provided and directory doesn't exist)
|
|
373
|
+
2. Add the project to `.gogo`
|
|
374
|
+
3. Add the path to `.gitignore`
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
### `gogo npm install`
|
|
379
|
+
|
|
380
|
+
Run `npm install` in all projects.
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
gogo npm install
|
|
384
|
+
gogo npm i # Alias
|
|
385
|
+
gogo npm install --parallel
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
| Option | Description |
|
|
389
|
+
|--------|-------------|
|
|
390
|
+
| `--include-only <dirs>` | Only install in specified projects |
|
|
391
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
392
|
+
| `--parallel` | Run in parallel |
|
|
393
|
+
| `--concurrency <n>` | Max parallel installs |
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
### `gogo npm ci`
|
|
398
|
+
|
|
399
|
+
Run `npm ci` in all projects (clean install from lockfile).
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
gogo npm ci
|
|
403
|
+
gogo npm ci --parallel
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
| Option | Description |
|
|
407
|
+
|--------|-------------|
|
|
408
|
+
| `--include-only <dirs>` | Only run in specified projects |
|
|
409
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
410
|
+
| `--parallel` | Run in parallel |
|
|
411
|
+
| `--concurrency <n>` | Max parallel processes |
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
### `gogo npm link`
|
|
416
|
+
|
|
417
|
+
Create npm links between projects for local development.
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
# Create global npm links for all projects
|
|
421
|
+
gogo npm link
|
|
422
|
+
|
|
423
|
+
# Create symlinks between all interdependent projects
|
|
424
|
+
gogo npm link --all
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
| Option | Description |
|
|
428
|
+
|--------|-------------|
|
|
429
|
+
| `--all` | Link all projects bidirectionally (symlink dependencies) |
|
|
430
|
+
| `--include-only <dirs>` | Only link specified projects |
|
|
431
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
### `gogo npm run <script>`
|
|
436
|
+
|
|
437
|
+
Run an npm script in all projects.
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
# Run in all projects
|
|
441
|
+
gogo npm run build
|
|
442
|
+
|
|
443
|
+
# Run in parallel
|
|
444
|
+
gogo npm run test --parallel
|
|
445
|
+
|
|
446
|
+
# Only run if script exists
|
|
447
|
+
gogo npm run lint --if-present
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
| Option | Description |
|
|
451
|
+
|--------|-------------|
|
|
452
|
+
| `--if-present` | Only run if the script exists in package.json |
|
|
453
|
+
| `--include-only <dirs>` | Only run in specified projects |
|
|
454
|
+
| `--exclude-only <dirs>` | Skip specified projects |
|
|
455
|
+
| `--parallel` | Run in parallel |
|
|
456
|
+
| `--concurrency <n>` | Max parallel processes |
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## Examples
|
|
461
|
+
|
|
462
|
+
### Setting Up a New Meta Repository
|
|
463
|
+
|
|
464
|
+
```bash
|
|
465
|
+
mkdir my-project && cd my-project
|
|
466
|
+
gogo init
|
|
467
|
+
gogo project import backend git@github.com:org/backend.git
|
|
468
|
+
gogo project import frontend git@github.com:org/frontend.git
|
|
469
|
+
gogo project import shared git@github.com:org/shared.git
|
|
470
|
+
gogo npm install --parallel
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### Daily Development Workflow
|
|
474
|
+
|
|
475
|
+
```bash
|
|
476
|
+
# Start of day: pull all changes
|
|
477
|
+
gogo git pull --parallel
|
|
478
|
+
|
|
479
|
+
# Check status across all repos
|
|
480
|
+
gogo git status
|
|
481
|
+
|
|
482
|
+
# Create feature branch everywhere
|
|
483
|
+
gogo git checkout -b feature/my-feature
|
|
484
|
+
|
|
485
|
+
# Run tests
|
|
486
|
+
gogo npm run test --parallel
|
|
487
|
+
|
|
488
|
+
# Commit changes
|
|
489
|
+
gogo git commit -m "Add feature"
|
|
490
|
+
|
|
491
|
+
# Push changes
|
|
492
|
+
gogo git push
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
### Working with Specific Projects
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
# Only work with API and shared libs
|
|
499
|
+
gogo exec "npm test" --include-only api,libs/shared
|
|
500
|
+
|
|
501
|
+
# Exclude documentation from builds
|
|
502
|
+
gogo npm run build --exclude-only docs
|
|
503
|
+
|
|
504
|
+
# Target all libs
|
|
505
|
+
gogo git status --include-pattern "^libs/"
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
## Requirements
|
|
509
|
+
|
|
510
|
+
- Bun 1.x or higher
|
|
511
|
+
- Git
|
|
512
|
+
|
|
513
|
+
## License
|
|
514
|
+
|
|
515
|
+
MIT
|
package/bin/gogo
ADDED