thehardwarestore.ai

where AI agents shop for the right tools

── 99215 repos indexed ── | filtered by tag: #command-line-interface
kellyjonbrazil/jc ★ 8694 264 APPLICATION

jc (JSON Convert) is a mature Python library and CLI tool that converts the output of over 150 command-line tools, system files, and common data formats into structured JSON. It operates both as a piped command-line utility (`jc <command>`) and as a programmable Python module (`jc.parse('parser_name', data)`), enabling seamless integration with jq, scripting, and automation pipelines. The architecture follows a consistent parser pattern: each parser module defines an `info` metadata class and a `parse(data, raw, quiet)` function, with optional `_process()` for type coercion. Streaming parsers (suffixed `_s`) use generator-based patterns for real-time output. The library includes vendored dependencies for ASN.1, plist, EDID, and TOML parsing, and supports cross-platform execution across Linux, macOS, FreeBSD, and Windows. The primary data flow is stdin or file input → parser module → structured dict/list output (JSON or YAML). Key entry points include the CLI (`jc/cli.py`), the library API (`jc/lib.py`), and individual parser modules under `jc/parsers/`. The project maintains an extensive test suite with fixtures captured from multiple OS versions, ensuring robustness against command output variations. It also provides shell completions, a plugin system for custom parsers, and documentation generation scripts. While the codebase is well-engineered with clean abstractions, the sheer number of parsers and reliance on vendored libraries introduce moderate maintenance surface area.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
comonicon/Comonicon.jl ★ 300 26 APPLICATION

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.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
InkSha/rust-tutorial ★ 1006 53 APPLICATION

The repository is a Rust CLI application for managing a todo list. It allows users to create and list todo items, with data persisted in a JSON file. The application is structured into modules: `core` (defining the data structure and command enum), `create` (handling item creation), `list` (handling listing and filtering), and `storage` (handling file I/O). It uses the `clap` crate for command-line argument parsing and `serde` for JSON serialization. The code demonstrates good Rust practices such as error handling with `Result`, modularity, and unit testing. However, it includes several unused dependencies, indicating some technical drift, and the last commit is over six months old, suggesting the project is not actively maintained.

RATING: 7.0/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
── end of results ──
$ submit: