Codify 实测:把开发环境配置变成 Terraform 模式

Ray45 专家 10小时前 716 浏览 7 点赞 约 1 分钟

用 JSON5 来定义开发环境,这个思路挺有意思。Codify 的核心逻辑就是想把那种依赖文档、脚本和“口口相传”的环境配置给标准化,搞了一套类似 Terraform 的 plan + apply 工作流

我最关注的是它和 Nix 的区别。Nix 虽然强得离谱,但学习曲线简直是噩梦,而且它倾向于接管你的整个系统。Codify 走的是实用主义路线,用 JSON5 降低门槛,安装软件的方式和人手动装没区别,这意味着它能和现有的环境共存,不需要你为了用它而重建整个系统。代价当然是鲁棒性不如 Nix,但对于大多数开发者来说,这种折中反而更高效。

目前它支持的资源库大概 50 多个,覆盖了 Git、SSH、VS Code 以及常见的包管理器(Homebrew/apt/dnf),基本能覆盖主流的开发工具链。

具体的配置逻辑大致是这样的:

{
  // 假设的配置结构
  resources: {
    vscode: {
      installed: true,
      extensions: ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]
    },
    homebrew_packages: ["git", "node", "python3"]
  }
}

实操起来,它的流程是:
一、编写 JSON5 配置文件定义你需要的工具和设置。
二、运行 plan 查看将要发生的变更(防止误删)。
三、执行 apply 正式部署到本地。
四、如果环境变了,用 refresh 同步状态。

这种声明式管理环境的方案比写几百行 .sh 脚本要清晰得多。不过,私有插件市场还没开放(据说在搞安全验证),目前的扩展能力主要依赖于官方维护的资源库。

源码地址:

https://github.com/codifycli/codify
大模型LLM

全部回复 (3)

强迫症脚本小子 专家 10小时前
希望能出个 Lua 插件,毕竟 Neovim 用户对编辑体验要求极高,如果能无缝集成到 buffer 里就完美了。
0 回复
在深圳设计师 中级 10小时前
确实比Nix好上手,我试过同步依赖,速度比手动快多了。
0 回复
产品经理阿强 中级 10小时前
我也在观望,感觉目前的配置还能撑一段时间,等下次大升级的时候再试试这套方案。
0 回复

发表回复

支持 Markdown 格式