@cj-ways/orgclone 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 +89 -0
  2. package/package.json +31 -3
package/README.md ADDED
@@ -0,0 +1,89 @@
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
+ ## Install
9
+
10
+ ```bash
11
+ npm install -g @cj-ways/orgclone
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ ```bash
17
+ # Clone all repos from a GitHub organization
18
+ orgclone clone github my-org
19
+
20
+ # Clone all repos from a GitLab group
21
+ orgclone clone gitlab my-group --token glpat_xxx
22
+
23
+ # Clone private repos using a token
24
+ orgclone clone github my-org --token ghp_xxx
25
+
26
+ # Or use environment variables
27
+ export GITHUB_TOKEN=ghp_xxx
28
+ orgclone clone github my-org
29
+
30
+ # Preview without cloning
31
+ orgclone clone github my-org --dry-run
32
+
33
+ # Skip archived repos
34
+ orgclone clone github my-org --skip-archived
35
+
36
+ # Exclude specific repos
37
+ orgclone clone github my-org --exclude old-repo,test-project
38
+
39
+ # Custom destination folder
40
+ orgclone clone github my-org --dest ~/projects/my-org
41
+
42
+ # Self-hosted GitLab
43
+ orgclone clone gitlab my-group --gitlab-url https://gitlab.mycompany.com
44
+
45
+ # Force SSH URLs
46
+ orgclone clone github my-org --ssh
47
+ ```
48
+
49
+ Running it again on an already-cloned folder will `git pull` all repos to keep them up to date.
50
+
51
+ ## Works without a token
52
+
53
+ For **public repos**, no token is needed — orgclone uses plain `git clone` under the hood. If you're already authenticated via SSH keys or your system credential manager, private repos work too. A token embeds auth into the URL so git never prompts you.
54
+
55
+ ## Config file
56
+
57
+ Run `orgclone init` to create `~/.orgclone.yml`:
58
+
59
+ ```yaml
60
+ default_dest: ~/Desktop
61
+
62
+ github:
63
+ token: ghp_xxx # or set GITHUB_TOKEN env var
64
+
65
+ gitlab:
66
+ token: glpat_xxx
67
+ url: https://gitlab.com
68
+
69
+ orgs:
70
+ my-org:
71
+ exclude:
72
+ - old-repo
73
+ - legacy-stuff
74
+ ```
75
+
76
+ ## All install methods
77
+
78
+ | Method | Command |
79
+ |--------|---------|
80
+ | npm | `npm install -g @cj-ways/orgclone` |
81
+ | pip | `pip install orgclone` |
82
+ | go | `go install github.com/cj-ways/orgclone@latest` |
83
+ | binary | [Download from Releases](https://github.com/cj-ways/orgclone/releases) |
84
+
85
+ ## Links
86
+
87
+ - [GitHub Repository](https://github.com/cj-ways/orgclone)
88
+ - [Report an Issue](https://github.com/cj-ways/orgclone/issues)
89
+ - [Releases](https://github.com/cj-ways/orgclone/releases)
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.1",
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
  }