Claude Agent f05f4a5516 Reorganizare documentație și adăugare scripturi
- README.md nou cu documentație completă: concept, workflow-uri,
  configurare SSH prin Proxmox, Tailscale, troubleshooting
- CLAUDE.md simplificat - doar reguli pentru mod non-interactiv
- Șters SETUP-COMPLETE.md (conținut mutat în README)
- claudep.sh - script pentru task-uri în background cu logging
- work.sh - actualizat
- .gitignore - adăugat node_modules, Python, IDE, build outputs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 21:04:56 +00:00

Claude Agent - Cloud Development Environment

Container LXC configurat pentru rularea Claude Code în cloud cu sesiuni permanente tmux.

Concept

Acest sistem permite:

  1. Lansezi o sarcină pentru Claude (interactiv sau cu claudep.sh)
  2. Claude lucrează în tmux - sesiunea persistă chiar dacă te deconectezi
  3. Te reconectezi oricând - de pe laptop, telefon, alt calculator
  4. Vezi ce a făcut Claude - revizuiești codul, testezi, dai feedback
  5. Push în Gitea - când ești mulțumit cu rezultatul

Poți lansa un task dimineața, Claude lucrează toată ziua, iar seara te conectezi de pe alt calculator să vezi progresul.

Informații Sistem

Parametru Valoare
VMID 171
Hostname claude-agent
IP LAN 10.0.20.171
IP Tailscale claude-agent (sau 100.95.55.51)
Gateway 10.0.20.1
Host Proxmox pveelite (10.0.20.202)
User claude
Storage local-zfs (32GB)
RAM 4GB
CPU 2 cores

Data setup: 2025-12-31

Componente Instalate

Component Versiune
Ubuntu 24.04 LTS
Node.js v20.19.6 (via nvm)
Claude Code 2.0.76
tmux 3.4
Git 2.43.0

Conectare SSH

Poți te conecta în două moduri:

# Din rețeaua locală
ssh claude@10.0.20.171

# Prin Tailscale (de oriunde)
ssh claude@claude-agent

Notă: Nu există parolă setată pentru userul claude. Accesul se face doar cu SSH key. Vezi secțiunea "Configurare Acces SSH" pentru instalarea cheii.


Workflow Principal

Varianta 1: Sesiune Interactivă

# 1. Conectare SSH (LAN sau Tailscale)
ssh claude@10.0.20.171      # sau
ssh claude@claude-agent     # prin Tailscale

# 2. Pornire/reatașare sesiune tmux (automat)
~/start-agent.sh

# 3. Navighează în proiect și pornește Claude
cd /workspace/<project>
claude

# 4. Lucrezi cu Claude interactiv...

# 5. Când vrei să pleci - detașare din tmux (sesiunea rămâne activă)
Ctrl+A, d

# 6. Mai târziu - reconectare la sesiune (start-agent.sh reatașează automat)
ssh claude@claude-agent
~/start-agent.sh

Varianta 2: Task în Background

Două scripturi disponibile:

work.sh - Te întreabă interactiv ce proiect și ce task:

ssh claude@claude-agent
/workspace/work.sh
# Răspunzi la întrebări despre proiect și task

claudep.sh - Rulează în directorul curent, creează fișiere independent:

ssh claude@claude-agent
cd /workspace/<project>      # Navighează în proiect
/workspace/claudep.sh "Implementează autentificare JWT"

# SAU din /workspace (fișierele se creează în .claude-work/)
cd /workspace
/workspace/claudep.sh "Cercetează cele mai bune practici pentru API design"

Monitorizare și rezultate:

# Urmărește progresul în timp real
tail -f /workspace/.claude-logs/claude_*_progress.log

# Vezi rezultatele finale
cat /workspace/.claude-logs/claude_*_progress.log

Varianta 3: VS Code Remote

