@prnv/tuck 1.0.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/LICENSE +21 -0
- package/README.md +181 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2885 -0
- package/dist/index.js.map +1 -0
- package/package.json +119 -0
- package/templates/gitignore.template +17 -0
- package/templates/readme.template +40 -0
package/package.json
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@prnv/tuck",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Modern dotfiles manager with a beautiful CLI",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"dotfiles",
|
|
7
|
+
"cli",
|
|
8
|
+
"backup",
|
|
9
|
+
"configuration",
|
|
10
|
+
"git"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/Pranav-Karra-3301/tuck#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/Pranav-Karra-3301/tuck/issues"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/Pranav-Karra-3301/tuck.git"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": "Pranav Karra",
|
|
22
|
+
"type": "module",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"import": "./dist/index.js",
|
|
26
|
+
"types": "./dist/index.d.ts"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"main": "dist/index.js",
|
|
30
|
+
"types": "dist/index.d.ts",
|
|
31
|
+
"bin": {
|
|
32
|
+
"tuck": "dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist",
|
|
36
|
+
"templates"
|
|
37
|
+
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "tsup",
|
|
40
|
+
"dev": "tsup --watch",
|
|
41
|
+
"lint": "eslint src --ext .ts",
|
|
42
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
43
|
+
"format": "prettier --write .",
|
|
44
|
+
"typecheck": "tsc --noEmit",
|
|
45
|
+
"test": "vitest run",
|
|
46
|
+
"test:watch": "vitest",
|
|
47
|
+
"test:coverage": "vitest run --coverage",
|
|
48
|
+
"prepare": "husky install",
|
|
49
|
+
"prepublishOnly": "pnpm build"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@clack/prompts": "^0.7.0",
|
|
53
|
+
"boxen": "^7.1.1",
|
|
54
|
+
"chalk": "^5.3.0",
|
|
55
|
+
"commander": "^11.1.0",
|
|
56
|
+
"cosmiconfig": "^9.0.0",
|
|
57
|
+
"fs-extra": "^11.2.0",
|
|
58
|
+
"glob": "^10.3.10",
|
|
59
|
+
"ora": "^8.0.1",
|
|
60
|
+
"simple-git": "^3.22.0",
|
|
61
|
+
"zod": "^3.22.4"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/fs-extra": "^11.0.4",
|
|
65
|
+
"@types/node": "^20.11.0",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^6.19.0",
|
|
67
|
+
"@typescript-eslint/parser": "^6.19.0",
|
|
68
|
+
"@vitest/coverage-v8": "^1.2.0",
|
|
69
|
+
"eslint": "^8.56.0",
|
|
70
|
+
"eslint-config-prettier": "^9.1.0",
|
|
71
|
+
"husky": "^8.0.3",
|
|
72
|
+
"lint-staged": "^15.2.0",
|
|
73
|
+
"memfs": "^4.6.0",
|
|
74
|
+
"prettier": "^3.2.4",
|
|
75
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
76
|
+
"@semantic-release/git": "^10.0.1",
|
|
77
|
+
"semantic-release": "^23.0.0",
|
|
78
|
+
"tsup": "^8.0.1",
|
|
79
|
+
"typescript": "^5.3.3",
|
|
80
|
+
"vitest": "^1.2.0"
|
|
81
|
+
},
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">=18"
|
|
84
|
+
},
|
|
85
|
+
"publishConfig": {
|
|
86
|
+
"access": "public"
|
|
87
|
+
},
|
|
88
|
+
"lint-staged": {
|
|
89
|
+
"*.ts": [
|
|
90
|
+
"eslint --fix",
|
|
91
|
+
"prettier --write"
|
|
92
|
+
],
|
|
93
|
+
"*.{json,md,yml}": [
|
|
94
|
+
"prettier --write"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"release": {
|
|
98
|
+
"branches": [
|
|
99
|
+
"main"
|
|
100
|
+
],
|
|
101
|
+
"plugins": [
|
|
102
|
+
"@semantic-release/commit-analyzer",
|
|
103
|
+
"@semantic-release/release-notes-generator",
|
|
104
|
+
"@semantic-release/changelog",
|
|
105
|
+
"@semantic-release/npm",
|
|
106
|
+
"@semantic-release/github",
|
|
107
|
+
[
|
|
108
|
+
"@semantic-release/git",
|
|
109
|
+
{
|
|
110
|
+
"assets": [
|
|
111
|
+
"CHANGELOG.md",
|
|
112
|
+
"package.json"
|
|
113
|
+
],
|
|
114
|
+
"message": "chore(release): ${nextRelease.version} [skip ci]"
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# OS generated files
|
|
2
|
+
.DS_Store
|
|
3
|
+
.DS_Store?
|
|
4
|
+
._*
|
|
5
|
+
.Spotlight-V100
|
|
6
|
+
.Trashes
|
|
7
|
+
ehthumbs.db
|
|
8
|
+
Thumbs.db
|
|
9
|
+
|
|
10
|
+
# Backup files
|
|
11
|
+
*.bak
|
|
12
|
+
*.backup
|
|
13
|
+
*~
|
|
14
|
+
|
|
15
|
+
# Secret files (add patterns for files you want to exclude)
|
|
16
|
+
# *.secret
|
|
17
|
+
# .env.local
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Dotfiles
|
|
2
|
+
|
|
3
|
+
Managed with [tuck](https://github.com/Pranav-Karra-3301/tuck) - Modern Dotfiles Manager
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Restore dotfiles to a new machine
|
|
9
|
+
tuck init --from <this-repo-url>
|
|
10
|
+
|
|
11
|
+
# Or clone and restore manually
|
|
12
|
+
git clone <this-repo-url> ~/.tuck
|
|
13
|
+
tuck restore --all
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
| Command | Description |
|
|
19
|
+
|---------|-------------|
|
|
20
|
+
| `tuck add <paths>` | Track new dotfiles |
|
|
21
|
+
| `tuck sync` | Sync changes to repository |
|
|
22
|
+
| `tuck push` | Push to remote |
|
|
23
|
+
| `tuck pull` | Pull from remote |
|
|
24
|
+
| `tuck restore` | Restore dotfiles to system |
|
|
25
|
+
| `tuck status` | Show tracking status |
|
|
26
|
+
| `tuck list` | List tracked files |
|
|
27
|
+
|
|
28
|
+
## Structure
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
.tuck/
|
|
32
|
+
├── files/ # Tracked dotfiles organized by category
|
|
33
|
+
│ ├── shell/ # Shell configs (.zshrc, .bashrc, etc.)
|
|
34
|
+
│ ├── git/ # Git configs (.gitconfig, etc.)
|
|
35
|
+
│ ├── editors/ # Editor configs (nvim, vim, etc.)
|
|
36
|
+
│ ├── terminal/ # Terminal configs (tmux, alacritty, etc.)
|
|
37
|
+
│ └── misc/ # Other dotfiles
|
|
38
|
+
├── .tuckmanifest.json # Tracks all managed files
|
|
39
|
+
└── .tuckrc.json # Tuck configuration
|
|
40
|
+
```
|