@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 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](.rulesync/skills/dotfiles/references/shell-and-hooks.md) for shell-specific integration details.
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 '@alexgorbatchev/dotfiles';
80
+ import { defineConfig } from "@alexgorbatchev/dotfiles";
81
81
 
82
82
  export default defineConfig(async () => ({
83
83
  paths: {
84
- dotfilesDir: '~/.dotfiles',
85
- targetDir: '~/.local/bin',
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: '${configFileDir}/.generated',
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 '@alexgorbatchev/dotfiles';
105
+ import { defineTool } from "@alexgorbatchev/dotfiles";
106
106
 
107
107
  export default defineTool((install, ctx) =>
108
- install('github-release', {
109
- repo: 'BurntSushi/ripgrep',
108
+ install("github-release", {
109
+ repo: "BurntSushi/ripgrep",
110
110
  })
111
111
  // 1. Define the binary name
112
- .bin('rg')
112
+ .bin("rg")
113
113
  // 2. Declare required binaries that must exist before this tool runs
114
- .dependsOn('pcre2')
114
+ .dependsOn("pcre2")
115
115
  // 3. Create symlinks for configuration files
116
- .symlink('./ripgreprc', '~/.ripgreprc')
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: '~/.ripgreprc',
124
+ RIPGREP_CONFIG_PATH: "~/.ripgreprc",
125
125
  })
126
126
  .aliases({
127
- rgi: 'rg -i', // Case-insensitive search alias
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](.rulesync/skills/dotfiles/references/make-tool.md)** - Complete guide to creating `.tool.ts` files
167
- - **[Configuration](.rulesync/skills/dotfiles/references/configuration.md)** - Project config, getting started, common patterns, platform support
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](.rulesync/skills/dotfiles/references/shell-and-hooks.md)** - Aliases, environment variables, shell functions, completions, lifecycle 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](.rulesync/skills/dotfiles/references/installation-methods.md)** - All 11 methods: GitHub releases, Gitea, Homebrew, Cargo, npm, curl-script, curl-tar, curl-binary, manual, DMG, zsh-plugin
176
- - **[API Reference](.rulesync/skills/dotfiles/references/api-reference.md)** - Complete method reference and context API
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 '@alexgorbatchev/dotfiles';
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: '~/.dotfiles/dotfiles.config.ts',
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: '~/.dotfiles',
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: '/usr/local/bin',
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: '~/.dotfiles/.generated',
205
+ generatedDir: "~/.dotfiles/.generated",
206
206
  // Directory containing *.tool.ts tool configuration files.
207
207
  // (string, default: ~/.dotfiles/tools)
208
- toolConfigsDir: '~/.dotfiles/tools',
208
+ toolConfigsDir: "~/.dotfiles/tools",
209
209
  // Directory where generated shell scripts are stored.
210
210
  // (string, default: ~/.dotfiles/.generated/shell-scripts)
211
- shellScriptsDir: '~/.dotfiles/.generated/shell-scripts',
211
+ shellScriptsDir: "~/.dotfiles/.generated/shell-scripts",
212
212
  // Directory where downloaded tool binaries are stored.
213
213
  // (string, default: ~/.dotfiles/.generated/binaries)
214
- binariesDir: '~/.dotfiles/.generated/binaries',
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: 'Please enter your password to continue:',
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: '{paths.dotfilesDir}/CATALOG.md',
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: '~/.zshrc',
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: '~/.bashrc',
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: '~/.config/powershell/profile.ps1',
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: 'https://api.github.com',
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: 'dotfiles-generator',
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: 'dotfiles-generator',
298
+ userAgent: "dotfiles-generator",
299
299
  // Configuration for the crates.io API.
300
300
  cratesIo: {
301
- host: 'https://crates.io',
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: 'https://raw.githubusercontent.com',
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: 'https://github.com',
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: '~/macos-dotfiles',
356
+ dotfilesDir: "~/macos-dotfiles",
359
357
  },
360
358
  },
361
359
  },