分享个自己做的工具 - initx
imba97 11天前 · IP已记录 379

initx 是个脚本引擎,运行环境是 node.js,核心是通过插件完成各种脚本功能,简化原本的操作

 

如果你有 node 环境,你可以试试

npx initx -v
npx initx plugin list

全局安装后可以省略 npx

 

功能

 

比如之前配置 git 的用户名、邮箱,要这么写

git config --global user.name "foo"
git config --global user.email "foo@example.com"

而现在通过 @initx-plugin/git 插件,你只需要这样写

initx user foo foo@example.com

(用户名、邮箱没有先后顺序)

 

再比如你想复制 SSH 公钥,就要打开用户目录下的 .ssh,找到公钥文件打开复制

现在通过 @initx-plugin/cp 插件,你只需要

initx cp ssh

除此之外还可以快速复制当前目录路径、GPG 公钥

initx cp cwd
initx cp gpg

 

还有一些功能像项目管理、导入导出 GPG 公私钥、开启关闭 git GPG 签名等

主要逻辑是通过一个匹配器去匹配用户输入字符对应的插件,再调用插件的处理函数

 

开发背景

 

本来是觉得重装的电脑后各种东西配置起来麻烦,想做个简化原有命令的小玩意儿

每种不同的功能分离出来,就成了插件

后面又把匹配器抽离出来作为一个单独的项目

 

开源

 

initx 相关:https://github.com/initx-collective

匹配器:https://github.com/imba97/matchinitx


8 条回复
头像

优秀

点赞GIF

SIG. 君子藏器于身,待时而动
April 15, 2025 5:36 PM
#1
头像

@tsuna 赞美开源,没开源我啥也不会

二胡GIF

April 15, 2025 5:46 PM
#2
头像

@imba97 谦虚了,站在巨人的肩膀上做东西也很强了

SIG. 君子藏器于身,待时而动
April 15, 2025 5:47 PM
#3
头像

不明觉厉,好厉害。

April 15, 2025 8:55 PM
#4
头像

码了,有空试试,赞美大佬点赞GIF

April 16, 2025 9:20 AM
#5
头像

这与bash alias的区别是?

April 17, 2025 6:23 AM
#6
头像

@shell32 跟 bash alias 还是有本质区别的,这个只是命令别名吧,initx 是执行脚本

比如我写一个 initx git@github.com:initx-collective/initx.git main,这个会判断当前目录如果没有 git 仓库,就初始化一个,如果有就切换远程分支,单靠 bash alias 应该没法实现

当然你可以直接在 .bashrc 或者哪写脚本,然后用 bash alias 添加别名。但我只是对 TS 相对熟悉,写起来效率高,而且执行起来不分机器,不用管理脚本文件

April 17, 2025 11:38 AM
#7
头像

太强了

April 18, 2025 9:42 PM
#8