From 1135d144a538057e1b2047f65d9cb6d020493630 Mon Sep 17 00:00:00 2001 From: Sebastian Mendel Date: Wed, 25 Feb 2026 12:25:11 +0100 Subject: [PATCH] feat(catalog): add actionlint, dust, tree, hyperfine, difftastic, scc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New tools (82 → 88): - actionlint: GitHub Actions workflow linter (devops, Go) - dust: intuitive disk usage viewer (general, Rust) - tree: directory tree display (general, package-manager) - hyperfine: command-line benchmarking tool (general, Rust) - difftastic: syntax-aware structural diff (git, Rust, binary: difft) - scc: fast code counter with complexity analysis (general, Go) Chose scc over tokei because tokei's latest releases (v13/v14) ship with no binary assets, making automated version tracking unreliable. Signed-off-by: Sebastian Mendel --- catalog/actionlint.json | 44 +++++++++++++++++++++++++++++++++++++++++ catalog/difftastic.json | 43 ++++++++++++++++++++++++++++++++++++++++ catalog/dust.json | 43 ++++++++++++++++++++++++++++++++++++++++ catalog/hyperfine.json | 43 ++++++++++++++++++++++++++++++++++++++++ catalog/scc.json | 43 ++++++++++++++++++++++++++++++++++++++++ catalog/tree.json | 19 ++++++++++++++++++ 6 files changed, 235 insertions(+) create mode 100644 catalog/actionlint.json create mode 100644 catalog/difftastic.json create mode 100644 catalog/dust.json create mode 100644 catalog/hyperfine.json create mode 100644 catalog/scc.json create mode 100644 catalog/tree.json diff --git a/catalog/actionlint.json b/catalog/actionlint.json new file mode 100644 index 0000000..340ecc0 --- /dev/null +++ b/catalog/actionlint.json @@ -0,0 +1,44 @@ +{ + "name": "actionlint", + "category": "devops", + "install_method": "auto", + "description": "Static checker for GitHub Actions workflow files", + "homepage": "https://github.com/rhysd/actionlint", + "github_repo": "rhysd/actionlint", + "binary_name": "actionlint", + "download_url_template": "https://github.com/rhysd/actionlint/releases/download/{version}/actionlint_{version_nov}_linux_{arch}.tar.gz", + "arch_map": { + "x86_64": "amd64", + "aarch64": "arm64" + }, + "available_methods": [ + { + "method": "github_release_binary", + "priority": 1, + "config": { + "repo": "rhysd/actionlint", + "asset_pattern": "actionlint_.*_linux_amd64.tar.gz" + } + }, + { + "method": "go", + "priority": 2, + "config": { + "package": "github.com/rhysd/actionlint/cmd/actionlint" + } + }, + { + "method": "brew", + "priority": 3, + "config": { + "package": "actionlint" + } + } + ], + "requires": [], + "tags": [ + "linter", + "github-actions", + "ci" + ] +} diff --git a/catalog/difftastic.json b/catalog/difftastic.json new file mode 100644 index 0000000..f83207c --- /dev/null +++ b/catalog/difftastic.json @@ -0,0 +1,43 @@ +{ + "name": "difftastic", + "category": "git", + "install_method": "auto", + "description": "A structural diff tool that understands syntax - compares files by parsing them", + "homepage": "https://github.com/Wilfred/difftastic", + "github_repo": "Wilfred/difftastic", + "binary_name": "difft", + "download_url_template": "https://github.com/Wilfred/difftastic/releases/download/{version}/difft-{arch}-unknown-linux-gnu.tar.gz", + "arch_map": { + "x86_64": "x86_64", + "aarch64": "aarch64" + }, + "available_methods": [ + { + "method": "github_release_binary", + "priority": 1, + "config": { + "repo": "Wilfred/difftastic", + "asset_pattern": "difft-x86_64-unknown-linux-gnu.tar.gz" + } + }, + { + "method": "cargo", + "priority": 2, + "config": { + "crate": "difftastic" + } + }, + { + "method": "brew", + "priority": 3, + "config": { + "package": "difftastic" + } + } + ], + "requires": [], + "tags": [ + "diff", + "syntax-aware" + ] +} diff --git a/catalog/dust.json b/catalog/dust.json new file mode 100644 index 0000000..bbb0281 --- /dev/null +++ b/catalog/dust.json @@ -0,0 +1,43 @@ +{ + "name": "dust", + "category": "general", + "install_method": "auto", + "description": "A more intuitive version of du - disk usage viewer written in Rust", + "homepage": "https://github.com/bootandy/dust", + "github_repo": "bootandy/dust", + "binary_name": "dust", + "download_url_template": "https://github.com/bootandy/dust/releases/download/{version}/dust-{version}-{arch}-unknown-linux-musl.tar.gz", + "arch_map": { + "x86_64": "x86_64", + "aarch64": "aarch64" + }, + "available_methods": [ + { + "method": "github_release_binary", + "priority": 1, + "config": { + "repo": "bootandy/dust", + "asset_pattern": "dust-.*-x86_64-unknown-linux-musl.tar.gz" + } + }, + { + "method": "cargo", + "priority": 2, + "config": { + "crate": "du-dust" + } + }, + { + "method": "brew", + "priority": 3, + "config": { + "package": "dust" + } + } + ], + "requires": [], + "tags": [ + "disk-usage", + "file-utils" + ] +} diff --git a/catalog/hyperfine.json b/catalog/hyperfine.json new file mode 100644 index 0000000..3ef7dc8 --- /dev/null +++ b/catalog/hyperfine.json @@ -0,0 +1,43 @@ +{ + "name": "hyperfine", + "category": "general", + "install_method": "auto", + "description": "A command-line benchmarking tool with statistical analysis", + "homepage": "https://github.com/sharkdp/hyperfine", + "github_repo": "sharkdp/hyperfine", + "binary_name": "hyperfine", + "download_url_template": "https://github.com/sharkdp/hyperfine/releases/download/{version}/hyperfine-{version}-{arch}-unknown-linux-musl.tar.gz", + "arch_map": { + "x86_64": "x86_64", + "aarch64": "aarch64" + }, + "available_methods": [ + { + "method": "github_release_binary", + "priority": 1, + "config": { + "repo": "sharkdp/hyperfine", + "asset_pattern": "hyperfine-.*-x86_64-unknown-linux-musl.tar.gz" + } + }, + { + "method": "cargo", + "priority": 2, + "config": { + "crate": "hyperfine" + } + }, + { + "method": "apt", + "priority": 3, + "config": { + "package": "hyperfine" + } + } + ], + "requires": [], + "tags": [ + "benchmark", + "performance" + ] +} diff --git a/catalog/scc.json b/catalog/scc.json new file mode 100644 index 0000000..0c35796 --- /dev/null +++ b/catalog/scc.json @@ -0,0 +1,43 @@ +{ + "name": "scc", + "category": "general", + "install_method": "auto", + "description": "Sloc, Cloc and Code - fast accurate code counter with complexity calculations", + "homepage": "https://github.com/boyter/scc", + "github_repo": "boyter/scc", + "binary_name": "scc", + "download_url_template": "https://github.com/boyter/scc/releases/download/{version}/scc_Linux_{arch}.tar.gz", + "arch_map": { + "x86_64": "x86_64", + "aarch64": "arm64" + }, + "available_methods": [ + { + "method": "github_release_binary", + "priority": 1, + "config": { + "repo": "boyter/scc", + "asset_pattern": "scc_Linux_x86_64.tar.gz" + } + }, + { + "method": "go", + "priority": 2, + "config": { + "package": "github.com/boyter/scc/v3" + } + }, + { + "method": "brew", + "priority": 3, + "config": { + "package": "scc" + } + } + ], + "requires": [], + "tags": [ + "code-counter", + "statistics" + ] +} diff --git a/catalog/tree.json b/catalog/tree.json new file mode 100644 index 0000000..e38d7f6 --- /dev/null +++ b/catalog/tree.json @@ -0,0 +1,19 @@ +{ + "name": "tree", + "category": "general", + "install_method": "package_manager", + "description": "Display directory structure as a tree diagram", + "homepage": "https://github.com/Old-Man-Programmer/tree", + "github_repo": "Old-Man-Programmer/tree", + "binary_name": "tree", + "version_command": "tree --version 2>&1 | head -1", + "packages": { + "apt": "tree", + "brew": "tree", + "dnf": "tree", + "pacman": "tree" + }, + "tags": [ + "file-utils" + ] +}