This is the official Cloud Foundry CLI (cf) version 9, a Go-based command-line tool for managing Cloud Foundry platforms. It provides a comprehensive set of commands for interacting with Cloud Controller (V2 and V3 APIs), UAA for authentication, networking policies, routing, and service brokers. The CLI supports application lifecycle management (push, scale, restart, logs), organization and space management, service instance and broker management, security groups, quotas, buildpacks, domains, routes, and plugins. The architecture follows a layered pattern: commands (in `command/v7/` and legacy `cf/commands/`) delegate to an actor layer (`actor/v7action/`, `actor/v7pushaction/`) which in turn uses API clients (`api/cloudcontroller/ccv3/`, `api/uaa/`, `api/cfnetworking/`, `api/router/`). HTTP clients are wrapped with middleware for authentication, retry, and logging. The codebase is heavily tested with unit tests (using counterfeiter fakes) and integration tests (Ginkgo/Gomega) that run against live or simulated CF environments. Key entry points include `main.go` which dispatches to either the V7 command parser or legacy V2 parser. The V7 commands are registered in `command/common/command_list_v7.go` and each command embeds a `BaseCommand` that provides shared setup (UI, config, actors). The push workflow is particularly complex, involving manifest parsing, resource matching, package creation, staging, and deployment via an event-driven pipeline in `actor/v7pushaction/`. External dependencies include Cloud Controller API, UAA, Log Cache, Networking Policy API, and Routing API. The CLI also supports a plugin system via RPC. The codebase is actively maintained with recent commits and CI workflows, though it carries legacy V2 code that is being gradually replaced by the V7 architecture.
Cmder is a portable console emulator package for Windows, bundling ConEmu as the terminal emulator, Clink for readline-like enhancements, and Git for Windows for Unix tools. The repository contains a C++ launcher (Cmder.exe) that manages configuration files, registers shell context menus, and launches ConEmu with preconfigured tasks. Initialization scripts (init.bat, profile.ps1, cmder.sh) set up environment variables, PATH, Git integration, aliases, and a custom prompt. The build system uses PowerShell scripts to download and package vendored dependencies. The codebase is well-organized with modular batch libraries and a clean launcher, though much of the logic is tightly coupled to the Cmder directory structure and Windows-specific APIs.
dotdrop is a command-line tool for managing dotfiles across multiple hosts using profiles, Jinja2 templating, actions, and transformations. It stores dotfiles in a Git repository and deploys them to target systems, allowing different configurations per host or environment. The architecture is modular: separate Python modules handle each operation (install, compare, update, import, remove, uninstall), with a central dispatcher in `dotdrop.py`. Configuration is defined in YAML (or optionally TOML) files that specify dotfiles, profiles, variables, actions, and transformations. Key entry points are the CLI subcommands invoked via `dotdrop <command>`. Data flows involve parsing the config, aggregating imported configs and variables, then executing file operations (copy, symlink, diff) with optional template rendering and shell commands. External dependencies include Jinja2, docopt, PyYAML, and optional libraries for TOML support and system detection. The codebase is well-tested with both Python unit tests and a large suite of Bash integration tests, and it is distributed via PyPI, Homebrew, AUR, Snap, and other channels.
This repository contains the `jx` CLI, the primary command-line interface for the JayeX (Jenkins X) 3.x platform. It is a Go application that provides a modular command tree for managing Kubernetes-native CI/CD pipelines, including commands for namespace switching, dashboard access, version management, and self-upgrade. The CLI acts as a launcher for external plugin binaries (e.g., jx-gitops, jx-secret) that are discovered and executed dynamically, with built-in shell completion delegation. The architecture is centered around the Cobra command-line framework and integrates with Kubernetes APIs, GitHub releases for plugin distribution, and the local filesystem for configuration and binary caching. While the core is tightly coupled to the JayeX ecosystem, the plugin management and self-update subsystems exhibit patterns that could be extracted for use in other CLI tools.
heh (HEx Helper) is a cross-platform terminal hex editor written in Rust. It provides a TUI for viewing and editing binary files in both hexadecimal and ASCII representations, with features like search (hex/ASCII), jump-to-byte, undo, clipboard integration, and configurable endianness. The architecture follows a clean separation of concerns: `app.rs` orchestrates state and event handling, `screen.rs` manages rendering via ratatui, `input.rs` dispatches keyboard/mouse events to pluggable `KeyHandler` implementations (editor, popups), and `buffer.rs` implements an asynchronous memory-mapped buffer for responsive editing of large files. The codebase demonstrates strong Rust practices, including use of traits for extensibility, iterator patterns for decoding, and a custom `OverlappingChunks` iterator for handling UTF-8 boundary issues. It is primarily an application but includes a library interface for embedding as a ratatui widget.
git-credential-keepassxc is a Rust-based Git credential helper that enables Git and shell scripts to store and retrieve credentials from KeePassXC. It implements the KeePassXC browser protocol to communicate with the password manager via socket/named pipe interfaces. The application provides subcommands for getting credentials (get), generating TOTP codes (totp), storing credentials (store), managing configuration (configure), verifying caller identity (caller), and other auxiliary functions. It features optional security enhancements including strict caller verification, YubiKey-based encryption of configuration files, and desktop notifications. The architecture follows a modular Rust CLI pattern with clear separation between argument parsing, configuration management, core protocol implementation, and utility functions.
Gita is a CLI tool that manages multiple git repositories from a single command. It allows users to register repositories, organize them into groups, and perform batch git operations such as fetch, pull, status, and custom commands across all or selected repos. The tool also displays a side-by-side summary of repository states including branch, commit message, time, and status symbols for staged/unstaged/untracked changes and local-remote branch relationships. The architecture is a monolithic Python application with a clear separation of concerns: `__main__.py` defines the CLI interface via argparse and delegates to action functions; `utils.py` provides file I/O, configuration parsing, and async execution utilities; `info.py` contains all logic for gathering and formatting repo status information; `common.py` handles config file paths; and `io.py` parses clone configuration files. The tool uses subprocess and asyncio to run git commands concurrently for multiple repos, falling back to synchronous execution for interactive commands like difftool or when only one repo is targeted. Gita stores repository metadata in CSV files under `$XDG_CONFIG_HOME/gita/` and supports extensive customization via additional config files for colors, symbols, displayed info columns, and custom commands defined in JSON. The codebase is well-tested with pytest and exercised on CI across multiple Python versions and operating systems. While the core functionality is tightly integrated with its own config schema, several internal patterns (async subprocess execution, git status extraction via diff --quiet) are cleanly abstracted and could be repurposed in other git tooling with minor adaptation.
fastmod is a high-performance CLI tool for large-scale codebase refactoring, designed as a faster replacement for the original codemod. It recursively searches files in a directory tree using the `ignore` and `grep` crates (the same underlying libraries as ripgrep), applies regex-based substitutions, and presents diffs for interactive review or accepts all changes automatically. The tool supports multiline regex, glob/extension filtering, case-insensitive matching, fixed-string mode, external diff tools, and hidden/ignored file traversal. The architecture is a single Rust binary with two source files: `main.rs` containing all core logic (argument parsing, file walking, patching, and interactive prompts) and `terminal.rs` wrapping `crossterm` for terminal color and clearing. Execution can be either interactive (user reviews each diff) or fast (batch apply with optional `--accept-all`). The code is well-structured, leverages parallelism via `ignore::WalkParallel`, and includes a suite of integration tests. It does not expose a library API; all functionality is encapsulated in the binary.
Ruplacer is a command-line tool written in Rust for finding and replacing text in files. It supports literal string, regex, and case-preserving replacements, and provides a diff-like output of changes. The tool respects .gitignore, allows filtering by file type, and can operate in a dry-run mode. The architecture is modular, with separate modules for argument parsing, console output, directory traversal, file processing, and the core replacement logic. The replacement logic is particularly notable for its use of the strategy pattern to handle different matching algorithms in a uniform way.
This repository provides a comprehensive AI-assisted UI/UX design system toolkit, primarily packaged as a skill for AI coding assistants (Claude Code, Cursor, Windsurf, Copilot, etc.) and distributed via the 'ui-ux-pro-max-cli' npm package. Its core functionality includes a curated knowledge base of 79 UI styles, 192 product color palettes, 74 font pairings, 119 UX guidelines, 22 tech stacks, and 192 reasoning rules – all stored as structured CSV files. A BM25 search engine (implemented in Python) enables domain‑aware retrieval, while a design system generator aggregates search results and applies reasoning rules to output complete design system recommendations (colors, typography, style, layout patterns, motion, anti‑patterns). The gallery Next.js app provides a browsable, filterable interface for the style catalog. Architecturally, the project is a hybrid of data curation and application delivery. The canonical source of truth lives in `src/ui-ux-pro-max/`, which is synchronised to `cli/assets/` and `.claude/skills/` via a CI‑enforced sync script. It includes sub‑skills for brand management, slide/presentation generation, banner design, icon/logo generation, and UI styling (with shadcn/ui and Tailwind integration). The CLI tool installs these skills into the appropriate AI assistant configuration directories, with platform‑specific templates for 20+ assistants. Automated workflows refresh Google Fonts and Phosphor icon catalogs weekly, and a suite of Python tests validates data contracts, stack freshness, and search relevance. Despite its active maintenance and rich functionality, the codebase suffers from significant file duplication across three directory trees, hardcoded version pins for frameworks, and test brittleness tied to exact data row counts. The design system generator and search engine are well‑crafted and reusable, but the overall project is tightly coupled to its curated CSV schema and the ecosystem of AI coding assistants. It represents a mature, production‑grade toolkit for developers who want AI‑assisted design generation, but the heavy duplication and external API dependencies (Gemini, Atlas Cloud, MuAPI) introduce moderate technical drift risk.
google-images-download is a Python application for searching and downloading images from Google Images. It functions as both a command-line tool and a library that can be imported into other Python scripts. The system uses Selenium with Chrome to handle JavaScript-heavy Google Images pages, automatically manages chromedriver via webdriver-manager, and supports extensive filtering options (size, color, format, usage rights, etc.). Key features include filename sanitization for cross-platform compatibility, metadata extraction, similar image search, and robust error handling for network issues. The architecture is monolithic with a clear separation between argument parsing, URL building, browser automation, and download execution.
This repository is the canonical source of tldr-pages, a community-maintained collection of simplified man pages for command-line tools. It contains tens of thousands of Markdown files organized by language and platform, each providing concise usage examples for a CLI command. The repository also includes a suite of validation scripts, a build system for generating indexes and archives, and a client specification for consuming the pages. While primarily a documentation project, the tooling (Node.js and Python scripts) constitutes a small application layer that ensures consistency, quality, and automated releases. The repo supports translations in over 30 languages, with strict formatting and linting enforced by CI/CD pipelines. It is not a standalone application but the authoritative dataset and tooling for the tldr ecosystem.
npkill is a TypeScript CLI/TUI application that scans filesystems to find node_modules (and other ecosystem build/dependency directories) consuming disk space, then interactively or programmatically deletes them. The core engine (Npkill class) exposes RxJS observable streams for scanning, size calculation, newest-file detection, deletion, and logging, with a worker_threads-based parallel directory traversal. The CLI layer adds a raw-mode interactive terminal UI with cursor navigation, multi-select deletion, search filtering, JSON/NDJSON output modes, --dry-run, .npkillrc config file support, and user-defined profiles. It ships both as a bin executable and as a programmatic Node library per API.md.
Comonicon is a Julia CLI generator that transforms function definitions and docstrings into full-featured command-line interfaces with zero duplication, zero overhead, and zero dependencies after code generation. The system follows a classic compiler pipeline: Julia source code is parsed by the frontend (@cast/@main macros) into an AST representation, which is then walked by the codegen module to produce executable Julia Expr, and finally processed by the builder module for installation, system image generation, and distribution. Key features include automatic CLI documentation generation from docstrings, shell completion generation (bash/zsh), and flexible build options via PackageCompiler. The architecture shows clear separation of concerns across frontend, AST, codegen, and builder modules, with thoughtful use of Julia's macro system and type features.
This Neovim plugin provides a floating window for entering ex-commands, featuring tab completion, history navigation (with optional smart history), and customizable keybindings. It is built on top of the nui.nvim library and offers a clean API for configuration and extension via hooks. The plugin handles compatibility across different Neovim versions (pre and post 0.7) for keymap settings. The implementation is focused and modular, separating concerns between UI setup, state management, and user interaction.
Eslint Watch is a command-line tool that wraps ESLint to add file watching capabilities. It provides a CLI interface that forwards most options to ESLint while adding its own options like --watch, --changed, and --clear. The architecture is modular, with separate modules for option parsing, command handling, ESLint interaction, and file watching. The tool uses chokidar for file system events and keypress for keyboard input to trigger manual re-lints. It demonstrates solid engineering practices with a clear separation of concerns and a reusable option merging pattern.
This repository is a curated list of command-line tools, designed to help users discover and evaluate CLI utilities for various tasks. It does not contain any executable code or application logic; instead, it serves as a static reference document hosted on GitHub. The main content resides in `readme.md`, which organizes tools into categories such as CSV, File System, Git, Networking, and Programming Languages, each with links to the tools' source repositories and concise descriptions. Contribution guidelines are provided in `contributing.md` to maintain the list's quality and consistency. The repository uses shields.io badges to display metadata like the license and links to related curated lists. Although the repository lacks reusable software components or architectural patterns due to its static nature, it is well-maintained with recent commits and active issue tracking. It exhibits low technical drift as it has no code dependencies to become outdated. As a reference resource, it effectively fulfills its goal of aggregating CLI tools, though it does not demonstrate notable software engineering craftsmanship.
This repository is an awesome list of macOS command-line tools and tips, but it has been permanently moved to the author's personal Git instance. The GitHub repository now serves only as a notice with a patch-based contribution policy. There is no executable code, no dependencies, and no reusable components. The actual knowledge base lives elsewhere; this repo is effectively a dead link.