This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a dotfiles repository for managing a portable, reproducible development environment across Linux and macOS, with Docker container support.
stow-dotfiles/: Dotfiles organized per application, managed via GNU Stow. Each subdirectory contains configuration for a specific tool that will be symlinked to the user's home directory: alacritty, claude, claude-code-router, fish, git, kitty, llm, nvim, opencode, ranger, tmux, yazi, zathura.docker/: Dockerfiles for building containerized development environments:base-ubuntu.Dockerfile: Primary development image with all tools pre-installedbase-tlinux.Dockerfile: Tencent Linux base imagectf.Dockerfile: CTF competition environmentrust.Dockerfile: Rust development image
vibe-coding/: Resources for AI-assisted development.- Setup scripts:
setup_linux.shandsetup_macos.shfor bootstrapping new development machines.
- Linux setup:
./setup_linux.sh [--install-rust]Installs system packages, development tools (Fish shell, Neovim, tmux, fzf, fd, zoxide, uv, etc.), and stows all dotfiles. Add--install-rustto include the Rust toolchain. - macOS setup:
./setup_macos.sh [--install-rust]Same as Linux setup, uses Homebrew for package management.
- Stow all dotfiles:
cd stow-dotfiles && stow -t "$HOME" -R */
- Stow a specific application's dotfiles:
Example:
cd stow-dotfiles && stow -t "$HOME" -R <app-name>
stow -t "$HOME" -R nvimto update Neovim configuration.
Configuration changes often work as expected on one machine or operating system but break on others due to cross-platform differences. When reproducing problem and addressing broken configuration, use a new, isolated tmux session to reproduce and verify your fix (take care not to terminate existing user tmux sessions)