venfork 0.1.0 → 0.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 +26 -22
- package/package.json +1 -1
package/README.md
CHANGED
@@ -13,7 +13,7 @@ Create and manage private mirrors of public GitHub repositories for vendor devel
|
|
13
13
|
|
14
14
|
Venfork helps contractors and vendors who need to work on private forks of public repositories. It creates a **three-repository workflow**:
|
15
15
|
|
16
|
-
1. **Private Mirror** (`yourname/project-
|
16
|
+
1. **Private Mirror** (`yourname/project-private` or `org/project-private`) - Where your team works internally
|
17
17
|
2. **Public Fork** (`yourname/project` or `org/project`) - Staging area for contributions to upstream
|
18
18
|
3. **Upstream** (`original/project`) - The original repository
|
19
19
|
|
@@ -70,9 +70,9 @@ venfork setup git@github.com:awesome/project.git
|
|
70
70
|
venfork setup git@github.com:awesome/project.git --org my-company
|
71
71
|
|
72
72
|
# 1b. Clone existing setup (other team members)
|
73
|
-
venfork clone git@github.com:yourname/project-
|
73
|
+
venfork clone git@github.com:yourname/project-private.git
|
74
74
|
|
75
|
-
cd project-
|
75
|
+
cd project-private
|
76
76
|
|
77
77
|
# 2. Work privately
|
78
78
|
git checkout -b feature/new-thing
|
@@ -93,8 +93,9 @@ venfork stage feature/new-thing
|
|
93
93
|
Creates the complete vendor workflow setup:
|
94
94
|
|
95
95
|
**What it creates:**
|
96
|
-
- **Private mirror** (`yourname/project-
|
96
|
+
- **Private mirror** (`yourname/project-private` or `org/project-private`) - For internal work
|
97
97
|
- **Public fork** (`yourname/project` or `org/project`) - For staging to upstream
|
98
|
+
- **Config branch** (`venfork-config`) - Stores remote URLs for easy team cloning
|
98
99
|
- **Local clone** with three remotes configured:
|
99
100
|
- `origin` → private mirror (default push/pull)
|
100
101
|
- `public` → public fork (for staging)
|
@@ -102,21 +103,21 @@ Creates the complete vendor workflow setup:
|
|
102
103
|
|
103
104
|
**Arguments:**
|
104
105
|
- `upstream-url` - GitHub repository URL (SSH or HTTPS)
|
105
|
-
- `name` - (Optional) Name for private
|
106
|
+
- `name` - (Optional) Name for private mirror repo (default: `{repo}-private`)
|
106
107
|
- `--org <organization>` - (Optional) Create repos under organization instead of personal account
|
107
108
|
|
108
109
|
**Examples:**
|
109
110
|
```bash
|
110
111
|
# Personal account (default)
|
111
112
|
venfork setup git@github.com:vercel/next.js.git
|
112
|
-
# Creates: yourname/next.js-
|
113
|
+
# Creates: yourname/next.js-private (private), yourname/next.js (public fork)
|
113
114
|
|
114
115
|
venfork setup https://github.com/vuejs/vue.git vue-internal
|
115
116
|
# Creates: yourname/vue-internal (private), yourname/vue (public fork)
|
116
117
|
|
117
118
|
# Organization account
|
118
119
|
venfork setup git@github.com:client/awesome-project.git --org acme-corp
|
119
|
-
# Creates: acme-corp/awesome-project-
|
120
|
+
# Creates: acme-corp/awesome-project-private (private), acme-corp/awesome-project (public fork)
|
120
121
|
|
121
122
|
venfork setup git@github.com:client/project.git internal-mirror --org my-company
|
122
123
|
# Creates: my-company/internal-mirror (private), my-company/project (public fork)
|
@@ -127,9 +128,11 @@ venfork setup git@github.com:client/project.git internal-mirror --org my-company
|
|
127
128
|
Clone an existing vendor setup and automatically configure all remotes.
|
128
129
|
|
129
130
|
**What it does:**
|
130
|
-
- Clones the private
|
131
|
-
-
|
132
|
-
-
|
131
|
+
- Clones the private mirror repository
|
132
|
+
- **Reads venfork-config branch** for public fork and upstream URLs (if available)
|
133
|
+
- Falls back to auto-detection:
|
134
|
+
- Public fork (by stripping `-private` suffix)
|
135
|
+
- Upstream repository (from public fork's parent)
|
133
136
|
- Configures all three remotes (origin, public, upstream)
|
134
137
|
- Disables push to upstream (read-only)
|
135
138
|
|
@@ -144,14 +147,14 @@ Clone an existing vendor setup and automatically configure all remotes.
|
|
144
147
|
**Examples:**
|
145
148
|
```bash
|
146
149
|
# Clone existing vendor setup (personal account)
|
147
|
-
venfork clone git@github.com:yourname/project-
|
148
|
-
#
|
149
|
-
#
|
150
|
+
venfork clone git@github.com:yourname/project-private.git
|
151
|
+
# Reads config from venfork-config branch (if available)
|
152
|
+
# Or auto-detects: public fork at yourname/project
|
150
153
|
|
151
154
|
# Clone organization vendor setup
|
152
|
-
venfork clone git@github.com:acme-corp/awesome-project-
|
153
|
-
#
|
154
|
-
#
|
155
|
+
venfork clone git@github.com:acme-corp/awesome-project-private.git
|
156
|
+
# Reads config from venfork-config branch (if available)
|
157
|
+
# Or auto-detects: public fork at acme-corp/awesome-project
|
155
158
|
```
|
156
159
|
|
157
160
|
**Interactive prompts:**
|
@@ -275,7 +278,7 @@ venfork setup git@github.com:client/awesome-project.git
|
|
275
278
|
venfork setup git@github.com:client/awesome-project.git --org acme-corp
|
276
279
|
|
277
280
|
# Navigate to private mirror
|
278
|
-
cd awesome-project-
|
281
|
+
cd awesome-project-private
|
279
282
|
|
280
283
|
# Check setup status
|
281
284
|
venfork status
|
@@ -283,12 +286,12 @@ venfork status
|
|
283
286
|
# Or verify remotes manually
|
284
287
|
git remote -v
|
285
288
|
# With personal account:
|
286
|
-
# origin git@github.com:you/awesome-project-
|
289
|
+
# origin git@github.com:you/awesome-project-private.git (private)
|
287
290
|
# public git@github.com:you/awesome-project.git (public fork)
|
288
291
|
# upstream git@github.com:client/awesome-project.git (read-only)
|
289
292
|
|
290
293
|
# With organization:
|
291
|
-
# origin git@github.com:acme-corp/awesome-project-
|
294
|
+
# origin git@github.com:acme-corp/awesome-project-private.git (private)
|
292
295
|
# public git@github.com:acme-corp/awesome-project.git (public fork)
|
293
296
|
# upstream git@github.com:client/awesome-project.git (read-only)
|
294
297
|
```
|
@@ -361,12 +364,13 @@ venfork stage feature/user-auth
|
|
361
364
|
│ mirror (disconnected)
|
362
365
|
▼
|
363
366
|
┌─────────────────────────────────────────────┐
|
364
|
-
│ Private Mirror (you/project-
|
365
|
-
│ (or org/project-
|
367
|
+
│ Private Mirror (you/project-private) │
|
368
|
+
│ (or org/project-private) │
|
366
369
|
│ • Only visible to your team │
|
367
370
|
│ • Safe space to experiment & iterate │
|
368
371
|
│ • Internal PRs and reviews │
|
369
372
|
│ • Your daily work happens here │
|
373
|
+
│ • Contains venfork-config branch │
|
370
374
|
└─────────────────────────────────────────────┘
|
371
375
|
```
|
372
376
|
|
@@ -378,7 +382,7 @@ After `venfork setup`, your local repository has three remotes:
|
|
378
382
|
|
379
383
|
| Remote | URL | Purpose |
|
380
384
|
|--------|-----|---------|
|
381
|
-
| `origin` | `you/project-
|
385
|
+
| `origin` | `you/project-private` (or `org/project-private`) | Private work (default) |
|
382
386
|
| `public` | `you/project` (or `org/project`) | Stage for upstream |
|
383
387
|
| `upstream` | `original/project` | Sync with latest |
|
384
388
|
|