SuperAPI AI 工具集

dotfile-systems-architect

部署与运维

查看项目

更新于 10-15 10:44

技能介绍

Dotfile Systems Architect 是一个面向系统配置管理的指导性技能,核心目标是消除“点文件散乱(Dotfile Sprawl)”与“根目录熵增(Root Entropy)”,让家目录(~)只保留用户数据(如 src、data),而所有配置保持不可见并纳入版本控制。

用途

该技能用于指导创建遵循 XDG Base Directory 规范的“最小根目录”家目录,并使用 Bare Git Repository 管理配置文件。它适合希望将家目录整理为清晰结构、避免配置文件散落各处、并让配置可追踪、可迁移的开发者与系统管理员。

主要能力

  1. 最小根目录:将配置移至 $XDG_CONFIG_HOME(~/.config),将状态与缓存移至 .local/share、.local/state、.cache。目标是 ls -a ~ 几乎不显示点文件,仅保留 .config 和 .zshenv。
  2. Bare Git Repository:建议使用 git init --bare $HOME/.cfg,并设置 config config --local status.showUntrackedFiles no,将家目录变为选择性仓库,显式“opt-in”需要跟踪的文件。技能中说明尽量避免使用 stow 或符号链接农场。
  3. XDG 合规与垫片(Shim)策略:对完全合规的应用(如 nvim、git)直接配置;对部分合规的应用(如 zsh)通过 ~/.zshenv 重定向 ZDOTDIR;对不友好的应用(如 VS Code、AWS、Kube)使用环境变量或符号链接等垫片策略。
  4. Shell 引导:~/.zshenv 是唯一允许留在根目录的文件,需导出 XDG_CONFIG_HOME、XDG_DATA_HOME 等变量,并设置 ZDOTDIR 将 zsh 配置移至 .config/zsh。
  5. 特定应用管理:例如 VS Code 通过符号链接将 ~/.config/vscode/settings.json 指向 ~/Library/Application Support/...,并通过符号链接或 CLI 参数移动扩展目录;AWS/Kube 设置 AWS_CONFIG_FILE 和 KUBECONFIG 环境变量;Claude 将配置移至 .config/claude 并按需符号链接。
  6. 密钥管理:明确不提交密钥。可使用 git-crypt 进行简单加密存储,或更推荐使用 1Password CLI(op)配合 direnv 在运行时注入密钥(如 export KEY=$(op read ...))。
  7. 迁移计划:包括审计(ls -a ~ 并分类为配置、状态、垃圾)、创建骨架(.config、.local)、移动文件并创建垫片、提交到 bare 仓库。
  8. 跨平台支持:使用 shell 条件判断或 Chezmoi 模板处理平台差异;macOS GUI 应用需要符号链接到 ~/Library。

使用方式

该技能以指导文档形式提供,包含多个参考文件:references/xdg-specification.md(XDG 变量、合规性、垫片策略)、references/bare-git-setup.md(bare 仓库实现与对比)、references/shell-bootstrap.md(~/.zshenv 模板与 Bash 兼容性)、references/app-configurations.md(VS Code、Claude、AWS、Kube 配置)、references/secrets-management.md(git-crypt、1Password、安全模式)、references/cross-platform.md(macOS、Linux、Windows 策略)、references/migration-guide.md(分阶段迁移计划)、references/dotfile-patterns.md(常见模式与模板)、references/chezmoi-integration.md(Chezmoi 与 XDG 理念集成)。用户可按照这些参考逐步实施。

适用场景

适用于希望将家目录配置集中管理、实现配置版本控制、跨多台机器同步配置、或从传统点文件散乱状态迁移到 XDG 规范结构的开发者与系统管理员。也适用于需要处理不遵循 XDG 规范的应用(如 VS Code、AWS、Kube)并希望统一管理其配置的场景。

限制

该技能为纯指导性内容,不提供自动化执行工具。具体实施需要用户手动操作。部分应用可能无法完全遵循 XDG 规范,需要依赖垫片或符号链接。密钥管理部分强调不提交密钥,但具体安全策略需用户根据自身环境选择。关于收费、价格、平台支持范围等具体信息,资料中暂未提供。