- Notifications
You must be signed in to change notification settings - Fork0
Kite - Personal developer tool command application. 个人的开发者辅助工具应用
License
inhere/kite-go
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
kite
- Personal developer tool command application.
- https://github.com/inhere/kite-go Go 语言版本
- https://github.com/inhere/kite PHP 版本,不再维护。
kite g/git
git 常用命令操作kite gl
gitlab 常用命令操作kite gh
github 常用命令操作kite str/text
字符串处理工具: 分析,格式化,提取信息,转换kite json
json 处理工具: 格式化,查找,过滤等- go, php, java 代码生成,转换等 TODO
- json, yaml, sql 格式化,查看,转换
kite tool jump
记录并快速跳转目录kite sys
系统、环境信息查看kite run
快速运行系统命令kite script
快速运行内置脚本
kite fs/file
内容查看, 查找,处理, 渲染等kite http
http 服务(echo,fs),快速发送请求等kite brun
批量运行命令 TODOkite doc
文档搜索、查看等 TODO
curl https://raw.githubusercontent.com/inhere/kite-go/main/cmd/install.sh| bash
从代理下载安装脚本
curl https://ghproxy.com/https://raw.githubusercontent.com/inhere/kite-go/main/cmd/install.sh| bash -s proxy
wget -c https://github.com/inhere/kite-ge/releases/latest/download/kite-{OS}-{ARCH}.tar.gz
go install github.com/inhere/kite-go/cmd/kite
- 下载完成后,将解压后的可执行文件移动到
PATH
目录下,注意设置执行权限 - 运行
kite app init
执行初始化. 会生成默认的配置文件等到~/.kite-go
目录
$ kite app init
kite# 查看全部命令kite COMMAND# 运行一个命令kite COMMAND -h# 查看命令帮助信息kite COMMAND SUBCOMMAND# 运行一个子级命令
推荐配置常用命令组别名到~/.bashrc
或者~/.zshrc
,这样可以快速使用常用的命令。
## aliases for kitealias kg="kite git"alias kgl="kite gitlab"alias kgh="kite github"alias kj="kite json"alias kjson="kite json"alias kstr="kite text"alias kdev="kite dev"alias ktool="kite tool"alias kjump="kite tool jump"
kite tool jump
可以记录历史并快速跳转到指定目录.
为bash
启用快速跳转(add to~/.bashrc
):
# 默认跳转函数为: jumpeval"$(kite tool jump shell bash)"
为zsh
启用快速跳转(add to~/.zshrc
):
# 默认跳转函数为: jumpeval"$(kite tool jump shell zsh)"# 设置绑定的跳转函数为: jeval"$(kite tool jump shell --bind j zsh)"
- 如果在
zsh
中使用jump
函数, 提示command not found: compdef
错误.
解决方法:
autoload -Uz compinitcompinit
- zsh 提示
zsh compinit: insecure directories, run compaudit for list
错误
解决方法:
找到有问题的目录, 并移除组写权限.
compaudit| xargs chmod g-w# or# 查看有问题的目录,并调整权限compauditchmod g-w /usr/local/share/zsh# or# chmod -R 755 /usr/local/share/zsh
$ j~/Workspace/godev/gookit/kite-go# 首次跳转到目录后将会记住$ j kite go# 快速跳转到 ~/Workspace/godev/gookit/kite-go 目录$ j kite# 可以双击 TAB 自动补全历史目录路径
Note: 可以使用多个关键字确定目录(如
j kite go
), 但是关键字必须是目录名的一部分.
^
表示匹配排除目录名j kite go ^pkg
目录路径包含kite,go
不包含pkg
的目录$
表示必须以目录名结尾 eg:j kite-go$
只匹配kite-go
结尾目录
$ kite jump add wp~/Workspace# 添加之后可以使用名称跳转$ j wp
$ kite jump list
kite git
提供了一些 git 命令行快速使用命令的封装.
$ kite g# 查看封装的可用的 git 命令
Note: 通过
kite git CMD
运行未知命令会自动转发到系统上的git
下面执行. 因此, 可以执行任何git
命令.
kite gitlab
提供了一些 gitlab 命令行快速使用命令的封装.
$ kite gl# 查看封装的可用的 gitlab 命令
Note: 通过
kite gl CMD
运行未知命令会自动转发到kite git
命令组下面执行. 因此, 可以执行任何 git 命令.
通常只需要配置下面两个信息即可使用
# gitlab host,不带 http 协议前缀GITLAB_HOST=gitlab.your.com# fork 模式下,源仓库的 remote 名称GITLAB_SRC_REMOTE=main
可用直接使用group/path
快速克隆仓库, 会自动填充配置的GITLAB_HOST
进行克隆.
$ kite gl clone group/path
kite gl ac
快速提交:
$ kite gl ac -m"fix: fix a bug"
kite gl acp
快速提交并推送:
$ kite gl acp -m"fix: fix a bug"
通过配置config/gitx.yml
中的fork_mode: true
开启 fork 模式.
gitlab:fork_mode:true
Note: gitlab 的配置默认会继承
gitx.yml->git
的配置信息.
$ kite gl open# 快速在浏览器打开当前仓库
GitHub 大部分命令与git
gitlab
组下面的相同. 同样提供了ac
acp
clone
open
等命令.
Note: 通过
kite gh CMD
运行未知命令会自动转发到kite git
命令组下面执行.
通常只需要配置下面de信息即可使用
# githubGITHUB_USER=inhere
Note:
github
的配置默认会继承gitx.yml->git
的配置信息.
可用直接使用group/path
快速克隆仓库, 会自动填充配置的GITLAB_HOST
进行克隆.
$ kite gl clone group/path
启动一个简单的echo
服务用于快速测试发送请求是否正确响应. 不论请求任何路由,都会返回请求的方法,headers,请求数据等.
$ kite http echo-server
在指定目录快速启动一个文件服务, 用于测试请求服务文件,比如 图片.
# file: public/some.png# access http://localhost:8090/fs/some.png$ kite http fs-server --port 8090 -w public
通过定义API请求模板和设置请求变量来快速发送请求. 快速实现操作三方工具.
$ kite http tpl-send -d jenkins --api api-build.json5 -e dev --var branch=qa -v group=my -v repoName=user
配置模板信息和目录.
# domain: gitlab, jenkins, feishuhttp_tpl:domains:gitlab:config_file:$data/http_tpl/gitlab-domain.json5jenkins:config_file:$data/http_tpl/jenkins-domain.json5
kite fs
封装了一些对文件或目录的常用操作命令.
kite fs cat
跟系统的 cat 类似, 但是会针对不同扩展文件提供语法高亮渲染并输出.
$ kite fs cat README.md
kite fs render
可以通过输入变量或指定变量文件,快速的将模板内容或文件渲染并输出.
两种引擎模式:
simple/replace
快速替换模板变量,简单方便,但是不支持表达式.go/go-tpl
使用 gotext/template
渲染模板,功能强大.
# simple example$ kite fs render -v name=inhere -v age=234'hi, {{name}}, age is {{ age }}'# go-tpl example$ kite fs render --eng go-tpl -v name=inhere -v age=234'hi, {{.name}}, age is {{ .age }}'# use variable file and template file$ kite fs render --var-file /path/to/_variables.yaml @/path/to/my-template.tpl
在kite app
命令下内置了一些命令,可以查看kite自身的信息.
kite app init
初始化kite配置目录和默默配置信息
$ kite app info
可以方便的查看kite的基本信息
- kite版本, 编译的go版本
- 加载的 dotenv 文件
- 加载的配置文件列表
- 配置文件目录等
使用kite别名可以快速运行一些常用子命令.kite app alias
可以方便的查看配置的 kite 内置命令别名列表.
Note: 可以直接运行
kite env
, 就是因为配置了别名env: sys env
.kite env
等同于在执行kite sys env
$ kite appalias -l
通过kite app config
可以查看加载合并后的全部配置信息,也可以按key查看指定的配置信息.
$ kite app config -a
查看指定key:
$ kite app config git$ kite app config gitlab
通过kite app path
命令可以查看获取kite的路径信息, 例如: 配置目录,临时目录,缓存目录等等
$ kite app path -a# 列出所有kite相关的目录信息$ kite app path base# 获取kite基础目录$ kite app path config# 获取配置目录
kite app pathmap
查看用户自定义的快速路径别名列表.
$ kite app pathmap
按层级列出kite所有命令,包含所有子级命令列表. TODO
kite app cmd-map
使用kite run COMMAND
运行任意命令. 它会自动尝试检查COMMAND
是否是alias|script|plugin|system-cmd
中的一个命令. 匹配成功则执行.
$ kite run {script|alias|plugin|system-cmd}
kite 里script
分两种,一种是配置的 一条或多条命令;一种是脚本文件(如 bash 文件).
查看所有的scripts
命令:
$ kite run --script -l# 或者(配置了内置别名 script: run --script)$ kite script -l
Note: 你可以自定义配置任意的
scripts
命令, 请查看$config/module/scripts.yml
kite sys
系统命令组提供了一些常用的系统命令包装,方便查询或操作系统工具.
batch-run
可以在一个目录的每个子目录或指定的多个目录同时执行命令 TODO
$ kite sys batch-run
kite sys clip
可以方便的通过命令方式读取或写入内容到系统剪切板.
$ kite sys clip -r# read contents$ kite sys clip -w"some contents"# read contents
Note: 你会发现在 kite 里很多操作
字符串
或者文件
的命令都支持读取剪切板数据.
kite sys find-exe
将会在 PATH 的目录里模糊匹配搜索可执行文件列表.
kite sys which
跟系统的whereis
which
一样将会在 PATH 的目录里完全匹配查找可执行文件.
显示全部环境变量信息:
kite sys env# or# 因为配置了kite别名 env: sys env, 因此可以直接运行 kite envkite env
搜索ENV变量信息:
$ kite env -s term
展开ENV变量信息:
Note:
--expand
将会把变量值按系统分隔符分割为多行方便查看.
$ kite sys env --expand path
可以配置在运行一些特殊命令时自动设置代理环境,方便使用.
配置示例:
# will set local_proxy before run matched commandproxy_cmd:command_ids: -'github:tag:delete'group_limits:github:[acp, push, pull, update, update-push]# local proxy hostslocal_proxy:# export http_proxy=http://127.0.0.1:1081;export https_proxy=http://127.0.0.1:1081;http_proxy:${PROXY_SERVE}https_proxy:${PROXY_SERVE}
KITE_INIT_LOG=debug go run ./cmd/kite
make install# orgo build -o$GOPAHT/bin/kite ./cmd/kite
- https://github.com/gookit/config
- https://github.com/gookit/rux
- https://github.com/gookit/gcli
- https://github.com/gookit/ini
- https://github.com/go-task/task
- https://github.com/tj/robo
- https://github.com/casey/just
- https://github.com/bitfield/script
- https://github.com/zyedidia/eget Easily install prebuilt binaries from GitHub.