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.
Files changed (2) hide show
  1. package/README.md +26 -22
  2. 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-vendor` or `org/project-vendor`) - Where your team works internally
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-vendor.git
73
+ venfork clone git@github.com:yourname/project-private.git
74
74
 
75
- cd project-vendor
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-vendor` or `org/project-vendor`) - For internal work
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 vendor repo (default: `{repo}-vendor`)
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-vendor (private), yourname/next.js (public fork)
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-vendor (private), acme-corp/awesome-project (public fork)
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 vendor repository
131
- - Auto-detects the public fork (by stripping `-vendor` suffix)
132
- - Auto-detects the upstream repository (from public fork's parent)
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-vendor.git
148
- # Auto-detects: public fork at yourname/project
149
- # Auto-detects: upstream from public fork's parent
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-vendor.git
153
- # Auto-detects: public fork at acme-corp/awesome-project
154
- # Auto-detects: upstream from public fork's parent
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-vendor
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-vendor.git (private)
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-vendor.git (private)
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-vendor)
365
- │ (or org/project-vendor)
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-vendor` (or `org/project-vendor`) | Private work (default) |
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venfork",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Create and manage private mirrors for vendor development",
5
5
  "type": "module",
6
6
  "bin": {