Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions dot_claude/rules/development-principles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
alwaysApply: true
---

# Development Principles

## Test-Driven Development

- Write tests first, then implementation
- Red → Green → Refactor cycle

## Simplicity

- Less code is better code
- Do not add lines without explicit user request
- Avoid over-engineering and premature abstraction

## Modern Practices

- Use latest language features and idioms
- Prefer modern libraries over legacy alternatives
- Stay current with ecosystem best practices

## Honesty

- Do not answer questions with actions
- Do not speculate on specifications — ask or investigate
- Admit uncertainty rather than guessing

## Comments

- Write "why", not "what"
- Only add "what" comments when improving multi-line code readability
- Avoid redundant comments that restate obvious code
28 changes: 14 additions & 14 deletions dot_tmux.conf
Original file line number Diff line number Diff line change
Expand Up @@ -104,23 +104,23 @@ bind u run-shell -b "tmux capture-pane -pS -5000 | grep -oE 'https?://[^[:space:
# key, otherwise C-a still gets captured by the outer tmux.

# F12 in root table switches to "off" mode (disable prefix + switch key-table)
# Visual: subtle dark background with muted pink indicator
# Visual: muted background with pink indicator
# Also disable mouse so events pass through to inner tmux
bind -T root F12 \
set prefix None \; \
set key-table off \; \
set -g mouse off \; \
set status-style "bg=#313244,fg=#6c7086" \; \
set status-left "#[bg=#eba0ac,fg=#1e1e2e,bold] 🔓 PASSTHROUGH #[bg=#313244] " \; \
set status-style "bg=#33467c,fg=#565f89" \; \
set status-left "#[bg=#f7768e,fg=#1a1b26,bold] 🔓 PASSTHROUGH #[bg=#33467c] " \; \
refresh-client -S

# Define the "off" key table - only F12 works to return (restore prefix + key-table)
bind -T off F12 \
set prefix C-a \; \
set key-table root \; \
set -g mouse on \; \
set status-style "bg=#1e1e2e,fg=#cdd6f4" \; \
set status-left "#[bg=#89b4fa,fg=#1e1e2e,bold] #S #[bg=#1e1e2e] " \; \
set status-style "bg=#1a1b26,fg=#c0caf5" \; \
set status-left "#[bg=#7aa2f7,fg=#1a1b26,bold] #S #[bg=#1a1b26] " \; \
refresh-client -S

# When connected via SSH (likely nested inside local tmux), hide status bar
Expand All @@ -131,24 +131,24 @@ if-shell '[ -n "$SSH_TTY" ]' 'set -g status off'
bind S set -g status

# -----------------------------------------------------------------------------
# Status bar - Catppuccin Mocha inspired
# Status bar - Tokyo Night theme
# -----------------------------------------------------------------------------
set -g status-position bottom
set -g status-style "bg=#1e1e2e,fg=#cdd6f4"
set -g status-style "bg=#1a1b26,fg=#c0caf5"

set -g status-left-length 40
set -g status-left "#[bg=#89b4fa,fg=#1e1e2e,bold] #S #[bg=#1e1e2e] "
set -g status-left "#[bg=#7aa2f7,fg=#1a1b26,bold] #S #[bg=#1a1b26] "

set -g status-right-length 60
set -g status-right "#[fg=#a6adc8]%Y-%m-%d #[fg=#cdd6f4]%H:%M #[bg=#a6e3a1,fg=#1e1e2e,bold] #h "
set -g status-right "#[fg=#565f89]%Y-%m-%d #[fg=#c0caf5]%H:%M #[bg=#9ece6a,fg=#1a1b26,bold] #h "

# Window status
setw -g window-status-format "#[fg=#6c7086] #I:#W "
setw -g window-status-current-format "#[bg=#313244,fg=#cdd6f4,bold] #I:#W "
setw -g window-status-format "#[fg=#565f89] #I:#W "
setw -g window-status-current-format "#[bg=#33467c,fg=#c0caf5,bold] #I:#W "

# Pane borders
set -g pane-border-style "fg=#313244"
set -g pane-active-border-style "fg=#89b4fa"
set -g pane-border-style "fg=#33467c"
set -g pane-active-border-style "fg=#7aa2f7"

# Message style
set -g message-style "bg=#313244,fg=#cdd6f4"
set -g message-style "bg=#33467c,fg=#c0caf5"