@prnv/tuck 1.5.2 → 1.7.0
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 +52 -10
- package/dist/index.js +2100 -127
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -13,13 +13,16 @@
|
|
|
13
13
|
|
|
14
14
|
[Website](https://tuck.sh) · [Install](#installation) · [Quick Start](#quick-start) · [Commands](#commands)
|
|
15
15
|
|
|
16
|
+
<img src="public/tuck_preview.png" alt="tuck preview" width="650">
|
|
17
|
+
|
|
16
18
|
</div>
|
|
17
19
|
|
|
18
20
|
---
|
|
19
21
|
|
|
20
22
|
## Why tuck?
|
|
21
23
|
|
|
22
|
-
- **One command to rule them all** — `tuck init` scans your system, lets you pick what to track, and syncs to
|
|
24
|
+
- **One command to rule them all** — `tuck init` scans your system, lets you pick what to track, and syncs to your remote
|
|
25
|
+
- **Multi-provider support** — GitHub, GitLab (including self-hosted), local-only, or any custom git remote
|
|
23
26
|
- **Smart detection** — Auto-categorizes dotfiles (shell, git, editors, terminal, ssh, etc.)
|
|
24
27
|
- **Beautiful CLI** — Gorgeous prompts, spinners, and progress bars powered by @clack/prompts
|
|
25
28
|
- **Safe by default** — Creates backups before every operation, never overwrites without asking
|
|
@@ -53,11 +56,12 @@ tuck init
|
|
|
53
56
|
|
|
54
57
|
That's it! `tuck init` does everything:
|
|
55
58
|
|
|
56
|
-
1.
|
|
57
|
-
2.
|
|
58
|
-
3.
|
|
59
|
-
4.
|
|
60
|
-
5.
|
|
59
|
+
1. **Asks where to store** — GitHub, GitLab, local-only, or custom remote
|
|
60
|
+
2. Creates `~/.tuck` repository
|
|
61
|
+
3. Scans your system for dotfiles
|
|
62
|
+
4. Lets you select which to track
|
|
63
|
+
5. Creates a remote repo (if using GitHub/GitLab)
|
|
64
|
+
6. Commits and pushes
|
|
61
65
|
|
|
62
66
|
### Ongoing workflow
|
|
63
67
|
|
|
@@ -114,10 +118,11 @@ tuck restore --all
|
|
|
114
118
|
|
|
115
119
|
### Configuration
|
|
116
120
|
|
|
117
|
-
| Command | Description
|
|
118
|
-
| -------------------- |
|
|
119
|
-
| `tuck config` | View/edit configuration
|
|
120
|
-
| `tuck config
|
|
121
|
+
| Command | Description |
|
|
122
|
+
| -------------------- | -------------------------------------------- |
|
|
123
|
+
| `tuck config` | View/edit configuration |
|
|
124
|
+
| `tuck config remote` | Configure git provider (GitHub/GitLab/local) |
|
|
125
|
+
| `tuck config wizard` | Interactive configuration setup |
|
|
121
126
|
|
|
122
127
|
## How It Works
|
|
123
128
|
|
|
@@ -146,6 +151,39 @@ tuck stores your dotfiles in `~/.tuck`, organized by category:
|
|
|
146
151
|
|
|
147
152
|
Run `tuck sync` anytime to detect changes and push. On a new machine, run `tuck apply username` to grab anyone's dotfiles.
|
|
148
153
|
|
|
154
|
+
## Git Providers
|
|
155
|
+
|
|
156
|
+
tuck supports multiple git hosting providers, detected automatically during setup:
|
|
157
|
+
|
|
158
|
+
| Provider | CLI Required | Features |
|
|
159
|
+
|----------|--------------|----------|
|
|
160
|
+
| **GitHub** | `gh` | Auto-create repos, full integration |
|
|
161
|
+
| **GitLab** | `glab` | Auto-create repos, self-hosted support |
|
|
162
|
+
| **Local** | None | No remote sync, local git only |
|
|
163
|
+
| **Custom** | None | Any git URL (Bitbucket, Gitea, etc.) |
|
|
164
|
+
|
|
165
|
+
### Switching Providers
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# Change provider anytime
|
|
169
|
+
tuck config remote
|
|
170
|
+
|
|
171
|
+
# Or via interactive config menu
|
|
172
|
+
tuck config
|
|
173
|
+
# → Select "Configure remote"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Self-Hosted GitLab
|
|
177
|
+
|
|
178
|
+
tuck supports self-hosted GitLab instances:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
tuck init
|
|
182
|
+
# → Select GitLab
|
|
183
|
+
# → Select "Self-hosted"
|
|
184
|
+
# → Enter your GitLab host (e.g., gitlab.company.com)
|
|
185
|
+
```
|
|
186
|
+
|
|
149
187
|
## Configuration
|
|
150
188
|
|
|
151
189
|
Configure tuck via `~/.tuck/.tuckrc.json` or `tuck config wizard`:
|
|
@@ -159,6 +197,10 @@ Configure tuck via `~/.tuck/.tuckrc.json` or `tuck config wizard`:
|
|
|
159
197
|
"files": {
|
|
160
198
|
"strategy": "copy",
|
|
161
199
|
"backupOnRestore": true
|
|
200
|
+
},
|
|
201
|
+
"remote": {
|
|
202
|
+
"mode": "github",
|
|
203
|
+
"username": "your-username"
|
|
162
204
|
}
|
|
163
205
|
}
|
|
164
206
|
```
|