Cea mai convenabilă metodă pentru lucru prelungit - editezi cod, vezi terminal, totul într-un singur loc.

  1. Configurează accesul SSH (vezi secțiunea de mai jos)
  2. Instalează extensia "Remote - SSH" în VS Code
  3. Conectare: Ctrl+Shift+PRemote-SSH: Connect to Host...claude-agent
  4. Deschide terminal în VS Code (`Ctrl+``)
  5. Atașează la sesiunea Claude: ~/start-agent.sh
  6. Lucrezi - editezi fișiere în VS Code, interacționezi cu Claude în terminal

Configurare Acces SSH (Prima dată)

Problema: Nu există parolă setată pentru userul claude în LXC. Accesul se face prin SSH key.

Pas 1: Generează SSH key pe calculatorul tău (dacă nu ai)

# Pe calculatorul tău (Windows PowerShell, Mac/Linux Terminal)
ssh-keygen -t ed25519 -C "your-email@example.com"

# Afișează cheia publică
cat ~/.ssh/id_ed25519.pub
# SAU pe Windows:
type %USERPROFILE%\.ssh\id_ed25519.pub

Copiază cheia publică (linia care începe cu ssh-ed25519 ...).

Pas 2: Adaugă cheia în LXC prin Proxmox

Conectează-te la host-ul Proxmox și adaugă cheia în container:

# 1. SSH pe Proxmox host
ssh root@10.0.20.202    # pveelite

# 2. Intră în containerul LXC (VMID 171)
pct enter 171

# 3. Adaugă cheia publică SSH
echo "ssh-ed25519 AAAA...cheia_ta_aici... your-email@example.com" >> /home/claude/.ssh/authorized_keys

# 4. Verifică permisiunile (ar trebui să fie deja corecte)
chown claude:claude /home/claude/.ssh/authorized_keys
chmod 600 /home/claude/.ssh/authorized_keys

# 5. Ieși din container
exit

# 6. Ieși din Proxmox
exit

Alternativ (fără a intra în container):

# De pe Proxmox host, într-o singură comandă:
ssh root@10.0.20.202

pct exec 171 -- bash -c 'echo "ssh-ed25519 AAAA...cheia_ta... email" >> /home/claude/.ssh/authorized_keys'

Pas 3: Configurează SSH pe calculatorul tău

Adaugă în ~/.ssh/config (sau %USERPROFILE%\.ssh\config pe Windows):

# Acces prin Tailscale (recomandat - funcționează de oriunde)
Host claude-agent
    HostName claude-agent
    User claude
    IdentityFile ~/.ssh/id_ed25519
    ForwardAgent yes

# Acces prin LAN (doar din rețeaua locală)
Host claude-agent-lan
    HostName 10.0.20.171
    User claude
    IdentityFile ~/.ssh/id_ed25519
    ForwardAgent yes

Pas 4: Testează conexiunea

ssh claude@claude-agent
# Ar trebui să te conectezi fără parolă

Comenzi Utile

tmux (Sesiuni Permanente)

~/start-agent.sh           # Pornește SAU reatașează sesiune "agent" (automat)
tmux ls                    # Lista sesiuni active
tmux new -s <nume>         # Sesiune nouă cu alt nume
Ctrl+A, d                  # Detașare (sesiunea continuă în background)
Ctrl+A, c                  # Fereastră nouă în sesiune
Ctrl+A, n                  # Fereastră următoare
Ctrl+A, p                  # Fereastră anterioară
Ctrl+A, [                  # Mod scroll (q pentru ieșire)

Notă: Prefix-ul tmux este Ctrl+A (nu Ctrl+B ca default).

Claude Code

claude                     # Pornire interactivă
claude -p "prompt"         # Mod non-interactiv (pipe mode)

Git - Gitea

git clone git@gitea.romfast.ro:romfast/<repo>.git
git push origin main
ssh -T git@gitea.romfast.ro   # Test conexiune SSH

SSH Key pentru Gitea

Această cheie este deja generată pe server. Trebuie adăugată în Gitea:

  1. Mergi la https://gitea.romfast.ro
  2. Settings → SSH/GPG Keys → Add Key
  3. Paste:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrxEqh5L1SRrZ4f6j04mLaNdr6LJf+xb9EKBvwegeXS claude-agent@romfast.ro

Structura Directoare

/home/claude/
├── .ssh/
│   ├── authorized_keys      # Chei SSH pentru acces (adaugă cheia ta aici)
│   ├── gitea_ed25519        # Key privat pentru Gitea
│   ├── gitea_ed25519.pub    # Key public pentru Gitea
│   └── config               # SSH config pentru Gitea
├── .nvm/                    # Node Version Manager
├── .claude/
│   └── settings.json        # Claude Code permissions
├── .tmux.conf               # Configurare tmux (prefix Ctrl+A)
└── start-agent.sh           # Script helper - pornește/reatașează tmux

/workspace/                  # Director pentru proiecte
├── CLAUDE.md                # Instrucțiuni pentru Claude Code
├── README.md                # Acest fișier
├── claudep.sh               # Task în background (directorul curent)
├── work.sh                  # Task interactiv (întreabă proiectul)
├── .claude-work/            # Fișiere temporare create de claude -p
├── .claude-logs/            # Log-uri pentru task-uri în background
└── <project>/               # Proiectele tale (clone din Gitea)

Scripturi Disponibile

Script Descriere
~/start-agent.sh Pornește sesiune tmux "agent" sau reatașează dacă există
/workspace/work.sh Lansează task - te întreabă interactiv proiectul și descrierea
/workspace/claudep.sh Lansează task în directorul curent, cu logging

Troubleshooting

Nu mă pot conecta SSH (Permission denied)

# Verifică dacă ai cheia SSH instalată
ssh -v claude@claude-agent

# Dacă nu ai acces, trebuie să adaugi cheia prin Proxmox:
ssh root@10.0.20.202
pct enter 171
# ... vezi secțiunea "Configurare Acces SSH"

Claude Code nu pornește

source ~/.nvm/nvm.sh    # Încarcă Node.js
which claude            # Verifică dacă e în PATH
claude --version        # Test

tmux - sesiunea nu există

tmux ls                 # Vezi ce sesiuni există
~/start-agent.sh        # Creează/reatașează sesiune "agent"

Git clone eșuează

ssh -T git@gitea.romfast.ro   # Test conexiune
# Dacă eșuează: verifică că ai adăugat SSH key în Gitea (vezi secțiunea dedicată)

Claude pare blocat / nu răspunde

# În tmux, verifică dacă Claude așteaptă input
# Dacă da, răspunde sau Ctrl+C pentru a opri

# Pentru task-uri în background, verifică log-ul:
tail -f /workspace/.claude-logs/claude_*_progress.log

Tailscale nu rezolvă hostname-ul

# Folosește IP-ul Tailscale direct
tailscale ip claude-agent    # Pe alt device din Tailscale
ssh claude@<ip-rezultat>

# Sau folosește IP-ul LAN dacă ești în rețeaua locală
ssh claude@10.0.20.171

Quick Reference

# Conectare și pornire sesiune (Tailscale)
ssh claude@claude-agent && ~/start-agent.sh

# Conectare și pornire sesiune (LAN)
ssh claude@10.0.20.171 && ~/start-agent.sh

# Lansare task interactiv (te întreabă proiectul)
ssh claude@claude-agent -t "/workspace/work.sh"

# Lansare task în background pentru un proiect
ssh claude@claude-agent -t "cd /workspace/<project> && /workspace/claudep.sh 'descriere task'"

# Verificare log-uri
ssh claude@claude-agent "tail -50 /workspace/.claude-logs/claude_*_progress.log"

Setup realizat cu Claude Code

Description
No description provided
Readme 49 KiB
Languages
Shell 100%