@alexgorbatchev/dotfiles 0.0.6 → 0.0.10
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 +45 -47
- package/cli.js +157 -157
- package/cli.js.map +274 -274
- package/dashboard-vf1askzj.js +159 -0
- package/{dashboard-0ebz5sqb.js.map → dashboard-vf1askzj.js.map} +33 -33
- package/dashboard.js +11 -11
- package/package.json +1 -1
- package/schemas.d.ts +106 -100
- package/skill/SKILL.md +7 -5
- package/skill/references/api-reference.md +49 -49
- package/skill/references/configuration.md +184 -174
- package/skill/references/installation-methods/brew.md +18 -18
- package/skill/references/installation-methods/cargo.md +19 -19
- package/skill/references/installation-methods/curl-binary.md +29 -27
- package/skill/references/installation-methods/curl-script.md +28 -28
- package/skill/references/installation-methods/curl-tar.md +27 -19
- package/skill/references/installation-methods/dmg.md +24 -24
- package/skill/references/installation-methods/gitea-release.md +24 -24
- package/skill/references/installation-methods/github-release.md +20 -20
- package/skill/references/installation-methods/manual.md +18 -18
- package/skill/references/installation-methods/npm.md +19 -19
- package/skill/references/installation-methods/overview.md +74 -75
- package/skill/references/installation-methods/zsh-plugin.md +31 -32
- package/skill/references/make-tool.md +168 -167
- package/skill/references/shell-and-hooks.md +78 -77
- package/dashboard-0ebz5sqb.js +0 -159
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ dotfiles docs <path>
|
|
|
69
69
|
- `dotfiles generate` writes a zsh completion script to `${generatedDir}/shell-scripts/zsh/completions/_dotfiles`.
|
|
70
70
|
- Reload completions with `autoload -U compinit && compinit` (or restart your shell) after generating.
|
|
71
71
|
- Commands that accept a tool argument (e.g., `install`, `update`, `check-updates`, `files`, `log`, `bin`) now suggest every configured tool name directly in completion menus, so you can pick a target without memorizing identifiers.
|
|
72
|
-
- See [Shell & Hooks Reference](.
|
|
72
|
+
- See [Shell & Hooks Reference](.agents/skills/dotfiles/references/shell-and-hooks.md) for shell-specific integration details.
|
|
73
73
|
|
|
74
74
|
### Configure with TypeScript
|
|
75
75
|
|
|
@@ -77,12 +77,12 @@ Create `dotfiles.config.ts` to take advantage of TypeScript tooling:
|
|
|
77
77
|
|
|
78
78
|
```typescript
|
|
79
79
|
// dotfiles.config.ts
|
|
80
|
-
import { defineConfig } from
|
|
80
|
+
import { defineConfig } from "@alexgorbatchev/dotfiles";
|
|
81
81
|
|
|
82
82
|
export default defineConfig(async () => ({
|
|
83
83
|
paths: {
|
|
84
|
-
dotfilesDir:
|
|
85
|
-
targetDir:
|
|
84
|
+
dotfilesDir: "~/.dotfiles",
|
|
85
|
+
targetDir: "~/.local/bin",
|
|
86
86
|
},
|
|
87
87
|
github: {
|
|
88
88
|
token: process.env.GITHUB_TOKEN,
|
|
@@ -91,7 +91,7 @@ export default defineConfig(async () => ({
|
|
|
91
91
|
|
|
92
92
|
export const syncExample = defineConfig(() => ({
|
|
93
93
|
paths: {
|
|
94
|
-
generatedDir:
|
|
94
|
+
generatedDir: "${configFileDir}/.generated",
|
|
95
95
|
},
|
|
96
96
|
}));
|
|
97
97
|
```
|
|
@@ -102,18 +102,18 @@ Define everything about a tool—installation, binary path, config file symlinks
|
|
|
102
102
|
|
|
103
103
|
```typescript
|
|
104
104
|
// configs/tools/ripgrep.tool.ts
|
|
105
|
-
import { defineTool } from
|
|
105
|
+
import { defineTool } from "@alexgorbatchev/dotfiles";
|
|
106
106
|
|
|
107
107
|
export default defineTool((install, ctx) =>
|
|
108
|
-
install(
|
|
109
|
-
repo:
|
|
108
|
+
install("github-release", {
|
|
109
|
+
repo: "BurntSushi/ripgrep",
|
|
110
110
|
})
|
|
111
111
|
// 1. Define the binary name
|
|
112
|
-
.bin(
|
|
112
|
+
.bin("rg")
|
|
113
113
|
// 2. Declare required binaries that must exist before this tool runs
|
|
114
|
-
.dependsOn(
|
|
114
|
+
.dependsOn("pcre2")
|
|
115
115
|
// 3. Create symlinks for configuration files
|
|
116
|
-
.symlink(
|
|
116
|
+
.symlink("./ripgreprc", "~/.ripgreprc")
|
|
117
117
|
// 4. Configure shell-specific integration (aliases, functions, env vars, PATH)
|
|
118
118
|
.zsh((shell) =>
|
|
119
119
|
shell
|
|
@@ -121,12 +121,12 @@ export default defineTool((install, ctx) =>
|
|
|
121
121
|
.path((ctx) => `${ctx.installDir}/bin`)
|
|
122
122
|
// Set environment variables (PATH is prohibited here - use .path() instead)
|
|
123
123
|
.env({
|
|
124
|
-
RIPGREP_CONFIG_PATH:
|
|
124
|
+
RIPGREP_CONFIG_PATH: "~/.ripgreprc",
|
|
125
125
|
})
|
|
126
126
|
.aliases({
|
|
127
|
-
rgi:
|
|
128
|
-
})
|
|
129
|
-
)
|
|
127
|
+
rgi: "rg -i", // Case-insensitive search alias
|
|
128
|
+
}),
|
|
129
|
+
),
|
|
130
130
|
);
|
|
131
131
|
```
|
|
132
132
|
|
|
@@ -163,29 +163,29 @@ npm install -g @alexgorbatchev/dotfiles
|
|
|
163
163
|
|
|
164
164
|
### Getting Started
|
|
165
165
|
|
|
166
|
-
- **[Tool Creation Guide](.
|
|
167
|
-
- **[Configuration](.
|
|
166
|
+
- **[Tool Creation Guide](.agents/skills/dotfiles/references/make-tool.md)** - Complete guide to creating `.tool.ts` files
|
|
167
|
+
- **[Configuration](.agents/skills/dotfiles/references/configuration.md)** - Project config, getting started, common patterns, platform support
|
|
168
168
|
|
|
169
169
|
### Shell Integration
|
|
170
170
|
|
|
171
|
-
- **[Shell & Hooks](.
|
|
171
|
+
- **[Shell & Hooks](.agents/skills/dotfiles/references/shell-and-hooks.md)** - Aliases, environment variables, shell functions, completions, lifecycle hooks
|
|
172
172
|
|
|
173
173
|
### Installation Methods & API
|
|
174
174
|
|
|
175
|
-
- **[Installation Methods](.
|
|
176
|
-
- **[API Reference](.
|
|
175
|
+
- **[Installation Methods](.agents/skills/dotfiles/references/installation-methods/overview.md)** - All 11 methods: GitHub releases, Gitea, Homebrew, Cargo, npm, curl-script, curl-tar, curl-binary, manual, DMG, zsh-plugin
|
|
176
|
+
- **[API Reference](.agents/skills/dotfiles/references/api-reference.md)** - Complete method reference and context API
|
|
177
177
|
|
|
178
|
-
## Global Configuration (`config.ts`)
|
|
178
|
+
## Global Configuration (`dotfiles.config.ts`)
|
|
179
179
|
|
|
180
180
|
The generator can be customized via a `dotfiles.config.ts` file located in your dotfiles directory (e.g., `~/.dotfiles/dotfiles.config.ts`). The following is a reference for all available options.
|
|
181
181
|
|
|
182
182
|
```typescript
|
|
183
|
-
import { defineConfig } from
|
|
183
|
+
import { defineConfig } from "@alexgorbatchev/dotfiles";
|
|
184
184
|
|
|
185
185
|
export default defineConfig(() => ({
|
|
186
186
|
// Path to the user's config file.
|
|
187
187
|
// (string, default: ~/.dotfiles/dotfiles.config.ts)
|
|
188
|
-
userConfigPath:
|
|
188
|
+
userConfigPath: "~/.dotfiles/dotfiles.config.ts",
|
|
189
189
|
|
|
190
190
|
// ---------------------------------------------------------------------------
|
|
191
191
|
// File System Paths
|
|
@@ -193,25 +193,25 @@ export default defineConfig(() => ({
|
|
|
193
193
|
paths: {
|
|
194
194
|
// Root directory of the dotfiles repository. You SHOULD set this value.
|
|
195
195
|
// (string, default: ~/.dotfiles)
|
|
196
|
-
dotfilesDir:
|
|
196
|
+
dotfilesDir: "~/.dotfiles",
|
|
197
197
|
// Target directory for executable shims. This directory MUST be in your shell's $PATH.
|
|
198
198
|
// (string, default: /usr/local/bin)
|
|
199
|
-
targetDir:
|
|
199
|
+
targetDir: "/usr/local/bin",
|
|
200
200
|
// The user's home directory.
|
|
201
201
|
// (string, default: value of $HOME)
|
|
202
|
-
homeDir:
|
|
202
|
+
homeDir: "~",
|
|
203
203
|
// Directory where all generated files will be stored.
|
|
204
204
|
// (string, default: ~/.dotfiles/.generated)
|
|
205
|
-
generatedDir:
|
|
205
|
+
generatedDir: "~/.dotfiles/.generated",
|
|
206
206
|
// Directory containing *.tool.ts tool configuration files.
|
|
207
207
|
// (string, default: ~/.dotfiles/tools)
|
|
208
|
-
toolConfigsDir:
|
|
208
|
+
toolConfigsDir: "~/.dotfiles/tools",
|
|
209
209
|
// Directory where generated shell scripts are stored.
|
|
210
210
|
// (string, default: ~/.dotfiles/.generated/shell-scripts)
|
|
211
|
-
shellScriptsDir:
|
|
211
|
+
shellScriptsDir: "~/.dotfiles/.generated/shell-scripts",
|
|
212
212
|
// Directory where downloaded tool binaries are stored.
|
|
213
213
|
// (string, default: ~/.dotfiles/.generated/binaries)
|
|
214
|
-
binariesDir:
|
|
214
|
+
binariesDir: "~/.dotfiles/.generated/binaries",
|
|
215
215
|
},
|
|
216
216
|
|
|
217
217
|
// ---------------------------------------------------------------------------
|
|
@@ -220,7 +220,7 @@ export default defineConfig(() => ({
|
|
|
220
220
|
system: {
|
|
221
221
|
// Custom prompt message to display when sudo is required.
|
|
222
222
|
// (string, default: "Please enter your password to continue:")
|
|
223
|
-
sudoPrompt:
|
|
223
|
+
sudoPrompt: "Please enter your password to continue:",
|
|
224
224
|
},
|
|
225
225
|
|
|
226
226
|
// ---------------------------------------------------------------------------
|
|
@@ -229,7 +229,7 @@ export default defineConfig(() => ({
|
|
|
229
229
|
logging: {
|
|
230
230
|
// Controls debug logging output. Set to "*" to enable all debug logs.
|
|
231
231
|
// (string, default: "")
|
|
232
|
-
debug:
|
|
232
|
+
debug: "",
|
|
233
233
|
},
|
|
234
234
|
|
|
235
235
|
// ---------------------------------------------------------------------------
|
|
@@ -255,7 +255,7 @@ export default defineConfig(() => ({
|
|
|
255
255
|
generate: true,
|
|
256
256
|
// Path where the catalog file will be generated.
|
|
257
257
|
// (string, default: {paths.dotfilesDir}/CATALOG.md)
|
|
258
|
-
filePath:
|
|
258
|
+
filePath: "{paths.dotfilesDir}/CATALOG.md",
|
|
259
259
|
},
|
|
260
260
|
|
|
261
261
|
// Configuration for shell initialization.
|
|
@@ -263,13 +263,13 @@ export default defineConfig(() => ({
|
|
|
263
263
|
shellInstall: {
|
|
264
264
|
// Path to zsh configuration file (e.g., ~/.zshrc).
|
|
265
265
|
// If not provided, zsh initialization will be skipped.
|
|
266
|
-
zsh:
|
|
266
|
+
zsh: "~/.zshrc",
|
|
267
267
|
// Path to bash configuration file (e.g., ~/.bashrc).
|
|
268
268
|
// If not provided, bash initialization will be skipped.
|
|
269
|
-
bash:
|
|
269
|
+
bash: "~/.bashrc",
|
|
270
270
|
// Path to powershell configuration file (e.g., ~/.config/powershell/profile.ps1).
|
|
271
271
|
// If not provided, powershell initialization will be skipped.
|
|
272
|
-
powershell:
|
|
272
|
+
powershell: "~/.config/powershell/profile.ps1",
|
|
273
273
|
},
|
|
274
274
|
},
|
|
275
275
|
|
|
@@ -279,13 +279,13 @@ export default defineConfig(() => ({
|
|
|
279
279
|
github: {
|
|
280
280
|
// GitHub API host.
|
|
281
281
|
// (string, default: "https://api.github.com")
|
|
282
|
-
host:
|
|
282
|
+
host: "https://api.github.com",
|
|
283
283
|
// GitHub API token. Can be set via GITHUB_TOKEN environment variable.
|
|
284
284
|
// (string, optional)
|
|
285
|
-
token:
|
|
285
|
+
token: "",
|
|
286
286
|
// User-Agent for GitHub API requests.
|
|
287
287
|
// (string, default: "dotfiles-generator")
|
|
288
|
-
userAgent:
|
|
288
|
+
userAgent: "dotfiles-generator",
|
|
289
289
|
// Caching for GitHub API requests.
|
|
290
290
|
cache: {
|
|
291
291
|
enabled: true,
|
|
@@ -295,10 +295,10 @@ export default defineConfig(() => ({
|
|
|
295
295
|
|
|
296
296
|
cargo: {
|
|
297
297
|
// User-Agent for Cargo-related requests.
|
|
298
|
-
userAgent:
|
|
298
|
+
userAgent: "dotfiles-generator",
|
|
299
299
|
// Configuration for the crates.io API.
|
|
300
300
|
cratesIo: {
|
|
301
|
-
host:
|
|
301
|
+
host: "https://crates.io",
|
|
302
302
|
cache: {
|
|
303
303
|
enabled: true,
|
|
304
304
|
ttl: 86400000,
|
|
@@ -306,7 +306,7 @@ export default defineConfig(() => ({
|
|
|
306
306
|
},
|
|
307
307
|
// Configuration for accessing raw files on GitHub (e.g., Cargo.toml).
|
|
308
308
|
githubRaw: {
|
|
309
|
-
host:
|
|
309
|
+
host: "https://raw.githubusercontent.com",
|
|
310
310
|
cache: {
|
|
311
311
|
enabled: true,
|
|
312
312
|
ttl: 86400000,
|
|
@@ -314,7 +314,7 @@ export default defineConfig(() => ({
|
|
|
314
314
|
},
|
|
315
315
|
// Configuration for accessing GitHub releases.
|
|
316
316
|
githubRelease: {
|
|
317
|
-
host:
|
|
317
|
+
host: "https://github.com",
|
|
318
318
|
cache: {
|
|
319
319
|
enabled: true,
|
|
320
320
|
ttl: 86400000,
|
|
@@ -348,14 +348,12 @@ export default defineConfig(() => ({
|
|
|
348
348
|
platform: [
|
|
349
349
|
{
|
|
350
350
|
// An array of platform/architecture matchers.
|
|
351
|
-
match: [
|
|
352
|
-
{ os: 'macos', arch: 'arm64' },
|
|
353
|
-
],
|
|
351
|
+
match: [{ os: "macos", arch: "arm64" }],
|
|
354
352
|
// The configuration overrides for this platform/architecture combination.
|
|
355
353
|
// You can override any of the settings defined above.
|
|
356
354
|
config: {
|
|
357
355
|
paths: {
|
|
358
|
-
dotfilesDir:
|
|
356
|
+
dotfilesDir: "~/macos-dotfiles",
|
|
359
357
|
},
|
|
360
358
|
},
|
|
361
359
|
},
|