This file provides guidance to Claude Code (claude.ai/code) when working across multiple development machines.
Type: ARM Laptop Hardware: Snapdragon X Elite X1E78100 (12-core ARM), Qualcomm Adreno X1-85 GPU, 32GB RAM, 2TB NVMe OS: Windows 11 Pro (Insider, Build 29531) Primary Use: Development, AI/ML (ARM-native workloads)
Type: x64 Laptop (ASUS ROG Zephyrus G16 GU605MY) Hardware: Intel Core Ultra i9-14900HX (24-core x64 ~2.3GHz), NVIDIA RTX 4090 Laptop GPU, CUDA 13.1, 32GB+ RAM OS: Windows 11 Pro Insider Preview (Build 29531) Primary Use: Development, AI/ML (CUDA workloads), Gaming
- Primary Shell: PowerShell 7.6.0-preview.6 (default
pwsh) with Starship prompt - Stable Shell: PowerShell 7.5.4 (
"C:\Program Files\PowerShell\7\pwsh.exe") - Profile:
~/OneDrive/Documents/PowerShell/Microsoft.PowerShell_profile.ps1 - Profile Cache: Cached init scripts at
$env:LOCALAPPDATA\powershell-cachefor faster startup- Run
Update-ShellCacheafter updating Starship or Zoxide
- Run
- Terminal: WezTerm (cross-platform config at
~/.config/wezterm/wezterm.lua) - PSReadLine: Enhanced with predictive IntelliSense (ListView, HistoryAndPlugin)
- Git Bash: Available separately with Starship prompt (
.bashrcin home dir)
| Standard | Replacement | Alias |
|---|---|---|
ls |
eza |
ls, ll (detailed), lt (tree), la |
cat |
bat |
cat |
grep |
rg (ripgrep) |
grep |
find |
fd |
find |
cd |
z (zoxide) |
learned frecency |
| history | atuin |
Ctrl+R search, synced DB |
- Config:
~/.config/atuin/config.toml - Data:
$env:LOCALAPPDATA\atuin\(history.db, records.db) - Sync: Disabled (
auto_sync = false, no sync server) — fully offline - Search mode: Fuzzy, compact UI, vim-insert keymap
- Keybinding:
Ctrl+Rin PowerShell (up arrow left to PSReadLine) - Secrets filter: Enabled — auto-redacts secrets from history
- Imported history: PowerShell (PSReadLine) + Bash
- Import more:
atuin import <shell>(supports zsh, bash, fish, nu, powershell) - Cache: Init script cached at
$env:LOCALAPPDATA\powershell-cache\atuin-init.ps1- Regenerated via
Update-ShellCache
- Regenerated via
Predictive IntelliSense - Gray suggestions as you type, powered by command history
| Key | Action |
|---|---|
Tab |
Menu complete with suggestions |
↑/↓ |
History search (filters by what you've typed) |
F2 |
Toggle between inline/list prediction view |
Ctrl+R |
Atuin history search (FZF fallback if Atuin unavailable) |
CompletionPredictor: Installed — provides syntax-aware tab completions alongside history predictions
gs = git status
gd = git diff
ga = git add
gc = git commit
gp = git push
gl = git log --oneline -20
gco = git checkout
OpenSSH: Windows built-in (OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2)
- Path:
C:\Windows\System32\OpenSSH\ - Key:
~/.ssh/id_ed25519(Ed25519) - Config:
~/.ssh/config - ssh-agent: Windows service, startup type Automatic (persists keys across reboots)
- Git SSH: Configured to use Windows OpenSSH (
core.sshCommand = C:/Windows/System32/OpenSSH/ssh.exe)
Note: Git for Windows bundles a separate older OpenSSH at C:\Program Files\Git\usr\bin\ssh.exe. The core.sshCommand override ensures Git uses the Windows agent-backed SSH instead.
GitHub CLI is used as the global credential helper for HTTPS remotes:
credential.helper = !/c/Program\ Files/GitHub\ CLI/gh.exe auth git-credential
- Set via:
gh auth setup-gitor manually in~/.gitconfig - Requires:
gh auth login(token stored in Windows keyring) - Note: Git for Windows ships with Git Credential Manager (GCM) at
/usr/local/share/gcm-core/git-credential-manager, but this path doesn't exist on all machines. If HTTPS pushes fail with "could not read Username", fix with:git config --global --replace-all credential.helper '!/c/Program\ Files/GitHub\ CLI/gh.exe auth git-credential'
- Key type: Ed25519 (GnuPG 2.4.9,
gpg.format = openpgp) - Signing:
commit.gpgsign = true(all commits signed automatically) - GitHub: Public key uploaded as "kecovo (ARM laptop)"
- Keyring:
~/.gnupg/(machine-local, not synced via chezmoi)
Primary: VS Code with GitHub Copilot
- Set as default via
$env:EDITOR = "code"
Neovim 0.11.6
- Installed at:
C:\Program Files\Neovim\bin\nvim.exe - Config:
~/.config/nvim/(cross-platform, managed by chezmoi) - Plugin manager: lazy.nvim (42 plugins)
- LSP: Mason with auto-installed servers (lua_ls, ts_ls, pyright, jdtls, kotlin_language_server)
- Tools: prettier, stylua, black, eslint_d, ruff, shellcheck (via mason-tool-installer)
- Theme: Tokyo Night, statusline: lualine, Git: neogit + gitsigns + diffview
- DAP: JS/TS (pwa-node), Python (debugpy), with dap-ui
- Open with:
nvim <file>
Ollama - Local LLMs on GPU
- Installed at:
C:\Users\excel\AppData\Local\Programs\Ollama\ollama.exe - Installed models: llama3.2:3b, deepseek-r1:7b, qwen2.5-coder:7b
- Commands:
ollama run <model> # Chat with a model ollama pull <model> # Download/update a model ollama list # View installed models
| Path | Purpose |
|---|---|
~/productionize/ |
Windows setup scripts (currently empty) |
~/scripts/ |
Maintenance scripts (maintenance.ps1, cleanup-temp.ps1, check-updates.ps1) |
~/.config/ |
XDG-style app configs |
Primary: winget (Windows Package Manager)
winget search <package>
winget install <package>
winget upgrade <package>
winget upgrade --all # Update all packagesNote: Chocolatey and Scoop are not currently installed. Modern CLI tools (eza, bat, fd, rg, starship, zoxide, atuin) installed via winget.
Git Bash Environment (audited 2026-02-25):
- Git: 2.53.0
- Node: 24.14.0 LTS via fnm 1.38.1 (
fnm install 24,fnm use 24) - Python: 3.14.3 (
python), 3.14.0 (python3) - GitHub CLI: 2.87.3
- Prompt: starship 1.24.2
- History: Atuin 18.12.1 (fuzzy
Ctrl-R, up-arrow search) - Docker: Docker Desktop (start manually, not on PATH without it)
- CLI tools: eza 0.23.4, bat 0.26.1, fd 10.3.0, ripgrep 15.1.0, fzf 0.68.0 (not shell-integrated), zoxide 0.9.9, lazygit 0.59.0
- Policy: even LTS Node only
WSL2: Ubuntu available via WSL2
wslMaintenance
System cleanup (run as Administrator):
# Dry run first
& ~/scripts/maintenance.ps1 -DryRun
# Full cleanup
& ~/scripts/maintenance.ps1Options: -SkipGaming, -SkipDev, -SkipBrowsers
Scheduled Tasks:
Workstation Temp Cleanup- Weekly on Sundays at 10:00 AM (user temp, browser/dev caches)Workstation Update Check- Weekly on Saturdays at 9:00 AM (checks for winget updates)- Note: Full maintenance task not yet scheduled (use
~/scripts/create-maintenance-task-v2.ps1to create)
Setup Scripts: The ~/productionize/ directory exists but is currently empty. Setup scripts can be added here for future system provisioning.
Git Bash Environment (audited 2026-02-28):
- Git: 2.53.0
- Node: 24.13.0 LTS via fnm
- Python: 3.12.10 (system), 3.14 (ARM build)
- Java: 21 (Temurin) via winget
- Rust: 1.93.1 (stable) via rustup
- mise runtimes: bun 1.3.10, deno 2.7.1, go 1.26.0, zig 0.15.2
- GitHub CLI: 2.87.3
- Prompt: starship 1.24.2
- GPU: NVIDIA RTX 4090 Laptop GPU, CUDA 13.1, driver 591.86
- Ollama: 0.17.4 (local LLMs on GPU)
- Docker: Docker Desktop
- uv: 0.10.7
Repos:
~/dotfiles/— chezmoi source (HTTPS)~/wezterm-config/— WezTerm config (HTTPS)~/minecraft-server/— Minecraft server project (HTTPS)