@cj-ways/orgclone 0.1.0 → 0.1.2

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 +119 -0
  2. package/package.json +31 -3
package/README.md ADDED
@@ -0,0 +1,119 @@
1
+ # orgclone
2
+
3
+ Clone entire GitHub organizations or GitLab groups with one command.
4
+
5
+ [![npm](https://img.shields.io/npm/v/@cj-ways/orgclone)](https://www.npmjs.com/package/@cj-ways/orgclone)
6
+ [![license](https://img.shields.io/github/license/cj-ways/orgclone)](https://github.com/cj-ways/orgclone/blob/master/LICENSE)
7
+
8
+ ```bash
9
+ npm install -g @cj-ways/orgclone
10
+ ```
11
+
12
+ ---
13
+
14
+ ## Quick Start
15
+
16
+ ```bash
17
+ # Clone a GitHub org (public — no token needed)
18
+ orgclone clone github my-org
19
+
20
+ # Clone a GitLab group
21
+ orgclone clone gitlab my-group --token glpat_xxx
22
+
23
+ # Preview what would be cloned
24
+ orgclone clone github my-org --dry-run
25
+ ```
26
+
27
+ Repos land in `~/Desktop/my-org/` by default. Run it again on the same folder and it `git pull`s everything — no re-cloning.
28
+
29
+ ---
30
+
31
+ ## Install
32
+
33
+ | Method | Command |
34
+ |--------|---------|
35
+ | **npm** | `npm install -g @cj-ways/orgclone` |
36
+ | **pip** | `pip install orgclone` |
37
+ | **Go** | `go install github.com/cj-ways/orgclone@latest` |
38
+ | **Binary** | [Download from Releases](https://github.com/cj-ways/orgclone/releases) |
39
+
40
+ ---
41
+
42
+ ## All Options
43
+
44
+ ```
45
+ orgclone clone <platform> <name> [options]
46
+
47
+ platform github or gitlab
48
+ name org name (GitHub) or group path (GitLab)
49
+
50
+ Options:
51
+ -t, --token API token — or set GITHUB_TOKEN / GITLAB_TOKEN env var
52
+ -d, --dest Destination folder (default: ~/Desktop/<name>)
53
+ -e, --exclude Comma-separated repo names to skip
54
+ --skip-archived Skip archived repositories
55
+ --ssh Use SSH URLs instead of HTTPS
56
+ --gitlab-url Self-hosted GitLab URL (default: https://gitlab.com)
57
+ --dry-run List repos without cloning
58
+ ```
59
+
60
+ ---
61
+
62
+ ## No token? No problem
63
+
64
+ For **public repos**, no token needed — orgclone calls `git clone` the same way you would manually. If you already have SSH keys or a credential manager set up (you can `git push` without a password), **private repos work too** with no extra config.
65
+
66
+ A token only adds value when you want auth to work automatically on a fresh machine or in CI.
67
+
68
+ ---
69
+
70
+ ## Why orgclone over alternatives?
71
+
72
+ | Feature | orgclone | others |
73
+ |---------|----------|--------|
74
+ | GitHub support | ✓ | ✓ |
75
+ | GitLab support | ✓ | ✗ |
76
+ | Self-hosted GitLab | ✓ | ✗ |
77
+ | Auto-update on re-run | ✓ | some |
78
+ | Config file | ✓ | ✗ |
79
+ | Dry run | ✓ | ✗ |
80
+ | Skip archived | ✓ | ✗ |
81
+ | npm + pip + Go install | ✓ | ✗ |
82
+ | No runtime dependency | ✓ (single binary) | ✗ |
83
+
84
+ ---
85
+
86
+ ## Config file
87
+
88
+ Run `orgclone init` to generate `~/.orgclone.yml`:
89
+
90
+ ```yaml
91
+ default_dest: ~/Desktop
92
+
93
+ github:
94
+ token: ghp_xxx # or: export GITHUB_TOKEN=ghp_xxx
95
+
96
+ gitlab:
97
+ token: glpat_xxx
98
+ url: https://gitlab.com # change for self-hosted
99
+
100
+ orgs:
101
+ my-org:
102
+ exclude:
103
+ - old-repo
104
+ - scratch
105
+ ```
106
+
107
+ CLI flags always override config file values.
108
+
109
+ ---
110
+
111
+ ## Links
112
+
113
+ - [GitHub Repository](https://github.com/cj-ways/orgclone)
114
+ - [Report an Issue](https://github.com/cj-ways/orgclone/issues)
115
+ - [Releases & Binaries](https://github.com/cj-ways/orgclone/releases)
116
+
117
+ ## License
118
+
119
+ MIT
package/package.json CHANGED
@@ -1,12 +1,39 @@
1
1
  {
2
2
  "name": "@cj-ways/orgclone",
3
- "version": "0.1.0",
4
- "description": "Clone entire GitHub orgs or GitLab groups with one command",
3
+ "version": "0.1.2",
4
+ "description": "Clone entire GitHub organizations or GitLab groups with one command. Supports public and private repos, SSH, token auth, and config files.",
5
5
  "license": "MIT",
6
+ "author": "cj-ways",
7
+ "homepage": "https://github.com/cj-ways/orgclone#readme",
8
+ "bugs": {
9
+ "url": "https://github.com/cj-ways/orgclone/issues"
10
+ },
6
11
  "repository": {
7
12
  "type": "git",
8
13
  "url": "git+https://github.com/cj-ways/orgclone.git"
9
14
  },
15
+ "keywords": [
16
+ "github",
17
+ "gitlab",
18
+ "clone",
19
+ "organization",
20
+ "org",
21
+ "group",
22
+ "git",
23
+ "repos",
24
+ "repositories",
25
+ "bulk-clone",
26
+ "cli",
27
+ "devtools",
28
+ "github-org",
29
+ "gitlab-group",
30
+ "clone-repos",
31
+ "git-clone",
32
+ "developer-tools",
33
+ "automation",
34
+ "github-organization",
35
+ "sync"
36
+ ],
10
37
  "scripts": {
11
38
  "postinstall": "node install.js"
12
39
  },
@@ -15,6 +42,7 @@
15
42
  },
16
43
  "files": [
17
44
  "bin/",
18
- "install.js"
45
+ "install.js",
46
+ "README.md"
19
47
  ]
20
48
  }