Quase todo o meu dia acontece numa janela de terminal. É assim que ela está configurada.

O foot abre direto no tmux

O foot é um terminal pequeno e rápido pra Wayland. O meu abre em tela cheia e entra numa sessão do tmux chamada main, ou cria ela se não existir:

[main]
initial-window-mode=fullscreen
shell=tmux new-session -A -s main

Se eu fecho o terminal, é só abrir de novo e volto pra mesma sessão, com cada janela onde eu deixei.

Duas linhas no tmux me dão cores completas e as teclas extras que o foot suporta:

set -as terminal-features ",foot*:RGB:extkeys"
set -s extended-keys on

tmux: as principais mudanças

As mudanças que mais uso:

Tecla ou ajuste O que faz
prefix = Ctrl+a mais fácil de alcançar que Ctrl+b
Alt+1..9 pula pra uma janela sem o prefix
prefix " e prefix % divide o painel, mantendo o mesmo diretório
prefix c janela nova, sempre no meu diretório home
nome da janela o nome do diretório do painel ativo
modo de cópia teclas do Vim, e y copia pro clipboard

Divisões e janelas novas se comportam diferente de propósito. Uma divisão normalmente é pra tarefa em que já estou, então abre no mesmo diretório. Uma janela nova normalmente é pra outra coisa, então começa no meu diretório home.

O layout: uma janela, até quatro sessões

Quase todo o trabalho acontece numa janela, dividida em quatro áreas. Cada área tem o Claude Code num repo em cima, e um shell da mesma tarefa embaixo:

+---------------------------+---------------------------+
| claude (repo A)           | claude (repo B)           |
|                           |                           |
+---------------------------+---------------------------+
| $ kubectl get pod         | $ nvim                    |
+---------------------------+---------------------------+
| claude (repo C)           | claude (repo D)           |
|                           |                           |
+---------------------------+---------------------------+
| $ git diff                | $ tofu plan               |
+---------------------------+---------------------------+

Quando o Claude termina, o shell onde confiro o trabalho está logo abaixo. O prefix z deixa um painel em tela cheia quando um plan ou um diff não cabe.

Só rodo quatro em dias cheios, com até três em tarefas e uma só pra perguntas. Num dia normal, são duas.

O Neovim roda nesses painéis de shell. Nos projetos em que ferramentas de IA são permitidas, o Claude faz um rascunho da mudança, e eu reviso, corrijo e testo no editor ao lado.

Um limite de memória como fusível

Cada sessão do Claude Code roda com um limite de memória definido pelo systemd:

alias claude='systemd-run --user --scope -q -p MemoryHigh=3500M -p MemoryMax=4G -p MemorySwapMax=1G claude'

Na minha máquina, uma sessão nova usa uns 320 MiB, e uma com vinte minutos de trabalho uns 480 MiB. O limite de 4 GiB é umas oito vezes isso, e quatro sessões no limite precisariam de mais memória do que a minha máquina tem. O limite não está ali pra dividir memória entre sessões. Está ali pro caso de uma sessão dar problema: só ela é afetada, e o tmux, o navegador e todo o resto continuam rodando.

Na prática, o que limita quantas sessões eu rodo é o quanto eu consigo revisar.