Skip to content

gaojunran/dotfiles

Repository files navigation

dotfiles

我(@gaojunran)的个人 dotfiles,使用 chezmoi 管理,跨 macOS / Windows。

README 由 LLM 生成并维护。可能过时。建议以仓库现状为准。

个人偏好

基本原则

  • 论证严密,表达简洁。不使用 emoji,不用破折号。
  • 代码质量第一位:清晰、简洁、易于理解和维护。
  • 不过度设计、不过度抽象;相同的简单模式重复两三次是可以接受的。
  • 不编写不可能存在的异常边界;不做冗余的错误处理。
  • 大胆重构现有代码以适应新需求,同时保证依赖方正常工作。
  • 使用地道的、现代的语法特性。

Shell 与命令行

  • 终端模拟器使用 ghostty(JetBrains Mono,18pt,85% 背景不透明度,快速终端在右侧)。
  • 使用 rg 代替 grepfd 代替 find;目的明确的代码检索用 ast-grep
  • 使用 bat 代替 cateza 代替 lszoxide 代替 cd
  • 文件管理器使用 yazi,压缩/解压用 ouch,磁盘分析用 dua
  • 剪贴板统一使用 clipboard (cb) 命令。
  • 系统信息使用 fastfetch / onefetch,进程查看使用 bottom (btm)。
  • 终端复用使用 zellij

编辑器与 IDE

  • 日常编辑器:VSCode(code)。
  • 轻量编辑器:Zed(主题 One Light / Vitesse Refined Black,Copilot 补全)。
  • AI 编程助手:Claude Code、CodeBuddy。
  • 在探索任务中倾向写 Node.js 脚本而非复杂 Shell 脚本。

版本管理

  • 主要使用 jj(Jujutsu)管理 Git 仓库;辅助使用 hj 做 push/pull 与克隆。
  • 不使用 lazygit
  • 默认分支名 maincore.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 偏爱 ?. / ?? / ??=、解构、扩展运算符、模板字符串、Mapasync/await

目录布局

  • ~/Playground 临时实验(cdpmc 随机命名)。
  • ~/Projects 个人项目(cdi)。
  • ~/Work 工作项目(cdw,使用独立的 JJ_USER / JJ_EMAIL)。

仓库里有什么

本仓库由 chezmoi 驱动,源路径约定请参考 chezmoi 文档

Shell 与终端

版本管理与 Git

工具链与环境

安装清单

文件管理器与编辑器

文本扩展

  • dot_config/espanso/ — espanso 全局配置、通用/JS/LLM/工作场景片段,以及 scripts/branchExpand.js

AI 编程助手

chezmoi 自身

目录占位

  • Playground/Projects/Work/Documents/ 下的 .keep 文件用于创建空目录骨架。

About

My dotfiles, managed by chezmoi.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors