Skip to content

kevin197011/kscript

Repository files navigation

kscript

______                     _____        _____
___  /________________________(_)_________  /_
__  //_/_  ___/  ___/_  ___/_  /___  __ \\  __/
_  ,<  _(__  )/ /__ _  /   _  / __  /_/ / /_
/_/|_| /____/ \\___/ /_/    /_/  _  .___/\\__/
                                /_/

Gem Version CI Status

Ruby CLI 工具集,专为系统运维、开发自动化、网络与项目管理场景设计。支持插件化、美化输出、自动补全、结构化日志、CI/CD 自动发布等现代特性。


🗺️ 架构图

graph TD
  A[用户终端/脚本] -->|命令行| B(kscript CLI)
  B --> C[插件注册与分发]
  B --> D[日志系统]
  B --> E[配置加载]
  B --> F[Shell补全生成]
  B --> G[结构化日志/美化输出]
  B --> H[CI/CD自动发布]
  F --> I1[zsh补全脚本]
  F --> I2[bash补全脚本]
  H --> J[GitHub Actions]
  J --> K[RubyGems发布]
Loading

✨ 特性亮点

  • 统一 CLI 框架,所有命令一键调用,美化输出
  • 插件化架构,业务命令即插件,易扩展、易维护
  • 美化输出:ASCII banner、彩色分组、分隔线
  • 人性化/结构化日志双模式:--log/--log-level 切换,支持 JSON/终端友好输出
  • 自动补全:zsh/bash 补全脚本自动部署
  • 参数健壮:所有插件兼容多余参数,支持全局参数过滤
  • CI/CD 自动发布:GitHub Actions 自动构建并推送 RubyGem
  • 多平台支持:macOS、Linux,部分工具支持 Windows
  • 自动生成配置:首次安装自动生成 ~/.kscript/.env 配置示例

🚀 安装

gem install kscript

或源码安装:

git clone https://github.com/kevin197011/kscript.git
cd kscript
gem build kscript.gemspec
gem install ./kscript-*.gem

🛠️ 快速上手

查看所有命令

kscript list

查看主命令帮助

kscript help

查看版本

kscript version

执行插件命令

kscript <command> [args...]
# 例如
kscript apnic_ip CN
kscript port_scan 192.168.1.1
kscript shell_helper 'ls -l'
kscript project_scan ~/projects
kscript aws_s3 --file local.txt --bucket my-bucket --key test.txt --region ap-northeast-1 --access_key xxx --secret_key yyy

结构化日志模式

kscript apnic_ip CN --log
kscript port_scan 192.168.1.1 --log-level=debug

🧩 插件与命令一览

运行 kscript list 可分组美化展示所有插件命令

分组 命令 用法示例 参数说明 描述
network apnic_ip kscript apnic_ip CN [country_code] Get APNIC IPv4 ranges for a country.
network port_scan kscript port_scan 192.168.1.1 <target_host> [ports] [thread_count] Scan open ports on a target host.
network ip_lookup kscript ip_lookup 8.8.8.8 <ip_address> Query IP geolocation and ISP info.
network wg_acl kscript wg_acl add --ip=10.0.0.2 [subcommand] [options] Manage WireGuard firewall ACL rules.
network wg_pass kscript wg_pass 32 [length] Generate a random password for WireGuard.
project project_scan kscript project_scan ~/projects/src [src_path] Scan and list all git projects in a directory.
project vcs_cleaner kscript vcs_cleaner ~/projects/src [src_path] Clean old source code versions, keep N latest.
project file_rename kscript file_rename foo bar ./src <pattern> <replacement> [path] Batch rename files by pattern.
system shell_helper kscript shell_helper 'ls' [subcommand] [args...] Query shell command usage and cheatsheets.
system lvm_manage kscript lvm_manage /dev/sda2 /mnt/data <device> <mount_point> Mount and manage Linux LVM volumes.

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!请遵循 Conventional Commits 规范,确保所有代码通过 Linter 检查。详细贡献流程见 CONTRIBUTING.md(如有)。

❓ 常见问题

  • 如何启用 shell 补全? 安装后自动生成补全脚本,重启 shell 或手动 source ~/.zshrc/~/.bashrc
  • 如何切换日志模式? 所有命令支持 --log--log-level=debug,详见上文示例。
  • 如何自定义配置? 编辑 ~/.kscript/.env,可配置 AWS、日志等参数。

如有更多问题,欢迎提交 Issue

📬 联系方式 & 致谢

感谢所有贡献者和开源依赖项目!

📄 License

This project is licensed under the MIT License.

About

kscript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published