@fredlackey/devutils 0.0.1
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 +156 -0
- package/bin/dev.js +16 -0
- package/files/README.md +0 -0
- package/files/claude/.claude/commands/setup-context.md +3 -0
- package/files/monorepos/_archive/README.md +36 -0
- package/files/monorepos/_legacy/README.md +36 -0
- package/files/monorepos/ai-docs/README.md +33 -0
- package/files/monorepos/apps/README.md +24 -0
- package/files/monorepos/docs/README.md +40 -0
- package/files/monorepos/packages/README.md +25 -0
- package/files/monorepos/research/README.md +29 -0
- package/files/monorepos/scripts/README.md +24 -0
- package/package.json +39 -0
- package/src/cli.js +68 -0
- package/src/commands/README.md +41 -0
- package/src/commands/configure.js +199 -0
- package/src/commands/identity.js +1630 -0
- package/src/commands/ignore.js +247 -0
- package/src/commands/install.js +173 -0
- package/src/commands/setup.js +212 -0
- package/src/commands/status.js +223 -0
- package/src/completion.js +284 -0
- package/src/constants.js +45 -0
- package/src/ignore/claude-code.txt +10 -0
- package/src/ignore/docker.txt +18 -0
- package/src/ignore/linux.txt +23 -0
- package/src/ignore/macos.txt +36 -0
- package/src/ignore/node.txt +55 -0
- package/src/ignore/terraform.txt +37 -0
- package/src/ignore/vscode.txt +18 -0
- package/src/ignore/windows.txt +35 -0
- package/src/index.js +0 -0
- package/src/installs/README.md +399 -0
- package/src/installs/adobe-creative-cloud.js +44 -0
- package/src/installs/appcleaner.js +44 -0
- package/src/installs/atomicparsley.js +44 -0
- package/src/installs/aws-cli.js +44 -0
- package/src/installs/balena-etcher.js +44 -0
- package/src/installs/bambu-studio.js +44 -0
- package/src/installs/bash-completion.js +44 -0
- package/src/installs/bash.js +44 -0
- package/src/installs/beyond-compare.js +44 -0
- package/src/installs/build-essential.js +44 -0
- package/src/installs/caffeine.js +44 -0
- package/src/installs/camtasia.js +44 -0
- package/src/installs/chatgpt.js +44 -0
- package/src/installs/chrome-canary.js +44 -0
- package/src/installs/chromium.js +44 -0
- package/src/installs/claude-code.js +44 -0
- package/src/installs/curl.js +44 -0
- package/src/installs/cursor.js +44 -0
- package/src/installs/dbschema.js +44 -0
- package/src/installs/docker.js +44 -0
- package/src/installs/drawio.js +44 -0
- package/src/installs/elmedia-player.js +44 -0
- package/src/installs/ffmpeg.js +44 -0
- package/src/installs/gemini-cli.js +44 -0
- package/src/installs/git.js +44 -0
- package/src/installs/gitego.js +44 -0
- package/src/installs/go.js +44 -0
- package/src/installs/google-chrome.js +44 -0
- package/src/installs/gpg.js +141 -0
- package/src/installs/homebrew.js +44 -0
- package/src/installs/imageoptim.js +44 -0
- package/src/installs/jq.js +44 -0
- package/src/installs/keyboard-maestro.js +44 -0
- package/src/installs/latex.js +44 -0
- package/src/installs/lftp.js +44 -0
- package/src/installs/messenger.js +44 -0
- package/src/installs/microsoft-office.js +44 -0
- package/src/installs/microsoft-teams.js +44 -0
- package/src/installs/node.js +44 -0
- package/src/installs/nordpass.js +44 -0
- package/src/installs/nvm.js +44 -0
- package/src/installs/openssh.js +134 -0
- package/src/installs/pandoc.js +44 -0
- package/src/installs/pinentry.js +44 -0
- package/src/installs/pngyu.js +44 -0
- package/src/installs/postman.js +44 -0
- package/src/installs/safari-tech-preview.js +44 -0
- package/src/installs/sfnt2woff.js +44 -0
- package/src/installs/shellcheck.js +44 -0
- package/src/installs/slack.js +44 -0
- package/src/installs/snagit.js +44 -0
- package/src/installs/spotify.js +44 -0
- package/src/installs/studio-3t.js +44 -0
- package/src/installs/sublime-text.js +44 -0
- package/src/installs/superwhisper.js +44 -0
- package/src/installs/tailscale.js +44 -0
- package/src/installs/termius.js +44 -0
- package/src/installs/terraform.js +44 -0
- package/src/installs/tidal.js +44 -0
- package/src/installs/tmux.js +44 -0
- package/src/installs/tree.js +44 -0
- package/src/installs/vim.js +44 -0
- package/src/installs/vlc.js +44 -0
- package/src/installs/vscode.js +44 -0
- package/src/installs/whatsapp.js +44 -0
- package/src/installs/woff2.js +44 -0
- package/src/installs/xcode.js +44 -0
- package/src/installs/yarn.js +44 -0
- package/src/installs/yq.js +44 -0
- package/src/installs/yt-dlp.js +44 -0
- package/src/installs/zoom.js +44 -0
- package/src/scripts/README.md +95 -0
- package/src/scripts/afk.js +23 -0
- package/src/scripts/backup-all.js +24 -0
- package/src/scripts/backup-source.js +24 -0
- package/src/scripts/brewd.js +23 -0
- package/src/scripts/brewi.js +24 -0
- package/src/scripts/brewr.js +24 -0
- package/src/scripts/brews.js +24 -0
- package/src/scripts/brewu.js +23 -0
- package/src/scripts/c.js +23 -0
- package/src/scripts/ccurl.js +24 -0
- package/src/scripts/certbot-crontab-init.js +24 -0
- package/src/scripts/certbot-init.js +25 -0
- package/src/scripts/ch.js +23 -0
- package/src/scripts/claude-danger.js +23 -0
- package/src/scripts/clean-dev.js +24 -0
- package/src/scripts/clear-dns-cache.js +23 -0
- package/src/scripts/clone.js +25 -0
- package/src/scripts/code-all.js +24 -0
- package/src/scripts/count-files.js +24 -0
- package/src/scripts/count-folders.js +24 -0
- package/src/scripts/count.js +24 -0
- package/src/scripts/d.js +23 -0
- package/src/scripts/datauri.js +24 -0
- package/src/scripts/delete-files.js +24 -0
- package/src/scripts/docker-clean.js +24 -0
- package/src/scripts/dp.js +23 -0
- package/src/scripts/e.js +24 -0
- package/src/scripts/empty-trash.js +23 -0
- package/src/scripts/evm.js +25 -0
- package/src/scripts/fetch-github-repos.js +25 -0
- package/src/scripts/get-channel.js +24 -0
- package/src/scripts/get-course.js +26 -0
- package/src/scripts/get-dependencies.js +25 -0
- package/src/scripts/get-folder.js +26 -0
- package/src/scripts/get-tunes.js +25 -0
- package/src/scripts/get-video.js +24 -0
- package/src/scripts/git-backup.js +25 -0
- package/src/scripts/git-clone.js +25 -0
- package/src/scripts/git-pup.js +23 -0
- package/src/scripts/git-push.js +24 -0
- package/src/scripts/h.js +24 -0
- package/src/scripts/hide-desktop-icons.js +23 -0
- package/src/scripts/hide-hidden-files.js +23 -0
- package/src/scripts/install-dependencies-from.js +25 -0
- package/src/scripts/ips.js +26 -0
- package/src/scripts/iso.js +24 -0
- package/src/scripts/killni.js +23 -0
- package/src/scripts/ll.js +24 -0
- package/src/scripts/local-ip.js +23 -0
- package/src/scripts/m.js +24 -0
- package/src/scripts/map.js +24 -0
- package/src/scripts/mkd.js +24 -0
- package/src/scripts/ncu-update-all.js +24 -0
- package/src/scripts/nginx-init.js +28 -0
- package/src/scripts/npmi.js +23 -0
- package/src/scripts/o.js +24 -0
- package/src/scripts/org-by-date.js +24 -0
- package/src/scripts/p.js +23 -0
- package/src/scripts/packages.js +25 -0
- package/src/scripts/path.js +23 -0
- package/src/scripts/ports.js +23 -0
- package/src/scripts/q.js +23 -0
- package/src/scripts/refresh-files.js +26 -0
- package/src/scripts/remove-smaller-files.js +24 -0
- package/src/scripts/rename-files-with-date.js +25 -0
- package/src/scripts/resize-image.js +25 -0
- package/src/scripts/rm-safe.js +24 -0
- package/src/scripts/s.js +24 -0
- package/src/scripts/set-git-public.js +23 -0
- package/src/scripts/show-desktop-icons.js +23 -0
- package/src/scripts/show-hidden-files.js +23 -0
- package/src/scripts/tpa.js +23 -0
- package/src/scripts/tpo.js +23 -0
- package/src/scripts/u.js +23 -0
- package/src/scripts/vpush.js +23 -0
- package/src/scripts/y.js +23 -0
- package/src/utils/README.md +95 -0
- package/src/utils/common/apps.js +143 -0
- package/src/utils/common/display.js +157 -0
- package/src/utils/common/network.js +185 -0
- package/src/utils/common/os.js +202 -0
- package/src/utils/common/package-manager.js +301 -0
- package/src/utils/common/privileges.js +138 -0
- package/src/utils/common/shell.js +195 -0
- package/src/utils/macos/apps.js +228 -0
- package/src/utils/macos/brew.js +315 -0
- package/src/utils/ubuntu/apt.js +301 -0
- package/src/utils/ubuntu/desktop.js +292 -0
- package/src/utils/ubuntu/snap.js +302 -0
- package/src/utils/ubuntu/systemd.js +286 -0
- package/src/utils/windows/choco.js +327 -0
- package/src/utils/windows/env.js +246 -0
- package/src/utils/windows/registry.js +269 -0
- package/src/utils/windows/shell.js +240 -0
- package/src/utils/windows/winget.js +378 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Download a Pluralsight course.
|
|
5
|
+
* @module scripts/get-course
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Downloads a course from Pluralsight using yt-dlp with
|
|
10
|
+
* rate limiting and sleep intervals to avoid detection.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Course name from URL
|
|
14
|
+
* @param {string} args.1 - Pluralsight username
|
|
15
|
+
* @param {string} args.2 - Pluralsight password
|
|
16
|
+
* @returns {Promise<void>}
|
|
17
|
+
*/
|
|
18
|
+
async function main(args) {
|
|
19
|
+
// TODO: Implement Pluralsight course download
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = { main };
|
|
23
|
+
|
|
24
|
+
if (require.main === module) {
|
|
25
|
+
main(process.argv.slice(2));
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Extract dependency names from package.json.
|
|
5
|
+
* @module scripts/get-dependencies
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Extracts and lists dependency names from a package.json file.
|
|
10
|
+
* Can filter by dependency type (dependencies, devDependencies, etc.).
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Path to package.json
|
|
14
|
+
* @param {string} [args.1] - Dependency type: "dev", "peer", "opt", or "dependencies"
|
|
15
|
+
* @returns {Promise<void>}
|
|
16
|
+
*/
|
|
17
|
+
async function main(args) {
|
|
18
|
+
// TODO: Implement dependency extraction
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = { main };
|
|
22
|
+
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
main(process.argv.slice(2));
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Copy files with size comparison using rsync/robocopy.
|
|
5
|
+
* @module scripts/get-folder
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copies files from source to target directory, skipping files that
|
|
10
|
+
* already exist in the target with the same size. Uses rsync on
|
|
11
|
+
* Unix systems and robocopy on Windows.
|
|
12
|
+
*
|
|
13
|
+
* @param {string[]} args - Command line arguments
|
|
14
|
+
* @param {string} args.0 - Source folder path
|
|
15
|
+
* @param {string} args.1 - Target folder path
|
|
16
|
+
* @returns {Promise<void>}
|
|
17
|
+
*/
|
|
18
|
+
async function main(args) {
|
|
19
|
+
// TODO: Implement smart folder copy
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = { main };
|
|
23
|
+
|
|
24
|
+
if (require.main === module) {
|
|
25
|
+
main(process.argv.slice(2));
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Download audio/video from URL using yt-dlp.
|
|
5
|
+
* @module scripts/get-tunes
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Downloads audio and/or video from a URL using yt-dlp.
|
|
10
|
+
* Supports audio-only and video-only modes.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - URL to download from
|
|
14
|
+
* @param {string} [args.1] - Mode: "audio-only" or "video-only" (default: both)
|
|
15
|
+
* @returns {Promise<void>}
|
|
16
|
+
*/
|
|
17
|
+
async function main(args) {
|
|
18
|
+
// TODO: Implement yt-dlp download
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = { main };
|
|
22
|
+
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
main(process.argv.slice(2));
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Download video only from URL using yt-dlp.
|
|
5
|
+
* @module scripts/get-video
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Downloads video (without audio) from a URL using yt-dlp.
|
|
10
|
+
* Outputs in MP4 format.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - URL to download from
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement video-only download
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Create timestamped zip backup of a git repository.
|
|
5
|
+
* @module scripts/git-backup
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates a mirror clone of the repository and packages it into a
|
|
10
|
+
* timestamped zip file. Skips backup if no changes since last backup.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Target folder for the backup
|
|
14
|
+
* @param {string} [args.1] - Optional SSH repo URL (defaults to current repo)
|
|
15
|
+
* @returns {Promise<void>}
|
|
16
|
+
*/
|
|
17
|
+
async function main(args) {
|
|
18
|
+
// TODO: Implement git backup
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = { main };
|
|
22
|
+
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
main(process.argv.slice(2));
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Copy repository structure without .git folder.
|
|
5
|
+
* @module scripts/git-clone
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copies a repository's file structure to the current directory
|
|
10
|
+
* excluding the .git folder, README, LICENSE, and dependency folders.
|
|
11
|
+
* Useful for using a repo as a template.
|
|
12
|
+
*
|
|
13
|
+
* @param {string[]} args - Command line arguments
|
|
14
|
+
* @param {string} args.0 - Source repository path
|
|
15
|
+
* @returns {Promise<void>}
|
|
16
|
+
*/
|
|
17
|
+
async function main(args) {
|
|
18
|
+
// TODO: Implement structure-only clone
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = { main };
|
|
22
|
+
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
main(process.argv.slice(2));
|
|
25
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Pull and update git submodules.
|
|
5
|
+
* @module scripts/git-pup
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Performs a git pull and updates all submodules.
|
|
10
|
+
* Equivalent to: git pull && git submodule init && git submodule update
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments (unused)
|
|
13
|
+
* @returns {Promise<void>}
|
|
14
|
+
*/
|
|
15
|
+
async function main(args) {
|
|
16
|
+
// TODO: Implement pull with submodule update
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = { main };
|
|
20
|
+
|
|
21
|
+
if (require.main === module) {
|
|
22
|
+
main(process.argv.slice(2));
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Add, commit, and push in one command.
|
|
5
|
+
* @module scripts/git-push
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Stages all changes, commits with the provided message, and pushes
|
|
10
|
+
* to the current branch's remote.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Commit message
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement add/commit/push workflow
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
package/src/scripts/h.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Search command history.
|
|
5
|
+
* @module scripts/h
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Searches the shell command history for entries matching
|
|
10
|
+
* the specified pattern and displays results with highlighting.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Search pattern
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement history search
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Hide desktop icons in Finder.
|
|
5
|
+
* @module scripts/hide-desktop-icons
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Hides all icons on the macOS desktop by modifying Finder preferences
|
|
10
|
+
* and restarting Finder.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments (unused)
|
|
13
|
+
* @returns {Promise<void>}
|
|
14
|
+
*/
|
|
15
|
+
async function main(args) {
|
|
16
|
+
// TODO: Implement desktop icon hiding
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = { main };
|
|
20
|
+
|
|
21
|
+
if (require.main === module) {
|
|
22
|
+
main(process.argv.slice(2));
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Hide dotfiles in Finder.
|
|
5
|
+
* @module scripts/hide-hidden-files
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Configures Finder to hide hidden files (dotfiles) and restarts Finder
|
|
10
|
+
* to apply the change.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments (unused)
|
|
13
|
+
* @returns {Promise<void>}
|
|
14
|
+
*/
|
|
15
|
+
async function main(args) {
|
|
16
|
+
// TODO: Implement hidden file hiding
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = { main };
|
|
20
|
+
|
|
21
|
+
if (require.main === module) {
|
|
22
|
+
main(process.argv.slice(2));
|
|
23
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Install dependencies from another package.json.
|
|
5
|
+
* @module scripts/install-dependencies-from
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Reads dependencies from a specified package.json and installs them
|
|
10
|
+
* into the current project at their latest versions.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Path to source package.json
|
|
14
|
+
* @param {string} [args.1] - Dependency type: "dev", "peer", "opt", or "dependencies"
|
|
15
|
+
* @returns {Promise<void>}
|
|
16
|
+
*/
|
|
17
|
+
async function main(args) {
|
|
18
|
+
// TODO: Implement dependency installation from external package.json
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = { main };
|
|
22
|
+
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
main(process.argv.slice(2));
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Scan local network for active IPs using nmap.
|
|
5
|
+
* @module scripts/ips
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Scans the local network for active IP addresses using nmap.
|
|
10
|
+
* Defaults to scanning 192.168.1.0/24.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} [args.0] - Network base IP (default: "192.168.1.0")
|
|
14
|
+
* @param {string} [args.1] - Subnet mask bits (default: "24")
|
|
15
|
+
* @param {string} [args.2] - Options: "ip-only" or "no-sudo"
|
|
16
|
+
* @returns {Promise<void>}
|
|
17
|
+
*/
|
|
18
|
+
async function main(args) {
|
|
19
|
+
// TODO: Implement network scanning
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = { main };
|
|
23
|
+
|
|
24
|
+
if (require.main === module) {
|
|
25
|
+
main(process.argv.slice(2));
|
|
26
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Print ISO 8601 timestamp.
|
|
5
|
+
* @module scripts/iso
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Outputs the current date and time in ISO 8601 format.
|
|
10
|
+
* Optionally uses a specific timezone.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} [args.0] - Optional timezone (e.g., "America/Los_Angeles")
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement ISO timestamp output
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Kill Node Inspector processes.
|
|
5
|
+
* @module scripts/killni
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Finds and kills all Node.js processes running with the
|
|
10
|
+
* --debug-brk flag (Node Inspector).
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments (unused)
|
|
13
|
+
* @returns {Promise<void>}
|
|
14
|
+
*/
|
|
15
|
+
async function main(args) {
|
|
16
|
+
// TODO: Implement Node Inspector process killer
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = { main };
|
|
20
|
+
|
|
21
|
+
if (require.main === module) {
|
|
22
|
+
main(process.argv.slice(2));
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Long listing of directory contents.
|
|
5
|
+
* @module scripts/ll
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Displays a detailed listing of files and directories in the current
|
|
10
|
+
* or specified directory, similar to `ls -l`.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} [args.0] - Optional path to list (defaults to current directory)
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement long listing
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Get local network IP address.
|
|
5
|
+
* @module scripts/local-ip
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Displays the local network IP address of the machine.
|
|
10
|
+
* Uses platform-specific commands to retrieve the IP.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments (unused)
|
|
13
|
+
* @returns {Promise<void>}
|
|
14
|
+
*/
|
|
15
|
+
async function main(args) {
|
|
16
|
+
// TODO: Implement local IP display
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = { main };
|
|
20
|
+
|
|
21
|
+
if (require.main === module) {
|
|
22
|
+
main(process.argv.slice(2));
|
|
23
|
+
}
|
package/src/scripts/m.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Open man pages for a command.
|
|
5
|
+
* @module scripts/m
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Displays the manual page for the specified command.
|
|
10
|
+
* Wrapper around the system `man` command.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Command name to look up in man pages
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement man page viewer
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Execute a command for each line of input.
|
|
5
|
+
* @module scripts/map
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Reads lines from stdin and executes the specified command
|
|
10
|
+
* for each line, similar to `xargs -n1`.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Command to execute for each input line
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement xargs-like mapping
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Create directory and navigate into it.
|
|
5
|
+
* @module scripts/mkd
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new directory (including parent directories) and
|
|
10
|
+
* outputs the path for shell navigation (e.g., cd $(mkd mydir)).
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - Directory path to create
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement mkdir with cd
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Update all package.json dependencies using ncu.
|
|
5
|
+
* @module scripts/ncu-update-all
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Finds all package.json files recursively and runs npm-check-updates
|
|
10
|
+
* to update all dependencies to their latest versions.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} [args.0] - Optional path to search (defaults to current directory)
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement recursive ncu update
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Create nginx configuration from template.
|
|
5
|
+
* @module scripts/nginx-init
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates an nginx site configuration file from a template,
|
|
10
|
+
* replacing domain and host URL placeholders.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} args.0 - -d/--domain: Domain name(s)
|
|
14
|
+
* @param {string} args.1 - -h/--host: Upstream host URL
|
|
15
|
+
* @param {string} args.2 - -f/--file: Output filename
|
|
16
|
+
* @param {string} [args.3] - -l/--link: Create symlink to sites-enabled
|
|
17
|
+
* @param {string} [args.4] - -a/--api: Use API template variant
|
|
18
|
+
* @returns {Promise<void>}
|
|
19
|
+
*/
|
|
20
|
+
async function main(args) {
|
|
21
|
+
// TODO: Implement nginx config generation
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = { main };
|
|
25
|
+
|
|
26
|
+
if (require.main === module) {
|
|
27
|
+
main(process.argv.slice(2));
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Remove node_modules and reinstall dependencies.
|
|
5
|
+
* @module scripts/npmi
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Removes the node_modules folder and reinstalls all dependencies
|
|
10
|
+
* using the detected package manager (npm, yarn, or pnpm).
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments (unused)
|
|
13
|
+
* @returns {Promise<void>}
|
|
14
|
+
*/
|
|
15
|
+
async function main(args) {
|
|
16
|
+
// TODO: Implement clean reinstall
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = { main };
|
|
20
|
+
|
|
21
|
+
if (require.main === module) {
|
|
22
|
+
main(process.argv.slice(2));
|
|
23
|
+
}
|
package/src/scripts/o.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Open file or folder in system file manager.
|
|
5
|
+
* @module scripts/o
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Opens the specified file or folder in the system's default file manager.
|
|
10
|
+
* Uses platform-specific commands (macOS: open, Linux: xdg-open, Windows: explorer).
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} [args.0] - Path to open (defaults to current directory)
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement file manager open
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Organize files into date-based folder structure.
|
|
5
|
+
* @module scripts/org-by-date
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Organizes files in the current directory into subdirectories
|
|
10
|
+
* based on dates found in their filenames (YYYY/MM/DD structure).
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} args - Command line arguments
|
|
13
|
+
* @param {string} [args.0] - Optional path to organize (defaults to current directory)
|
|
14
|
+
* @returns {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
async function main(args) {
|
|
17
|
+
// TODO: Implement date-based file organization
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = { main };
|
|
21
|
+
|
|
22
|
+
if (require.main === module) {
|
|
23
|
+
main(process.argv.slice(2));
|
|
24
|
+
}
|