@@ -4,6 +4,19 @@ Repos is a CLI tool to manage multiple GitHub repositories - clone them, run
44commands across all repositories, create pull requests, and more—all with
55colored output and comprehensive logging.
66
7+ ## Table of contents
8+
9+ - [ Features] ( #features )
10+ - [ Installation] ( #installation )
11+ - [ Configuration] ( #configuration )
12+ - [ Usage] ( #usage )
13+ - [ Repository management] ( #repository-management )
14+ - [ Running commands] ( #running-commands )
15+ - [ Creating Pull Requests] ( #creating-pull-requests )
16+ - [ Docker image] ( #docker-image )
17+ - [ Contributing] ( #contributing )
18+ - [ License] ( #license )
19+
720## Features
821
922- ** Multi-repository management** : Clone and manage multiple repositories from a
@@ -20,7 +33,7 @@ repositories
2033
2134## Installation
2235
23- ### From Source
36+ ### From source
2437
2538``` bash
2639git clone https://github.com/codcod/repos.git
@@ -77,7 +90,7 @@ git clone http://github.com/example/project2.git
7790repos init
7891```
7992
80- ## Typical Session
93+ ## Typical session
8194
8295Once you have a configuration file in place, an example session can look like the following:
8396
@@ -100,7 +113,7 @@ repos pr --title "Update dependencies" --body "Update Cargo.lock files"
100113
101114## Usage
102115
103- ### Repository Management
116+ ### Repository management
104117
105118To configure, clone and remove repositories:
106119
@@ -136,7 +149,7 @@ repos rm -t rust
136149repos rm -p
137150```
138151
139- ### Running Commands
152+ ### Running commands
140153
141154To run arbitrary commands in repositories:
142155
@@ -154,7 +167,7 @@ repos run -p "cargo test"
154167repos run -l custom/logs " make build"
155168```
156169
157- #### Example Commands
170+ #### Example commands
158171
159172Example commands to run with ` repos run "" ` :
160173
@@ -180,25 +193,38 @@ git log --all --author='$(id -un)' --since='1 month ago' --pretty=format:'%h %an
180193
181194### Creating Pull Requests
182195
183- To submit changes made in the cloned repositories :
196+ Set GITHUB_TOKEN in the environment (or pass via ` --token ` ), then :
184197
185198``` bash
186- export GITHUB_TOKEN=your_github_token
199+ # Basic: create PRs for repos with changes
200+ export GITHUB_TOKEN=your_token
201+ repos pr --title " Update deps" --body " Update Cargo.lock files"
187202
188- # Create PRs for repositories with changes
189- repos pr --title " My changes " --body " Description of changes "
203+ # Use a specific branch name and base branch
204+ repos pr --branch feature/foo --base develop --title " My change "
190205
191- # Create PRs with specific branch name
192- repos pr --branch feature/my-changes --title " My changes "
206+ # Commit message override and make draft PRs
207+ repos pr --commit-msg " chore: update deps " --draft
193208
194- # Create draft pull requests
195- repos pr --draft
209+ # Only create PR (don't push/commit) — useful for dry-run workflows
210+ repos pr --create-only
196211
197- # Create PRs for specific repositories
198- repos pr -t backend
212+ # Filter repositories and run in parallel
213+ repos pr -t backend -p --title " Backend changes "
199214```
200215
201- ## Command Reference
216+ Available PR options (CLI flags)
217+
218+ - --title TITLE (required for PR creation)
219+ - --body BODY
220+ - --branch / --branch-name NAME (optional)
221+ - --base BRANCH (optional; defaults to repo default branch — will detect it)
222+ - --commit-msg MSG (optional)
223+ - --draft (optional)
224+ - --create-only (optional)
225+ - --token TOKEN (optional; otherwise uses GITHUB_TOKEN env var)
226+
227+ ## Command reference
202228
203229``` text
204230A tool to manage multiple GitHub repositories
@@ -233,6 +259,26 @@ Options:
233259- ` walkdir ` - Directory traversal
234260- ` uuid ` - Unique ID generation
235261
262+ ## Docker image
263+
264+ Quick usage:
265+
266+ ``` bash
267+ # build image (from repo root)
268+ docker build -t repos:latest .
269+
270+ # run help
271+ docker run --rm repos:latest
272+
273+ # run PR command (ensure token passed)
274+ docker run --rm
275+ -e GITHUB_TOKEN=" $GITHUB_TOKEN " \
276+ repos:latest pr --title " fix: update config" --body " Detailed description"
277+ ```
278+
279+ Tip: mount host workspace if operations need local files:
280+ ` docker run --rm -v "$(pwd):/work" -w /work -e GITHUB_TOKEN="$GITHUB_TOKEN" repos:latest run "ls -la" `
281+
236282## Contributing
237283
2382841 . Fork the repository
0 commit comments