@fredlackey/devutils 0.0.17 → 0.0.19

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 (331) hide show
  1. package/README.md +32 -150
  2. package/package.json +5 -82
  3. package/bin/dev.js +0 -16
  4. package/files/README.md +0 -0
  5. package/files/claude/.claude/commands/setup-context.md +0 -3
  6. package/files/monorepos/_archive/README.md +0 -36
  7. package/files/monorepos/_legacy/README.md +0 -36
  8. package/files/monorepos/ai-docs/README.md +0 -33
  9. package/files/monorepos/apps/README.md +0 -24
  10. package/files/monorepos/docs/README.md +0 -40
  11. package/files/monorepos/packages/README.md +0 -25
  12. package/files/monorepos/research/README.md +0 -29
  13. package/files/monorepos/scripts/README.md +0 -24
  14. package/src/cli.js +0 -72
  15. package/src/commands/README.md +0 -41
  16. package/src/commands/configure.js +0 -199
  17. package/src/commands/identity.js +0 -1630
  18. package/src/commands/ignore.js +0 -247
  19. package/src/commands/install.js +0 -526
  20. package/src/commands/setup.js +0 -246
  21. package/src/commands/status.js +0 -223
  22. package/src/commands/update.js +0 -142
  23. package/src/commands/version.js +0 -100
  24. package/src/completion.js +0 -284
  25. package/src/constants.js +0 -45
  26. package/src/ignore/claude-code.txt +0 -10
  27. package/src/ignore/docker.txt +0 -18
  28. package/src/ignore/linux.txt +0 -23
  29. package/src/ignore/macos.txt +0 -36
  30. package/src/ignore/node.txt +0 -55
  31. package/src/ignore/terraform.txt +0 -37
  32. package/src/ignore/vscode.txt +0 -18
  33. package/src/ignore/windows.txt +0 -35
  34. package/src/index.js +0 -0
  35. package/src/installs/README.md +0 -399
  36. package/src/installs/adobe-creative-cloud.js +0 -546
  37. package/src/installs/adobe-creative-cloud.md +0 -605
  38. package/src/installs/appcleaner.js +0 -321
  39. package/src/installs/appcleaner.md +0 -699
  40. package/src/installs/apt-transport-https.js +0 -390
  41. package/src/installs/apt-transport-https.md +0 -678
  42. package/src/installs/atomicparsley.js +0 -642
  43. package/src/installs/atomicparsley.md +0 -795
  44. package/src/installs/aws-cli.js +0 -797
  45. package/src/installs/aws-cli.md +0 -727
  46. package/src/installs/balena-etcher.js +0 -710
  47. package/src/installs/balena-etcher.md +0 -761
  48. package/src/installs/bambu-studio.js +0 -1143
  49. package/src/installs/bambu-studio.md +0 -780
  50. package/src/installs/bash-completion.js +0 -575
  51. package/src/installs/bash-completion.md +0 -833
  52. package/src/installs/bash.js +0 -417
  53. package/src/installs/bash.md +0 -993
  54. package/src/installs/beyond-compare.js +0 -603
  55. package/src/installs/beyond-compare.md +0 -813
  56. package/src/installs/brave-browser.js +0 -968
  57. package/src/installs/brave-browser.md +0 -650
  58. package/src/installs/build-essential.js +0 -529
  59. package/src/installs/build-essential.md +0 -977
  60. package/src/installs/ca-certificates.js +0 -618
  61. package/src/installs/ca-certificates.md +0 -937
  62. package/src/installs/caffeine.js +0 -508
  63. package/src/installs/caffeine.md +0 -839
  64. package/src/installs/camtasia.js +0 -596
  65. package/src/installs/camtasia.md +0 -762
  66. package/src/installs/chatgpt.js +0 -476
  67. package/src/installs/chatgpt.md +0 -814
  68. package/src/installs/chocolatey.js +0 -456
  69. package/src/installs/chocolatey.md +0 -661
  70. package/src/installs/chrome-canary.js +0 -419
  71. package/src/installs/chrome-canary.md +0 -641
  72. package/src/installs/chromium.js +0 -667
  73. package/src/installs/chromium.md +0 -838
  74. package/src/installs/claude-code.js +0 -576
  75. package/src/installs/claude-code.md +0 -1173
  76. package/src/installs/cloudflare-warp.js +0 -900
  77. package/src/installs/cloudflare-warp.md +0 -1047
  78. package/src/installs/comet-browser.js +0 -588
  79. package/src/installs/comet-browser.md +0 -731
  80. package/src/installs/curl.js +0 -379
  81. package/src/installs/curl.md +0 -714
  82. package/src/installs/cursor.js +0 -579
  83. package/src/installs/cursor.md +0 -970
  84. package/src/installs/dbeaver.js +0 -924
  85. package/src/installs/dbeaver.md +0 -939
  86. package/src/installs/dbschema.js +0 -692
  87. package/src/installs/dbschema.md +0 -925
  88. package/src/installs/dependencies.md +0 -453
  89. package/src/installs/development-tools.js +0 -600
  90. package/src/installs/development-tools.md +0 -977
  91. package/src/installs/docker.js +0 -1029
  92. package/src/installs/docker.md +0 -1109
  93. package/src/installs/drawio.js +0 -1019
  94. package/src/installs/drawio.md +0 -795
  95. package/src/installs/elmedia-player.js +0 -347
  96. package/src/installs/elmedia-player.md +0 -556
  97. package/src/installs/ffmpeg.js +0 -889
  98. package/src/installs/ffmpeg.md +0 -852
  99. package/src/installs/file.js +0 -464
  100. package/src/installs/file.md +0 -987
  101. package/src/installs/gemini-cli.js +0 -811
  102. package/src/installs/gemini-cli.md +0 -1153
  103. package/src/installs/git.js +0 -400
  104. package/src/installs/git.md +0 -907
  105. package/src/installs/gitego.js +0 -949
  106. package/src/installs/gitego.md +0 -1172
  107. package/src/installs/go.js +0 -931
  108. package/src/installs/go.md +0 -958
  109. package/src/installs/google-antigravity.js +0 -913
  110. package/src/installs/google-antigravity.md +0 -1075
  111. package/src/installs/google-chrome.js +0 -833
  112. package/src/installs/google-chrome.md +0 -862
  113. package/src/installs/gpg.js +0 -480
  114. package/src/installs/gpg.md +0 -1056
  115. package/src/installs/homebrew.js +0 -1033
  116. package/src/installs/homebrew.md +0 -988
  117. package/src/installs/imageoptim.js +0 -968
  118. package/src/installs/imageoptim.md +0 -1119
  119. package/src/installs/installers.json +0 -4032
  120. package/src/installs/installers.json.tmp +0 -3953
  121. package/src/installs/jq.js +0 -400
  122. package/src/installs/jq.md +0 -809
  123. package/src/installs/keyboard-maestro.js +0 -719
  124. package/src/installs/keyboard-maestro.md +0 -825
  125. package/src/installs/kiro.js +0 -864
  126. package/src/installs/kiro.md +0 -1015
  127. package/src/installs/latex.js +0 -789
  128. package/src/installs/latex.md +0 -1095
  129. package/src/installs/lftp.js +0 -356
  130. package/src/installs/lftp.md +0 -907
  131. package/src/installs/lsb-release.js +0 -346
  132. package/src/installs/lsb-release.md +0 -814
  133. package/src/installs/messenger.js +0 -847
  134. package/src/installs/messenger.md +0 -900
  135. package/src/installs/microsoft-office.js +0 -568
  136. package/src/installs/microsoft-office.md +0 -760
  137. package/src/installs/microsoft-teams.js +0 -801
  138. package/src/installs/microsoft-teams.md +0 -886
  139. package/src/installs/moom.js +0 -326
  140. package/src/installs/moom.md +0 -570
  141. package/src/installs/node.js +0 -904
  142. package/src/installs/node.md +0 -1153
  143. package/src/installs/nordpass.js +0 -716
  144. package/src/installs/nordpass.md +0 -921
  145. package/src/installs/nordvpn.js +0 -892
  146. package/src/installs/nordvpn.md +0 -1052
  147. package/src/installs/nvm.js +0 -995
  148. package/src/installs/nvm.md +0 -1057
  149. package/src/installs/ohmyzsh.js +0 -529
  150. package/src/installs/ohmyzsh.md +0 -1094
  151. package/src/installs/openssh.js +0 -804
  152. package/src/installs/openssh.md +0 -1056
  153. package/src/installs/pandoc.js +0 -662
  154. package/src/installs/pandoc.md +0 -1036
  155. package/src/installs/parallels-desktop.js +0 -431
  156. package/src/installs/parallels-desktop.md +0 -446
  157. package/src/installs/pinentry.js +0 -510
  158. package/src/installs/pinentry.md +0 -1142
  159. package/src/installs/pngyu.js +0 -869
  160. package/src/installs/pngyu.md +0 -896
  161. package/src/installs/postman.js +0 -799
  162. package/src/installs/postman.md +0 -940
  163. package/src/installs/procps.js +0 -425
  164. package/src/installs/procps.md +0 -851
  165. package/src/installs/safari-tech-preview.js +0 -374
  166. package/src/installs/safari-tech-preview.md +0 -533
  167. package/src/installs/sfnt2woff.js +0 -658
  168. package/src/installs/sfnt2woff.md +0 -795
  169. package/src/installs/shellcheck.js +0 -481
  170. package/src/installs/shellcheck.md +0 -1005
  171. package/src/installs/slack.js +0 -741
  172. package/src/installs/slack.md +0 -865
  173. package/src/installs/snagit.js +0 -585
  174. package/src/installs/snagit.md +0 -844
  175. package/src/installs/software-properties-common.js +0 -372
  176. package/src/installs/software-properties-common.md +0 -805
  177. package/src/installs/spotify.js +0 -877
  178. package/src/installs/spotify.md +0 -901
  179. package/src/installs/studio-3t.js +0 -823
  180. package/src/installs/studio-3t.md +0 -918
  181. package/src/installs/sublime-text.js +0 -804
  182. package/src/installs/sublime-text.md +0 -914
  183. package/src/installs/superwhisper.js +0 -706
  184. package/src/installs/superwhisper.md +0 -630
  185. package/src/installs/tailscale.js +0 -745
  186. package/src/installs/tailscale.md +0 -1100
  187. package/src/installs/tar.js +0 -389
  188. package/src/installs/tar.md +0 -946
  189. package/src/installs/termius.js +0 -798
  190. package/src/installs/termius.md +0 -844
  191. package/src/installs/terraform.js +0 -779
  192. package/src/installs/terraform.md +0 -899
  193. package/src/installs/tfenv.js +0 -778
  194. package/src/installs/tfenv.md +0 -1091
  195. package/src/installs/tidal.js +0 -771
  196. package/src/installs/tidal.md +0 -864
  197. package/src/installs/tmux.js +0 -346
  198. package/src/installs/tmux.md +0 -1030
  199. package/src/installs/tree.js +0 -411
  200. package/src/installs/tree.md +0 -833
  201. package/src/installs/unzip.js +0 -460
  202. package/src/installs/unzip.md +0 -879
  203. package/src/installs/vim.js +0 -421
  204. package/src/installs/vim.md +0 -1040
  205. package/src/installs/vlc.js +0 -821
  206. package/src/installs/vlc.md +0 -927
  207. package/src/installs/vscode.js +0 -843
  208. package/src/installs/vscode.md +0 -1002
  209. package/src/installs/wget.js +0 -420
  210. package/src/installs/wget.md +0 -791
  211. package/src/installs/whatsapp.js +0 -729
  212. package/src/installs/whatsapp.md +0 -854
  213. package/src/installs/winpty.js +0 -352
  214. package/src/installs/winpty.md +0 -620
  215. package/src/installs/woff2.js +0 -553
  216. package/src/installs/woff2.md +0 -977
  217. package/src/installs/wsl.js +0 -572
  218. package/src/installs/wsl.md +0 -699
  219. package/src/installs/xcode-clt.js +0 -520
  220. package/src/installs/xcode-clt.md +0 -351
  221. package/src/installs/xcode.js +0 -560
  222. package/src/installs/xcode.md +0 -573
  223. package/src/installs/yarn.js +0 -824
  224. package/src/installs/yarn.md +0 -1074
  225. package/src/installs/yq.js +0 -654
  226. package/src/installs/yq.md +0 -944
  227. package/src/installs/yt-dlp.js +0 -701
  228. package/src/installs/yt-dlp.md +0 -946
  229. package/src/installs/yum-utils.js +0 -297
  230. package/src/installs/yum-utils.md +0 -648
  231. package/src/installs/zoom.js +0 -759
  232. package/src/installs/zoom.md +0 -884
  233. package/src/installs/zsh.js +0 -455
  234. package/src/installs/zsh.md +0 -1008
  235. package/src/scripts/README.md +0 -617
  236. package/src/scripts/STATUS.md +0 -208
  237. package/src/scripts/afk.js +0 -411
  238. package/src/scripts/backup-all.js +0 -746
  239. package/src/scripts/backup-source.js +0 -727
  240. package/src/scripts/brewd.js +0 -389
  241. package/src/scripts/brewi.js +0 -520
  242. package/src/scripts/brewr.js +0 -527
  243. package/src/scripts/brews.js +0 -477
  244. package/src/scripts/brewu.js +0 -504
  245. package/src/scripts/c.js +0 -201
  246. package/src/scripts/ccurl.js +0 -341
  247. package/src/scripts/certbot-crontab-init.js +0 -504
  248. package/src/scripts/certbot-init.js +0 -657
  249. package/src/scripts/ch.js +0 -355
  250. package/src/scripts/claude-danger.js +0 -268
  251. package/src/scripts/clean-dev.js +0 -435
  252. package/src/scripts/clear-dns-cache.js +0 -541
  253. package/src/scripts/clone.js +0 -435
  254. package/src/scripts/code-all.js +0 -437
  255. package/src/scripts/count-files.js +0 -211
  256. package/src/scripts/count-folders.js +0 -211
  257. package/src/scripts/count.js +0 -264
  258. package/src/scripts/d.js +0 -219
  259. package/src/scripts/datauri.js +0 -389
  260. package/src/scripts/delete-files.js +0 -380
  261. package/src/scripts/docker-clean.js +0 -426
  262. package/src/scripts/dp.js +0 -442
  263. package/src/scripts/e.js +0 -390
  264. package/src/scripts/empty-trash.js +0 -513
  265. package/src/scripts/evm.js +0 -444
  266. package/src/scripts/fetch-github-repos.js +0 -456
  267. package/src/scripts/get-channel.js +0 -345
  268. package/src/scripts/get-course.js +0 -399
  269. package/src/scripts/get-dependencies.js +0 -306
  270. package/src/scripts/get-folder.js +0 -799
  271. package/src/scripts/get-tunes.js +0 -426
  272. package/src/scripts/get-video.js +0 -367
  273. package/src/scripts/git-backup.js +0 -577
  274. package/src/scripts/git-clone.js +0 -493
  275. package/src/scripts/git-pup.js +0 -319
  276. package/src/scripts/git-push.js +0 -396
  277. package/src/scripts/h.js +0 -622
  278. package/src/scripts/hide-desktop-icons.js +0 -499
  279. package/src/scripts/hide-hidden-files.js +0 -538
  280. package/src/scripts/install-dependencies-from.js +0 -456
  281. package/src/scripts/ips.js +0 -663
  282. package/src/scripts/iso.js +0 -370
  283. package/src/scripts/killni.js +0 -577
  284. package/src/scripts/ll.js +0 -467
  285. package/src/scripts/local-ip.js +0 -325
  286. package/src/scripts/m.js +0 -524
  287. package/src/scripts/map.js +0 -309
  288. package/src/scripts/mkd.js +0 -351
  289. package/src/scripts/ncu-update-all.js +0 -457
  290. package/src/scripts/nginx-init.js +0 -718
  291. package/src/scripts/npmi.js +0 -382
  292. package/src/scripts/o.js +0 -511
  293. package/src/scripts/org-by-date.js +0 -338
  294. package/src/scripts/p.js +0 -224
  295. package/src/scripts/packages.js +0 -330
  296. package/src/scripts/path.js +0 -225
  297. package/src/scripts/ports.js +0 -597
  298. package/src/scripts/q.js +0 -305
  299. package/src/scripts/refresh-files.js +0 -394
  300. package/src/scripts/remove-smaller-files.js +0 -516
  301. package/src/scripts/rename-files-with-date.js +0 -533
  302. package/src/scripts/resize-image.js +0 -539
  303. package/src/scripts/rm-safe.js +0 -669
  304. package/src/scripts/s.js +0 -540
  305. package/src/scripts/set-git-public.js +0 -365
  306. package/src/scripts/show-desktop-icons.js +0 -475
  307. package/src/scripts/show-hidden-files.js +0 -472
  308. package/src/scripts/tpa.js +0 -280
  309. package/src/scripts/tpo.js +0 -280
  310. package/src/scripts/u.js +0 -505
  311. package/src/scripts/vpush.js +0 -437
  312. package/src/scripts/y.js +0 -283
  313. package/src/utils/README.md +0 -95
  314. package/src/utils/common/apps.js +0 -143
  315. package/src/utils/common/display.js +0 -157
  316. package/src/utils/common/network.js +0 -185
  317. package/src/utils/common/os.js +0 -294
  318. package/src/utils/common/package-manager.js +0 -301
  319. package/src/utils/common/privileges.js +0 -138
  320. package/src/utils/common/shell.js +0 -216
  321. package/src/utils/macos/apps.js +0 -228
  322. package/src/utils/macos/brew.js +0 -315
  323. package/src/utils/ubuntu/apt.js +0 -307
  324. package/src/utils/ubuntu/desktop.js +0 -292
  325. package/src/utils/ubuntu/snap.js +0 -344
  326. package/src/utils/ubuntu/systemd.js +0 -286
  327. package/src/utils/windows/choco.js +0 -465
  328. package/src/utils/windows/env.js +0 -246
  329. package/src/utils/windows/registry.js +0 -269
  330. package/src/utils/windows/shell.js +0 -240
  331. package/src/utils/windows/winget.js +0 -489
package/README.md CHANGED
@@ -1,182 +1,64 @@
1
1
  # DevUtils CLI
2
2
 
3
- > **Early Development (v0.0.1)** — This project is currently a proof of concept. Core functionality is being built and tested. You're welcome to:
4
- > - Use it as-is and provide feedback
5
- > - Participate in development
6
- > - Watch for future releases (v0.1.0 for beta, v1.0.0 for stable)
7
- > - [Reach out](#contact) with questions or suggestions
3
+ > **Rebuild in Progress (v0.0.19)** — This project is being restructured from the ground up. The previous version (v0.0.18) tried to do too much too fast. The new approach is config-driven, user-driven, and machine-aware. If you're looking for the old code, it's been preserved in the `_rebuild/` directory.
8
4
 
9
- Stop wasting hours setting up new machines. One command, any platform, ready to code.
5
+ ## What Happened
10
6
 
11
- ## The Problem
7
+ The original DevUtils CLI was built as a rigid, opinionated toolkit. It assumed a specific workflow, shipped dozens of global scripts, and tried to be everything to everyone out of the gate. After real-world usage and feedback, it became clear that this approach wouldn't hold up. It was too prescriptive, too fragile across environments, and too hard for users to adapt to their own needs.
12
8
 
13
- Every developer knows the pain:
14
- - New laptop? Spend a day installing tools and configuring dotfiles
15
- - Switch between work and personal projects? Juggle SSH keys and git configs
16
- - Help a teammate set up their environment? Walk them through 50 different steps
17
- - Work on macOS at home, Linux in prod? Remember two sets of commands
9
+ ## What's Changing
18
10
 
19
- ## The Solution
11
+ The new version takes a fundamentally different approach:
20
12
 
21
- ```bash
22
- npm install -g @fredlackey/devutils
23
- dev setup
24
- ```
25
-
26
- That's it. DevUtils CLI detects your operating system and installs everything you need. Your configuration travels with you.
27
-
28
- ## Installation
29
-
30
- ### If You Have Node.js Installed
31
-
32
- If you already have Node.js 18+ on your machine, install DevUtils CLI as a global npm package:
33
-
34
- ```bash
35
- npm install -g @fredlackey/devutils
36
- ```
37
-
38
- ### Fresh Machine (No Node.js)
39
-
40
- For a fresh machine without Node.js, run the bootstrap script. It installs everything you need: build tools, nvm, Node.js LTS, and DevUtils CLI.
41
-
42
- **macOS:**
43
- ```bash
44
- bash -c "$(curl -LsS https://raw.github.com/fredlackey/devutils-cli/main/setup.sh)"
45
- ```
46
-
47
- **Ubuntu / Debian / Raspberry Pi OS:**
48
- ```bash
49
- bash -c "$(wget -qO - https://raw.github.com/fredlackey/devutils-cli/main/setup.sh)"
50
- ```
51
-
52
- **Amazon Linux / RHEL / Fedora:**
53
- ```bash
54
- bash -c "$(curl -LsS https://raw.github.com/fredlackey/devutils-cli/main/setup.sh)"
55
- ```
56
-
57
- The script is interactive by default. For automated/CI environments, add `--no-prompt`:
58
-
59
- ```bash
60
- bash -c "$(curl -LsS https://raw.github.com/fredlackey/devutils-cli/main/setup.sh)" -- --no-prompt
61
- ```
13
+ ### Config-Based, Not Opinion-Based
62
14
 
63
- ## Quick Start
15
+ Instead of shipping a fixed set of behaviors, DevUtils will be driven by user configuration. You tell it what matters to you, and it adapts.
64
16
 
65
- ```bash
66
- # Install essential tools (git, ssh, gpg, etc.)
67
- dev setup
17
+ ### User Onboarding
68
18
 
69
- # Set up your developer profile
70
- dev configure
19
+ The first run walks you through a lightweight onboarding process. It learns who you are, what tools you care about, and how your machine is set up. No assumptions.
71
20
 
72
- # Install your favorite tools
73
- dev install vscode
74
- dev install docker
75
- dev install node
76
- ```
21
+ ### Machine-Aware Profiles
77
22
 
78
- ## Key Features
23
+ Configuration is scoped to the machine you're on. A laptop, a server, and a VM can each have their own rules without conflicting.
79
24
 
80
- ### Cross-Platform Package Installation
25
+ ### Rule-Based Behavior
81
26
 
82
- Forget whether it's `brew install`, `apt-get install`, or `choco install`. Just run:
83
-
84
- ```bash
85
- dev install docker
86
- dev install node
87
- dev install vscode
88
- ```
27
+ Users define rules for folders, tools, and workflows. DevUtils enforces those rules rather than imposing its own. For example:
28
+ - "This folder always uses this git identity"
29
+ - "This machine should have these tools installed"
30
+ - "Run these checks when I open a new terminal"
89
31
 
90
- DevUtils CLI figures out the right command for macOS, Ubuntu, Raspberry Pi OS, Amazon Linux, Windows, or Git Bash.
91
-
92
- ### Git Identity Management
93
-
94
- Manage multiple git identities for work, personal, and client projects:
95
-
96
- ```bash
97
- # Create identities with SSH and GPG keys
98
- dev identity add work --email you@company.com
99
- dev identity add personal --email you@gmail.com
100
-
101
- # Link identities to folders - commits automatically use the right credentials
102
- dev identity link work ~/work
103
- dev identity link personal ~/personal https://github.com/yourusername
104
- ```
32
+ ### Temporary Workspace
105
33
 
106
- Clone with any URL format. DevUtils CLI routes it through the correct SSH key automatically.
34
+ DevUtils sets up a managed workspace inside the user's home directory for staging, caching, and intermediate state. Nothing touches system-level paths unless you ask for it.
107
35
 
108
- ### Smart .gitignore Management
36
+ ## Installation
109
37
 
110
38
  ```bash
111
- dev ignore node # Add Node.js patterns
112
- dev ignore macos # Add .DS_Store and friends
113
- dev ignore vscode # Add .vscode/ patterns
114
- ```
115
-
116
- Patterns are managed in sections—run it twice and it won't duplicate.
117
-
118
- ### Portable Configuration
119
-
120
- Your `~/.devutils` file stores your preferences:
121
-
122
- ```json
123
- {
124
- "user": {
125
- "name": "Jane Developer",
126
- "email": "jane@example.com"
127
- },
128
- "identities": {
129
- "work": { "email": "jane@company.com", "sshKey": "~/.ssh/id_ed25519_work" },
130
- "personal": { "email": "jane@gmail.com", "sshKey": "~/.ssh/id_ed25519_personal" }
131
- }
132
- }
39
+ npm install -g @fredlackey/devutils
133
40
  ```
134
41
 
135
- Copy this file to a new machine and run `dev identity sync` to regenerate all your SSH configs.
136
-
137
- ## Supported Platforms
138
-
139
- | Platform | Package Manager |
140
- |----------|-----------------|
141
- | macOS | Homebrew |
142
- | Ubuntu | APT / Snap |
143
- | Raspberry Pi OS | APT / Snap |
144
- | Amazon Linux | DNF / YUM |
145
- | Windows | Chocolatey / winget |
146
- | Git Bash | Manual / Portable |
42
+ > The CLI is published but actively being rebuilt. Expect breaking changes until v0.1.0.
147
43
 
148
- ## Available Commands
44
+ ## Previous Version
149
45
 
150
- | Command | Description |
151
- |---------|-------------|
152
- | `dev setup` | Install essential development tools |
153
- | `dev configure` | Set up your developer profile |
154
- | `dev install <tool>` | Install a tool (cross-platform) |
155
- | `dev identity add` | Create a new git identity with keys |
156
- | `dev identity link` | Link an identity to a folder or remote |
157
- | `dev identity unlink` | Remove a folder link |
158
- | `dev ignore <tech>` | Add .gitignore patterns |
159
- | `dev status` | Show current configuration |
46
+ The v0.0.18 codebase (commands, scripts, installers, utilities) has been moved to `_rebuild/` and is preserved for reference. Useful patterns and utilities will be pulled forward into the new architecture as needed.
160
47
 
161
- ## Why DevUtils CLI?
48
+ ## Roadmap
162
49
 
163
- - **Zero memorization** Same commands on every platform
164
- - **Identity isolation** Never accidentally commit with the wrong email again
165
- - **Reproducible setups** New machine? `dev setup && dev identity sync`
166
- - **No lock-in** Standard tools, standard configs. Uninstall anytime
167
-
168
- ## Contributing
169
-
170
- Contributions welcome! Feel free to open issues or submit pull requests.
50
+ - [ ] User onboarding flow
51
+ - [ ] Config file schema (`~/.devutils/config.json`)
52
+ - [ ] Machine profile detection and storage
53
+ - [ ] Rule engine for folder and tool behaviors
54
+ - [ ] Migrate useful scripts and installers from `_rebuild/`
171
55
 
172
56
  ## Contact
173
57
 
174
- Questions, suggestions, or just want to chat about the project?
175
-
176
58
  **Fred Lackey**
177
- - Email: [fred.lackey@gmail.com](mailto:fred.lackey@gmail.com)
178
- - Website: [fredlackey.com](https://fredlackey.com)
179
- - GitHub: [@FredLackey](https://github.com/FredLackey)
59
+ - Email: [fred.lackey@gmail.com](mailto:fred.lackey@gmail.com)
60
+ - Website: [fredlackey.com](https://fredlackey.com)
61
+ - GitHub: [@FredLackey](https://github.com/FredLackey)
180
62
 
181
63
  ## License
182
64
 
package/package.json CHANGED
@@ -1,91 +1,14 @@
1
1
  {
2
2
  "name": "@fredlackey/devutils",
3
- "version": "0.0.17",
4
- "description": "A globally-installable Node.js CLI toolkit for bootstrapping and configuring development environments across any machine.",
3
+ "version": "0.0.19",
4
+ "description": "A config-driven CLI toolkit for bootstrapping and managing development environments across any machine.",
5
5
  "main": "src/index.js",
6
6
  "bin": {
7
- "dev": "./bin/dev.js",
8
- "afk": "./src/scripts/afk.js",
9
- "backup-all": "./src/scripts/backup-all.js",
10
- "backup-source": "./src/scripts/backup-source.js",
11
- "brewd": "./src/scripts/brewd.js",
12
- "brewi": "./src/scripts/brewi.js",
13
- "brewr": "./src/scripts/brewr.js",
14
- "brews": "./src/scripts/brews.js",
15
- "brewu": "./src/scripts/brewu.js",
16
- "c": "./src/scripts/c.js",
17
- "ccurl": "./src/scripts/ccurl.js",
18
- "certbot-crontab-init": "./src/scripts/certbot-crontab-init.js",
19
- "certbot-init": "./src/scripts/certbot-init.js",
20
- "ch": "./src/scripts/ch.js",
21
- "claude-danger": "./src/scripts/claude-danger.js",
22
- "clean-dev": "./src/scripts/clean-dev.js",
23
- "clear-dns-cache": "./src/scripts/clear-dns-cache.js",
24
- "clone": "./src/scripts/clone.js",
25
- "code-all": "./src/scripts/code-all.js",
26
- "count": "./src/scripts/count.js",
27
- "count-files": "./src/scripts/count-files.js",
28
- "count-folders": "./src/scripts/count-folders.js",
29
- "d": "./src/scripts/d.js",
30
- "datauri": "./src/scripts/datauri.js",
31
- "delete-files": "./src/scripts/delete-files.js",
32
- "docker-clean": "./src/scripts/docker-clean.js",
33
- "dp": "./src/scripts/dp.js",
34
- "e": "./src/scripts/e.js",
35
- "empty-trash": "./src/scripts/empty-trash.js",
36
- "evm": "./src/scripts/evm.js",
37
- "fetch-github-repos": "./src/scripts/fetch-github-repos.js",
38
- "get-channel": "./src/scripts/get-channel.js",
39
- "get-course": "./src/scripts/get-course.js",
40
- "get-dependencies": "./src/scripts/get-dependencies.js",
41
- "get-folder": "./src/scripts/get-folder.js",
42
- "get-tunes": "./src/scripts/get-tunes.js",
43
- "get-video": "./src/scripts/get-video.js",
44
- "git-backup": "./src/scripts/git-backup.js",
45
- "git-clone": "./src/scripts/git-clone.js",
46
- "git-pup": "./src/scripts/git-pup.js",
47
- "git-push": "./src/scripts/git-push.js",
48
- "h": "./src/scripts/h.js",
49
- "hide-desktop-icons": "./src/scripts/hide-desktop-icons.js",
50
- "hide-hidden-files": "./src/scripts/hide-hidden-files.js",
51
- "install-dependencies-from": "./src/scripts/install-dependencies-from.js",
52
- "ips": "./src/scripts/ips.js",
53
- "iso": "./src/scripts/iso.js",
54
- "killni": "./src/scripts/killni.js",
55
- "ll": "./src/scripts/ll.js",
56
- "local-ip": "./src/scripts/local-ip.js",
57
- "m": "./src/scripts/m.js",
58
- "map": "./src/scripts/map.js",
59
- "mkd": "./src/scripts/mkd.js",
60
- "ncu-update-all": "./src/scripts/ncu-update-all.js",
61
- "nginx-init": "./src/scripts/nginx-init.js",
62
- "npmi": "./src/scripts/npmi.js",
63
- "o": "./src/scripts/o.js",
64
- "org-by-date": "./src/scripts/org-by-date.js",
65
- "p": "./src/scripts/p.js",
66
- "packages": "./src/scripts/packages.js",
67
- "path": "./src/scripts/path.js",
68
- "ports": "./src/scripts/ports.js",
69
- "q": "./src/scripts/q.js",
70
- "refresh-files": "./src/scripts/refresh-files.js",
71
- "remove-smaller-files": "./src/scripts/remove-smaller-files.js",
72
- "rename-files-with-date": "./src/scripts/rename-files-with-date.js",
73
- "resize-image": "./src/scripts/resize-image.js",
74
- "rm-safe": "./src/scripts/rm-safe.js",
75
- "s": "./src/scripts/s.js",
76
- "set-git-public": "./src/scripts/set-git-public.js",
77
- "show-desktop-icons": "./src/scripts/show-desktop-icons.js",
78
- "show-hidden-files": "./src/scripts/show-hidden-files.js",
79
- "tpa": "./src/scripts/tpa.js",
80
- "tpo": "./src/scripts/tpo.js",
81
- "u": "./src/scripts/u.js",
82
- "vpush": "./src/scripts/vpush.js",
83
- "y": "./src/scripts/y.js"
7
+ "dev": "./bin/dev.js"
84
8
  },
85
9
  "files": [
86
10
  "bin/",
87
- "src/",
88
- "files/"
11
+ "src/"
89
12
  ],
90
13
  "scripts": {
91
14
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -95,7 +18,7 @@
95
18
  },
96
19
  "repository": {
97
20
  "type": "git",
98
- "url": "git+https://github.com/FredLackey/devutils-cli.git"
21
+ "url": "git+ssh://git@github.com/FredLackey/devutils-cli.git"
99
22
  },
100
23
  "keywords": [],
101
24
  "author": {
package/bin/dev.js DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * @fileoverview Main entry point for the `dev` CLI command.
5
- * This file handles tab completion detection and delegates to the CLI module.
6
- */
7
-
8
- // Handle tab completion before loading the full CLI
9
- // This allows for fast completion responses
10
- if (process.env.COMP_LINE) {
11
- require('../src/completion').handleCompletion();
12
- process.exit(0);
13
- }
14
-
15
- // Normal CLI execution
16
- require('../src/cli').run();
package/files/README.md DELETED
File without changes
@@ -1,3 +0,0 @@
1
- Read the following files for context:
2
- - README.md
3
- - CLAUDE.md
@@ -1,36 +0,0 @@
1
- # Archive
2
-
3
- **DO NOT READ OR MODIFY CONTENTS OF THIS FOLDER.**
4
-
5
- ## Purpose
6
-
7
- This folder is a **failsafe backup**—a last resort for code and resources that may need to be referenced in rare circumstances. Think of it as a "soft delete" before permanent removal.
8
-
9
- ## Critical Warnings
10
-
11
- - **Nothing in this folder should be trusted as correct**
12
- - Contents are outdated, deprecated, or potentially broken
13
- - Code here has been replaced by better implementations elsewhere
14
- - Documentation may be inaccurate or misleading
15
-
16
- ## AI Instructions
17
-
18
- **This folder must be ignored by all AI processes:**
19
- - Do NOT read files from this folder
20
- - Do NOT reference code or patterns found here
21
- - Do NOT modify or update any contents
22
- - Do NOT use this folder as a source of truth for anything
23
-
24
- ## What Belongs Here
25
-
26
- - Deprecated code kept only as an emergency reference
27
- - Old implementations preserved before deletion
28
- - Retired features that might need forensic review
29
- - Anything we're not ready to permanently delete
30
-
31
- ## Guidelines
32
-
33
- - Date items when archiving (use folder names like `YYYYMMDD/`)
34
- - Include a brief note explaining why the item was archived
35
- - Never actively maintain or improve archived code
36
- - Periodically review and permanently delete obsolete items
@@ -1,36 +0,0 @@
1
- # Legacy
2
-
3
- **CONTENTS SHOULD NOT BE TRUSTED. USE WITH CAUTION.**
4
-
5
- ## Purpose
6
-
7
- This folder contains **previous attempts** at building the same concepts, packages, or even the entire project. Think of it as the "last version" or "last attempt" before the current rebuild.
8
-
9
- We keep this code for reference, but if we're rebuilding, it's for a reason:
10
-
11
- - **A)** We learned enough about the problem and now want to do it properly
12
- - **B)** We failed completely and need to start over, but want to remember our mistakes
13
-
14
- This folder is one step better than `/_archive`—we may occasionally refer to it—but it still should not be treated as a source of truth.
15
-
16
- ## AI Instructions
17
-
18
- **Approach this folder with skepticism:**
19
- - Do NOT trust patterns or implementations found here
20
- - Do NOT copy code from this folder without explicit instruction
21
- - Do NOT use this as a reference for "how things should work"
22
- - Contents represent what we're moving *away from*, not toward
23
-
24
- ## What Belongs Here
25
-
26
- - Previous iterations of the current project
27
- - Failed attempts preserved for learning
28
- - Old architectures we've outgrown
29
- - Code that "worked" but wasn't good enough
30
-
31
- ## Guidelines
32
-
33
- - Note why the previous attempt was abandoned
34
- - Reference only when specifically trying to avoid past mistakes
35
- - Never improve or maintain legacy code—build new instead
36
- - Move to `/_archive` once the new implementation is stable and proven
@@ -1,33 +0,0 @@
1
- # AI Docs
2
-
3
- This folder contains documentation **created by AI, for AI**.
4
-
5
- ## Purpose
6
-
7
- A persistent knowledge base that preserves AI research, discoveries, and insights so they don't have to be repeated. When AI investigates a concept, researches a technique, or works through a problem, the findings are documented here for future reference.
8
-
9
- This eliminates redundant research and discovery processes across sessions.
10
-
11
- ## Usage
12
-
13
- - AI writes documentation here after research or discovery work
14
- - AI reads from this folder to recall prior findings
15
- - Humans may reference content but it's optimized for AI consumption
16
- - Treat as a "memory" that persists between AI sessions
17
-
18
- ## What Belongs Here
19
-
20
- - Research findings and conclusions
21
- - Technology evaluations and comparisons
22
- - Best practices and implementation patterns
23
- - Convention documentation and standards
24
- - Schema definitions
25
- - Brainstorming outcomes and design decisions
26
- - Concept explanations and technical deep-dives
27
-
28
- ## Guidelines
29
-
30
- - Write in clear, structured formats AI can easily parse
31
- - Include context about why research was performed
32
- - Update documents as understanding evolves
33
- - Prefer comprehensive detail over brevity
@@ -1,24 +0,0 @@
1
- # Apps
2
-
3
- This folder contains the main applications for the project.
4
-
5
- ## Purpose
6
-
7
- Each application in this folder represents a distinct, deployable unit—whether it's a frontend, backend API, admin tool, or other service. Applications are organized as separate subdirectories, each with their own dependencies and configuration.
8
-
9
- ## Structure
10
-
11
- ```
12
- apps/
13
- ├── [app-name]-ui-[framework]/ # Frontend applications
14
- ├── [app-name]-api-[framework]/ # Backend API services
15
- ├── [app-name]-admin-[framework]/ # Admin tools
16
- └── ...
17
- ```
18
-
19
- ## Guidelines
20
-
21
- - Each application should be independently runnable
22
- - Applications may depend on shared code from `/packages`
23
- - Keep application-specific code within its subdirectory
24
- - Use consistent naming: `[project]-[type]-[framework]`
@@ -1,40 +0,0 @@
1
- # Docs
2
-
3
- This folder contains documentation **created by humans, for humans**.
4
-
5
- ## Purpose
6
-
7
- The counterpart to `/ai-docs`—this folder holds documentation intended for human authors and human readers. Content here should be accessible, verbose enough for clarity, and written so that a junior developer or project manager can understand it.
8
-
9
- AI may assist with editing, formatting, or refining language, but the content is fundamentally human-focused.
10
-
11
- ## Audience
12
-
13
- - Junior developers onboarding to the project
14
- - Project managers needing business context
15
- - Team members referencing technical decisions
16
- - External contributors or stakeholders
17
-
18
- ## What Belongs Here
19
-
20
- - Architecture decision records (ADRs)
21
- - Setup and installation guides
22
- - API documentation and usage examples
23
- - Business logic explanations
24
- - Deployment and operations guides
25
- - Contributing guidelines
26
- - Project overviews and roadmaps
27
-
28
- ## Guidelines
29
-
30
- - Write for clarity over brevity
31
- - Assume the reader may not have full context
32
- - Explain the "why" alongside the "what"
33
- - Use plain language; avoid unnecessary jargon
34
- - Include examples where helpful
35
-
36
- ## What Does NOT Belong Here
37
-
38
- - AI-generated research or discovery docs (use `/ai-docs`)
39
- - Exploratory research materials (use `/research`)
40
- - Auto-generated API docs (keep with the relevant app)
@@ -1,25 +0,0 @@
1
- # Packages
2
-
3
- This folder contains shared libraries and utilities used across applications.
4
-
5
- ## Purpose
6
-
7
- Packages are reusable code modules that provide common functionality to multiple applications in the monorepo. This promotes code reuse, consistency, and maintainability across the project.
8
-
9
- ## Structure
10
-
11
- ```
12
- packages/
13
- ├── [project]-utils/ # Utility functions and helpers
14
- ├── [project]-types/ # Shared type definitions
15
- ├── [project]-config/ # Shared configuration
16
- └── ...
17
- ```
18
-
19
- ## Guidelines
20
-
21
- - Packages should be framework-agnostic when possible
22
- - Each package should have a single, well-defined responsibility
23
- - Packages are imported by applications in `/apps`
24
- - Keep packages small and focused
25
- - Document public APIs within each package
@@ -1,29 +0,0 @@
1
- # Research
2
-
3
- This folder is a **workspace for reference artifacts**—often excluded from version control.
4
-
5
- ## Purpose
6
-
7
- A staging area where developers can pull in external artifacts, code samples, documentation, or even entire repos from other sources. This keeps useful reference material close at hand without polluting the actual codebase.
8
-
9
- The goal: work within a single IDE while having access to everything you need.
10
-
11
- ## Git Status
12
-
13
- This folder is **typically excluded from the repository** (added to `.gitignore`). Contents are meant to be temporary and local to each developer's environment. Don't assume anything here will persist or be shared.
14
-
15
- ## What Belongs Here
16
-
17
- - Cloned repos for reference
18
- - Code samples from external sources
19
- - API documentation downloads
20
- - Third-party library source code
21
- - Screenshots, PDFs, or other reference materials
22
- - Anything useful for development that doesn't belong in the repo
23
-
24
- ## Guidelines
25
-
26
- - Treat this folder as ephemeral and personal
27
- - Don't rely on contents being available to others
28
- - Clean up periodically—this isn't long-term storage
29
- - If findings are valuable, document them in `/ai-docs` or `/docs`
@@ -1,24 +0,0 @@
1
- # Scripts
2
-
3
- This folder contains development, build, and operational scripts.
4
-
5
- ## Purpose
6
-
7
- Utility scripts that automate common tasks across the monorepo. These scripts help with development workflows, builds, deployments, and maintenance operations.
8
-
9
- ## What Belongs Here
10
-
11
- - Build and compilation scripts
12
- - Development environment setup
13
- - Database migration helpers
14
- - Deployment automation
15
- - Code generation tools
16
- - Maintenance and cleanup utilities
17
-
18
- ## Guidelines
19
-
20
- - Make scripts executable (`chmod +x`)
21
- - Include usage comments at the top of each script
22
- - Use consistent naming conventions
23
- - Document any required environment variables
24
- - Keep scripts idempotent when possible