Skip to content

chann/cli-tools

Repository files navigation

CLI Tools Collection

한국어

Rust-based command-line tools for repository analysis, Git workflow maintenance, everyday developer utilities, and silent command logging.

Tools

Command Crate Purpose
code-cost crates/code-cost Estimate a repository's development cost and project value.
work-summary crates/work-summary Summarize Git activity, effort, and contribution value.
git-tools crates/git-tools Clean branches, scan markers, check project health, and manage changelogs.
dev-tools crates/dev-tools Run common data, encoding, network, text, and system utilities.
zzz crates/zzz Run a command silently and save stdout to ~/.commands.

zzz is a separate install target. Installing dev-tools no longer installs the zzz binary.

Installation

Install only the tools you need:

cargo install --path crates/code-cost --force
cargo install --path crates/work-summary --force
cargo install --path crates/git-tools --force
cargo install --path crates/dev-tools --force
cargo install --path crates/zzz --force

Build or test the full workspace:

cargo build --release --workspace --bins
cargo test --workspace --all-targets

code-cost

Analyze repositories and estimate monetary value from code size, language difficulty, complexity, maturity, and Git history.

# Analyze the current directory
code-cost

# Analyze specific repositories
code-cost ~/projects/my-app ../other-repo

# Compact table output
code-cost --simple

# Include developer-level cost breakdown
code-cost --dev-levels

# Export results
code-cost --format json-pretty
code-cost --export report.html
code-cost --export report.md
code-cost --export report.csv

Key outputs:

  • LOC breakdown by code, comments, and blanks
  • Language distribution and weighted difficulty
  • Git age, commit, and contributor metrics
  • Complexity, maturity, and code-quality scoring
  • CSV, HTML, Markdown, JSON, and terminal output

work-summary

Analyze Git commit history and produce a work summary with estimated time, activity patterns, and value calculation.

# Analyze the last 30 days
work-summary

# Quick filters
work-summary --today
work-summary --week
work-summary --month

# Date range and limit
work-summary --from 2025-01-01 --to 2025-01-31
work-summary --limit 20

# Compact output and JSON export
work-summary --simple
work-summary --export summary.json

The estimator combines commit time gaps with code-change volume and complexity.

git-tools

Developer workflow utilities for repository maintenance.

# Branch cleanup
git-tools cleanup
git-tools cleanup --force
git-tools cleanup --target develop

# Marker scan
git-tools scan
git-tools scan --markers "TODO,DEBUG"

# Project health
git-tools health
git-tools health --verbose

# Environment and changelog helpers
git-tools env
git-tools changelog
git-tools changelog --from v1.0.0 --limit 10

# Interactive Conventional Commit wizard
git-tools commit

dev-tools

A collection of small utilities for common transformations and system checks.

# UUIDs
dev-tools uuid --count 5 --v7

# Base64
dev-tools base64 "hello world"
dev-tools base64 --decode "aGVsbG8gd29ybGQ="

# JSON and model generation
dev-tools json '{"a":1,"b":2}'
dev-tools typescript '{"name":"test","age":20}'
dev-tools rust '{"name":"test","age":20}'
dev-tools go '{"name":"test","age":20}'

# Ports, hashes, and time
dev-tools port 8080
dev-tools port 8080 --kill
dev-tools hash README.md --file
dev-tools checksum README.md --file --algo sha512
dev-tools time
dev-tools time 1740000000

# Text, security, and network helpers
dev-tools password --check "P@ssw0rd123"
dev-tools morse "HELLO WORLD"
dev-tools morse --decode ".... . .-.. .-.. --- / .-- --- .-. .-.. -.."
dev-tools ip

dev-tools silent remains available for command logging:

dev-tools silent git status --short
dev-tools silent python script.py

zzz

zzz is a standalone shortcut for silent foreground command logging. It runs the command through your interactive shell on Unix, so shell aliases and functions are available.

zzz echo "hello"
zzz git status --short
zzz update-agents

Logs are saved to:

~/.commands/{yymmdd}/{hhmmss}-{command_name}.log

Example:

~/.commands/260605/224512-echo.log

Release

Releases are driven by Git tags.

  1. Update workspace.package.version in Cargo.toml.

  2. Run cargo test --workspace --all-targets.

  3. Create and push a matching tag:

    git tag v0.1.0
    git push origin v0.1.0

The GitHub Actions release workflow validates that the tag matches the workspace version, runs the workspace tests, builds platform archives, and creates a GitHub Release. Release artifacts include:

  • Linux x86_64: tar.gz
  • macOS Intel: tar.gz
  • macOS Apple Silicon: tar.gz
  • Windows x86_64: zip

See versioning.md for the shared versioning rules.

Project Structure

cli-tools/
├── .github/workflows/release.yml
├── crates/
│   ├── cli-core/       # Shared UI, output, config, and command logging
│   ├── code-cost/      # Repository value analyzer
│   ├── dev-tools/      # Developer utility collection
│   ├── git-tools/      # Git workflow and health tools
│   ├── work-summary/   # Git work summary analyzer
│   └── zzz/            # Standalone silent command logger
├── Cargo.toml
└── versioning.md

License

MIT License. See LICENSE.

Author

CHANN

About

Useful enough for work, maybe?

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages