initx v0.1.0 发布
可圈可点
initx 是一个免安装的脚本引擎,可以使用 npx 执行,通过  插件实现各种功能
初期设计了匹配器和插件的核心逻辑
简单且强大的匹配器来匹配用户输入指令,后来单独抽离成了一个项目 matchinitx
美中不足
initx 可以免安装运行,但你需要全局安装各种插件,这显然是不合理的
虽然有一个插件管理器 @initx-plugin/manager,但它甚至也要先全局安装才能使用,这太傻了
v0.1.0
在这个版本以及之前的几个版本中,陆续解决了以上的问题
首先插件不是全局安装了,而是被安装在用户目录下的 .initx 目录中
同时执行 npx initx 命令时,如果没有 @initx-plugin/manager 插件则会自动安装
现在你可以随时随地尝试
1  | npx initx plugin list  | 
如果觉得每次输入 npx 比较麻烦,也推荐全局安装 initx
1  | npm i initx -g  | 
解决需求
目前做的几个插件,以解决我自己日常使用需求为主,比如以下几个简单的例子
复制
比如复制 SSH 公钥、GPG 公钥、当前目录路径,你可以轻松解决
1  | # 安装插件  | 
git 相关
安装
1  | initx plugin add git  | 
设置全局用户名、邮箱
1  | initx user foo [email protected]  | 
初始化或修改远程仓库地址
1  | initx [email protected]:initx-collective/initx.git  | 
没错,直接这样贴上地址就好了,插件会自动判断是初始化还是修改仓库和分支
开启或关闭 GPG 签名
1  | initx gpg true  | 
插件会自动找到 gpg 执行程序的路径,并设置 git 配置
项目管理
安装
1  | initx plugin add pm  | 
设置项目目录
1  | # 相对路径  | 
不指定名称默认是 default
基于 github 仓库创建项目到目录
1  | initx pm create user/repo  | 
修改默认项目目录
1  | initx use frontend  | 
更多文档可以在 initx-collective 对应的插件仓库中找到
插件开发
initx 插件开发的方向大致分为两个部分
- 以功能为主,比如以上的 
cp、git、pm插件 - 以个人为主,因为考虑到需要记各种命令,所以自己开发自己的插件,为自己服务也是一种选择
 
创建插件可以直接使用插件模板 initx-plugin-starter
开发时使用 stub 模式,这样修改完 ts 代码就不需要手动执行编译
1  | pnpm stub  | 
安装当前目录的插件
1  | initx plugin add .  | 
可以试试这个命令
1  | initx start  | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 怠惰のコエ - imba久期 BLOG!
 评论
