我(@gaojunran)的个人 dotfiles,使用 chezmoi 管理,跨 macOS / Windows。
README 由 LLM 生成并维护。可能过时。建议以仓库现状为准。
- 论证严密,表达简洁。不使用 emoji,不用破折号。
- 代码质量第一位:清晰、简洁、易于理解和维护。
- 不过度设计、不过度抽象;相同的简单模式重复两三次是可以接受的。
- 不编写不可能存在的异常边界;不做冗余的错误处理。
- 大胆重构现有代码以适应新需求,同时保证依赖方正常工作。
- 使用地道的、现代的语法特性。
- 终端模拟器使用
ghostty(JetBrains Mono,18pt,85% 背景不透明度,快速终端在右侧)。 - 使用
rg代替grep,fd代替find;目的明确的代码检索用ast-grep。 - 使用
bat代替cat,eza代替ls,zoxide代替cd。 - 文件管理器使用
yazi,压缩/解压用ouch,磁盘分析用dua。 - 剪贴板统一使用
clipboard(cb) 命令。 - 系统信息使用
fastfetch/onefetch,进程查看使用bottom(btm)。 - 终端复用使用
zellij。
- 日常编辑器:VSCode(
code)。 - 轻量编辑器:Zed(主题 One Light / Vitesse Refined Black,Copilot 补全)。
- AI 编程助手:Claude Code、CodeBuddy。
- 在探索任务中倾向写 Node.js 脚本而非复杂 Shell 脚本。
- 主要使用
jj(Jujutsu)管理 Git 仓库;辅助使用hj做 push/pull 与克隆。 - 不使用
lazygit。 - 默认分支名
main;core.autocrlf = input。
- 项目级工具版本使用
mise管理(Node、Go、Java、Gradle、Maven、Bun、just、watchexec 等均交给 mise)。 - 敏感环境变量(token、work 账户等)使用
fnox+age加密管理。 - 后台守护进程使用
pitchfork管理。 - Python 包管理使用
uv,索引走阿里云镜像。 - macOS 软件安装使用 Homebrew;Homebrew Cask 安装到
~/Applications。
- 变量命名在当前作用域内明确且有描述性,不做冗余前缀。
- 类型优先、避免
any;新文件优先 TypeScript;能内联类型就不单独起别名。 - 偏爱函数式、不变优于可变:三元表达式优于 if/else 赋值,链式调用优于中间变量。
- 注释谨慎使用,需要时用简洁中文说明。
- 复杂、不确定的逻辑多打日志。
- JS/TS 偏爱
?./??/??=、解构、扩展运算符、模板字符串、Map、async/await。
~/Playground临时实验(cdp,mc随机命名)。~/Projects个人项目(cdi)。~/Work工作项目(cdw,使用独立的JJ_USER/JJ_EMAIL)。
本仓库由 chezmoi 驱动,源路径约定请参考 chezmoi 文档。
dot_config/fish/— fish 的config.fish(prompt、别名、y/mc函数)与conf.d/10-source.fish(PATH、brew、zoxide、pitchfork、fnox 的初始化)。dot_config/ghostty/— Ghostty 终端配置。.chezmoitemplates/pwsh-profile.ps1— PowerShell profile 模板。Documents/WindowsPowerShell/— Windows 上的 PowerShell profile 落地点。
dot_config/git/— git 的config与exclude。dot_config/jj/— jj 全局配置。dot_config/hj/— hj(个人 Git 助手)配置。
dot_config/mise/config.toml— mise 全局工具(pitchfork、fnox)与 env 文件约定。fnox.toml— 由 fnox 管理的加密 secrets(GitHub / Cargo / NPM / 工作账号等)。dot_config/fnox/config.toml— fnox 的 age provider 配置。dot_config/pitchfork/config.toml— pitchfork 守护进程(自动同步fnox.toml)。dot_config/uv/uv.toml— uv 包索引(阿里云镜像)。dot_npmrc— npm 配置。dot_gradle/init.gradle.kts— Gradle 全局 init 脚本。Work/mise.toml—~/Work专用的 mise env(工作账号)。
dot_config/setup/brew-deps— Homebrew 包清单(Brewfile 格式)。dot_config/setup/brew-apps— Homebrew Cask 应用清单。
dot_config/yazi/— yazi 配置:yazi.toml、keymap.toml、theme.toml、package.toml,以及flavors/(dracula)与plugins/(ouch)。dot_config/zed/settings.json— Zed 编辑器设置。.chezmoitemplates/vscode-settings.json— VSCode 设置模板。AppData/Roaming/Code/User/— Windows VSCode 落地点。Library/Application Support/Code/User/— macOS VSCode 落地点。
dot_config/espanso/— espanso 全局配置、通用/JS/LLM/工作场景片段,以及scripts/branchExpand.js。
dot_claude/CLAUDE.md— Claude Code 的个人偏好说明(基本原则、Shell、Coding Style)。dot_claude/references/javascript.md— JS/TS 编码风格参考。dot_codebuddy/— CodeBuddy 对应的AGENTS.md与references(symlink 至dot_claude)。
.chezmoi.toml.tmpl— chezmoi 初始化模板。.chezmoiignore— chezmoi 忽略规则。dot_config/chezmoi/chezmoi.toml— chezmoi 运行时配置。
Playground/、Projects/、Work/、Documents/下的.keep文件用于创建空目录骨架。