From c5936791d09acd9e3152eb401964c6d89485efb0 Mon Sep 17 00:00:00 2001 From: Marius Date: Tue, 27 Jan 2026 17:54:17 +0200 Subject: [PATCH] Rename claude-agent to lxc171-claude-agent with full setup documentation - Rename proxmox/claude-agent/ to proxmox/lxc171-claude-agent/ - Move scripts to scripts/ subdirectory - Add complete installation guide for new LXC from scratch - Update proxmox/README.md with LXC 171 documentation and navigation - Add LXC 171 to containers table - Remove .serena/project.yml Co-Authored-By: Claude Opus 4.5 --- .serena/project.yml | 2 - proxmox/README.md | 46 ++- proxmox/claude-agent/README.md | 202 ---------- proxmox/lxc171-claude-agent/README.md | 370 ++++++++++++++++++ .../scripts}/finish-task.sh | 0 .../scripts}/new-task.sh | 0 .../scripts}/start-agent.sh | 0 .../scripts}/work.sh | 0 8 files changed, 413 insertions(+), 207 deletions(-) delete mode 100644 .serena/project.yml delete mode 100644 proxmox/claude-agent/README.md create mode 100644 proxmox/lxc171-claude-agent/README.md rename proxmox/{claude-agent => lxc171-claude-agent/scripts}/finish-task.sh (100%) rename proxmox/{claude-agent => lxc171-claude-agent/scripts}/new-task.sh (100%) rename proxmox/{claude-agent => lxc171-claude-agent/scripts}/start-agent.sh (100%) rename proxmox/{claude-agent => lxc171-claude-agent/scripts}/work.sh (100%) diff --git a/.serena/project.yml b/.serena/project.yml deleted file mode 100644 index cb8287c..0000000 --- a/.serena/project.yml +++ /dev/null @@ -1,2 +0,0 @@ -project_name: ROMFASTSQL -language: pl/sql \ No newline at end of file diff --git a/proxmox/README.md b/proxmox/README.md index 9964489..5ef5509 100644 --- a/proxmox/README.md +++ b/proxmox/README.md @@ -56,9 +56,13 @@ proxmox/ │ ├── check-ssl-certificates.ps1 │ └── monitor-ssl-certificates.sh │ -└── claude-agent/ # Scripturi Claude Agent - ├── README.md - └── *.sh +└── lxc171-claude-agent/ # LXC 171 - Claude Agent (Development) + ├── README.md # Configurare, conectare, workflow + └── scripts/ + ├── start-agent.sh # Pornire sesiune tmux + ├── work.sh # Meniu interactiv workflow + ├── new-task.sh # Creare branch nou + └── finish-task.sh # Finalizare task (commit+push) ``` --- @@ -142,6 +146,35 @@ sqlplus sys/romfastsoft@10.0.20.121:1521/roa as sysdba --- +### LXC 171 - Claude Agent (Development Environment) +**Director:** `lxc171-claude-agent/` +**IP:** 10.0.20.171 (intern) | 100.95.55.51 (Tailscale) | **Host:** pveelite + +| Fișier | Descriere | +|--------|-----------| +| `README.md` | Configurare completă, conectare SSH, workflow | +| `scripts/start-agent.sh` | Pornire/atașare sesiune tmux | +| `scripts/work.sh` | Meniu interactiv pentru workflow Git | +| `scripts/new-task.sh` | Creare branch nou pentru task | +| `scripts/finish-task.sh` | Finalizare task (commit + push) | + +**Quick Start:** +```bash +# Conectare (rețea internă) +ssh claude@10.0.20.171 + +# Conectare (Tailscale - de pe telefon/exterior) +ssh claude@100.95.55.51 + +# Pornire workflow +~/start-agent.sh # pornește tmux +~/work.sh # meniu interactiv +``` + +**Componente:** Ubuntu 24.04, Node.js v20, Claude Code, tmux, Git, Tailscale + +--- + ### VM 109 - Windows Standby (Disaster Recovery) **Director:** `vm109-windows-dr/` **Rol:** Backup Oracle database de pe server extern Windows (RMAN) @@ -209,6 +242,7 @@ echo | openssl s_client -connect roa.romfast.ro:443 -servername roa.romfast.ro 2 | **104** | **flowise** | **10.0.20.161** | **Flowise AI (Chatbot Maria)** | **`lxc104-flowise/`** | | 106 | gitea | 10.0.20.165 | Git Server | `cluster/README.md` | | **108** | **central-oracle** | **10.0.20.121** | **Oracle XE 21c** | **`lxc108-oracle/`** | +| **171** | **claude-agent** | **10.0.20.171** | **Claude Code Dev Environment** | **`lxc171-claude-agent/`** | ### Virtual Machines | VMID | Nume | OS | Documentație | @@ -251,6 +285,12 @@ echo | openssl s_client -connect roa.romfast.ro:443 -servername roa.romfast.ro 2 - **Rezolv probleme VM locked** → `vm201-windows/docs/vm201-troubleshooting-backup-nfs.md` - **Informații generale** → `vm201-windows/README.md` +### Claude Agent (LXC 171) +- **Configurare și conectare** → `lxc171-claude-agent/README.md` +- **Workflow dezvoltare** → `lxc171-claude-agent/README.md` → "Workflow Complet" +- **Scripturi workflow** → `lxc171-claude-agent/scripts/` +- **Troubleshooting** → `lxc171-claude-agent/README.md` → "Troubleshooting" + --- ## Servicii Web diff --git a/proxmox/claude-agent/README.md b/proxmox/claude-agent/README.md deleted file mode 100644 index 4c39b6e..0000000 --- a/proxmox/claude-agent/README.md +++ /dev/null @@ -1,202 +0,0 @@ -# Claude Agent LXC - Documentație - -## Informații Container - -| Parametru | Valoare | -|-----------|---------| -| VMID | 171 | -| Hostname | claude-agent | -| IP intern | 10.0.20.171 | -| IP Tailscale | 100.95.55.51 | -| Host Proxmox | pveelite (10.0.20.202) | -| User | claude | -| Storage | local-zfs (32GB) | -| RAM | 4GB | -| CPU | 2 cores | - -## Componente Instalate - -- Ubuntu 24.04 LTS -- Node.js v20.x (via nvm) -- Claude Code -- tmux -- Git (configurat pentru Gitea) -- Tailscale - -## Conectare - -### De pe calculator (rețea internă) -```bash -ssh claude@10.0.20.171 -``` - -### De pe telefon/exterior (Tailscale) -```bash -ssh claude@100.95.55.51 -``` - -### VS Code Remote SSH -Config în `~/.ssh/config`: -``` -Host claude-agent - HostName 10.0.20.171 - User claude -``` - -## Scripturi Workflow - -### start-agent.sh -Pornește sau se atașează la sesiunea tmux "agent". - -```bash -~/start-agent.sh -``` - -### work.sh (recomandat) -Meniu interactiv pentru workflow complet: -- Listează proiectele disponibile în /workspace -- Permite crearea de branch-uri noi -- Continuarea pe branch-uri existente -- Finalizare task (commit + push) -- Vizualizare branch-uri - -```bash -~/work.sh -``` - -### new-task.sh -Creează branch nou pentru un task (hardcodat pentru romfastsql). - -```bash -~/new-task.sh fix/nume-bug -``` - -### finish-task.sh -Finalizează task-ul curent (commit + push). - -```bash -~/finish-task.sh -``` - -## Workflow Complet - -### De pe telefon (JuiceSSH + Tailscale) - -1. Conectează-te la `100.95.55.51` cu user `claude` -2. Rulează: -```bash -~/start-agent.sh # pornește tmux -~/work.sh # meniu interactiv -``` -3. Alege proiectul -4. Alege acțiunea (task nou / continuă / finalizează) -5. Lucrează cu Claude Code -6. Când termini: `~/work.sh` → opțiunea 3 (finalizează) - -### De pe calculator (VS Code) - -1. VS Code → Remote SSH → `claude-agent` -2. Open Folder → `/workspace/` -3. Terminal → `source ~/.nvm/nvm.sh && claude` - -## Structura Directoare pe LXC - -``` -/home/claude/ -├── .ssh/ -│ ├── authorized_keys # Chei SSH pentru acces -│ ├── gitea_ed25519 # Cheie pentru Gitea -│ └── config # Config SSH pentru Gitea -├── .nvm/ # Node Version Manager -├── .claude/ -│ └── settings.json # Permisiuni Claude Code -├── .tmux.conf # Configurare tmux -├── start-agent.sh -> /workspace/start-agent.sh -└── work.sh -> /workspace/work.sh - -/workspace/ -├── start-agent.sh # Script pornire tmux -├── work.sh # Script workflow interactiv -├── new-task.sh # Script creare branch -├── finish-task.sh # Script finalizare task -├── CLAUDE.md # Info agent -├── SETUP-COMPLETE.md # Documentație setup -├── romfastsql/ # Proiect clonat -└── test/ # Alte proiecte -``` - -## Comenzi tmux Utile - -| Comandă | Acțiune | -|---------|---------| -| `Ctrl+A, d` | Detașare din sesiune | -| `Ctrl+A, c` | Fereastră nouă | -| `Ctrl+A, n` | Fereastră următoare | -| `Ctrl+A, p` | Fereastră anterioară | -| `Ctrl+A, [` | Mod scroll (q pentru ieșire) | -| `tmux attach -t agent` | Reatașare la sesiune | -| `tmux ls` | Listare sesiuni | - -## Git / Gitea - -### Clonare proiect nou -```bash -cd /workspace -git clone git@gitea.romfast.ro:romfast/.git -``` - -### Workflow branch-uri -```bash -git checkout main -git pull -git checkout -b feature/nume-feature -# ... lucrezi ... -git add . -git commit -m "descriere" -git push -u origin feature/nume-feature -# Creează Pull Request în Gitea -``` - -## Troubleshooting - -### Claude Code nu pornește -```bash -source ~/.nvm/nvm.sh -which claude -claude --version -``` - -### tmux nu găsește sesiunea -```bash -tmux ls -tmux new -s agent -c /workspace -``` - -### Git clone eșuează -```bash -# Testează conexiunea SSH la Gitea -ssh -T git@gitea.romfast.ro -``` - -### Tailscale nu funcționează -```bash -sudo systemctl status tailscaled -sudo tailscale status -tailscale ip -``` - -## Instalare pe LXC nou - -Scripturile pot fi copiate pe un LXC nou: - -```bash -scp proxmox/claude-agent/*.sh claude@:/workspace/ -ssh claude@ "chmod +x /workspace/*.sh" -ssh claude@ "ln -s /workspace/start-agent.sh ~/start-agent.sh" -ssh claude@ "ln -s /workspace/work.sh ~/work.sh" -``` - ---- - -**Data setup:** 2025-12-31 -**Ultima actualizare:** 2025-12-31 diff --git a/proxmox/lxc171-claude-agent/README.md b/proxmox/lxc171-claude-agent/README.md new file mode 100644 index 0000000..3e79689 --- /dev/null +++ b/proxmox/lxc171-claude-agent/README.md @@ -0,0 +1,370 @@ +# LXC 171 - Claude Agent (Development Environment) + +**Director:** `proxmox/lxc171-claude-agent/` +**VMID:** 171 +**IP:** 10.0.20.171 (intern) | 100.95.55.51 (Tailscale) +**Host Proxmox:** pveelite (10.0.20.202) +**Rol:** Mediu de dezvoltare izolat pentru Claude Code + +--- + +## Scripturi Disponibile + +| Script | Descriere | +|--------|-----------| +| `scripts/start-agent.sh` | Pornește/atașează sesiune tmux "agent" | +| `scripts/work.sh` | Meniu interactiv pentru workflow complet | +| `scripts/new-task.sh` | Creează branch nou pentru task | +| `scripts/finish-task.sh` | Finalizează task (commit + push) | + +--- + +## Informații Container + +| Parametru | Valoare | +|-----------|---------| +| VMID | 171 | +| Hostname | claude-agent | +| IP intern | 10.0.20.171 | +| IP Tailscale | 100.95.55.51 | +| Host Proxmox | pveelite (10.0.20.202) | +| User | claude | +| Storage | local-zfs (32GB) | +| RAM | 4GB | +| CPU | 2 cores | + +## Componente Instalate + +- Ubuntu 24.04 LTS +- Node.js v20.x (via nvm) +- Claude Code +- tmux +- Git (configurat pentru Gitea) +- Tailscale + +## Conectare + +### De pe calculator (rețea internă) +```bash +ssh claude@10.0.20.171 +``` + +### De pe telefon/exterior (Tailscale) +```bash +ssh claude@100.95.55.51 +``` + +### VS Code Remote SSH +Config în `~/.ssh/config`: +``` +Host claude-agent + HostName 10.0.20.171 + User claude +``` + +## Scripturi Workflow + +### start-agent.sh +Pornește sau se atașează la sesiunea tmux "agent". + +```bash +~/start-agent.sh +``` + +### work.sh (recomandat) +Meniu interactiv pentru workflow complet: +- Listează proiectele disponibile în /workspace +- Permite crearea de branch-uri noi +- Continuarea pe branch-uri existente +- Finalizare task (commit + push) +- Vizualizare branch-uri + +```bash +~/work.sh +``` + +### new-task.sh +Creează branch nou pentru un task (hardcodat pentru romfastsql). + +```bash +~/new-task.sh fix/nume-bug +``` + +### finish-task.sh +Finalizează task-ul curent (commit + push). + +```bash +~/finish-task.sh +``` + +## Workflow Complet + +### De pe telefon (JuiceSSH + Tailscale) + +1. Conectează-te la `100.95.55.51` cu user `claude` +2. Rulează: +```bash +~/start-agent.sh # pornește tmux +~/work.sh # meniu interactiv +``` +3. Alege proiectul +4. Alege acțiunea (task nou / continuă / finalizează) +5. Lucrează cu Claude Code +6. Când termini: `~/work.sh` → opțiunea 3 (finalizează) + +### De pe calculator (VS Code) + +1. VS Code → Remote SSH → `claude-agent` +2. Open Folder → `/workspace/` +3. Terminal → `source ~/.nvm/nvm.sh && claude` + +## Structura Directoare pe LXC + +``` +/home/claude/ +├── .ssh/ +│ ├── authorized_keys # Chei SSH pentru acces +│ ├── gitea_ed25519 # Cheie pentru Gitea +│ └── config # Config SSH pentru Gitea +├── .nvm/ # Node Version Manager +├── .claude/ +│ └── settings.json # Permisiuni Claude Code +├── .tmux.conf # Configurare tmux +├── start-agent.sh -> /workspace/start-agent.sh +└── work.sh -> /workspace/work.sh + +/workspace/ +├── start-agent.sh # Script pornire tmux +├── work.sh # Script workflow interactiv +├── new-task.sh # Script creare branch +├── finish-task.sh # Script finalizare task +├── CLAUDE.md # Info agent +├── SETUP-COMPLETE.md # Documentație setup +├── romfastsql/ # Proiect clonat +└── test/ # Alte proiecte +``` + +## Comenzi tmux Utile + +| Comandă | Acțiune | +|---------|---------| +| `Ctrl+A, d` | Detașare din sesiune | +| `Ctrl+A, c` | Fereastră nouă | +| `Ctrl+A, n` | Fereastră următoare | +| `Ctrl+A, p` | Fereastră anterioară | +| `Ctrl+A, [` | Mod scroll (q pentru ieșire) | +| `tmux attach -t agent` | Reatașare la sesiune | +| `tmux ls` | Listare sesiuni | + +## Git / Gitea + +### Clonare proiect nou +```bash +cd /workspace +git clone git@gitea.romfast.ro:romfast/.git +``` + +### Workflow branch-uri +```bash +git checkout main +git pull +git checkout -b feature/nume-feature +# ... lucrezi ... +git add . +git commit -m "descriere" +git push -u origin feature/nume-feature +# Creează Pull Request în Gitea +``` + +## Troubleshooting + +### Claude Code nu pornește +```bash +source ~/.nvm/nvm.sh +which claude +claude --version +``` + +### tmux nu găsește sesiunea +```bash +tmux ls +tmux new -s agent -c /workspace +``` + +### Git clone eșuează +```bash +# Testează conexiunea SSH la Gitea +ssh -T git@gitea.romfast.ro +``` + +### Tailscale nu funcționează +```bash +sudo systemctl status tailscaled +sudo tailscale status +tailscale ip +``` + +## Instalare Claude Code pe LXC nou (de la zero) + +### 1. Creare LXC în Proxmox +```bash +# Pe Proxmox host (ex: pveelite) +pct create local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst \ + --hostname claude-agent \ + --memory 4096 \ + --cores 2 \ + --rootfs local-zfs:32 \ + --net0 name=eth0,bridge=vmbr0,ip=dhcp \ + --features nesting=1 \ + --unprivileged 1 + +pct start +pct enter +``` + +### 2. Setup sistem (ca root în LXC) +```bash +# Update și pachete de bază +apt update && apt upgrade -y +apt install -y curl git tmux sudo + +# Creare user claude +useradd -m -s /bin/bash claude +echo "claude ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/claude +passwd claude # setează parola + +# Creare /workspace +mkdir -p /workspace +chown claude:claude /workspace +``` + +### 3. Setup user claude +```bash +su - claude + +# Instalare nvm + Node.js +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash +source ~/.bashrc +nvm install 20 +nvm use 20 +nvm alias default 20 + +# Instalare Claude Code +npm install -g @anthropic-ai/claude-code + +# Verificare +claude --version +``` + +### 4. Configurare Claude Code +```bash +mkdir -p ~/.claude +cat > ~/.claude/settings.json << 'EOF' +{ + "permissions": { + "allow": [ + "Bash(git *)", + "Bash(npm *)", + "Bash(node *)", + "Read", + "Write", + "Edit" + ], + "deny": [] + } +} +EOF +``` + +### 5. Configurare tmux +```bash +cat > ~/.tmux.conf << 'EOF' +set -g prefix C-a +unbind C-b +bind C-a send-prefix +set -g mouse on +set -g history-limit 50000 +set -g default-terminal "screen-256color" +EOF +``` + +### 6. Configurare Git + SSH pentru Gitea +```bash +# Generare cheie SSH +ssh-keygen -t ed25519 -f ~/.ssh/gitea_ed25519 -N "" + +# Config SSH +cat > ~/.ssh/config << 'EOF' +Host gitea.romfast.ro + HostName gitea.romfast.ro + User git + IdentityFile ~/.ssh/gitea_ed25519 + IdentitiesOnly yes +EOF +chmod 600 ~/.ssh/config + +# Afișează cheia publică (adaug-o în Gitea → Settings → SSH Keys) +cat ~/.ssh/gitea_ed25519.pub + +# Config Git +git config --global user.name "Claude Agent" +git config --global user.email "claude@romfast.ro" +git config --global init.defaultBranch main +``` + +### 7. Instalare scripturi workflow +```bash +cd /workspace + +# Copiază scripturile din acest repo (de pe mașina locală) +# SAU creează-le manual conform secțiunii "Scripturi Disponibile" + +# Creare symlink-uri +ln -s /workspace/start-agent.sh ~/start-agent.sh +ln -s /workspace/work.sh ~/work.sh + +chmod +x /workspace/*.sh +``` + +### 8. (Opțional) Instalare Tailscale +```bash +curl -fsSL https://tailscale.com/install.sh | sh +sudo tailscale up +# Autentifică-te cu contul Tailscale +tailscale ip # notează IP-ul +``` + +### 9. Clonare proiecte +```bash +cd /workspace +git clone git@gitea.romfast.ro:romfast/romfastsql.git +# alte proiecte... +``` + +### 10. Test final +```bash +~/start-agent.sh +# În tmux: +source ~/.nvm/nvm.sh +claude --version +~/work.sh +``` + +### Copiere rapidă scripturi (dacă ai alt LXC configurat) +```bash +# De pe mașina locală +scp proxmox/lxc171-claude-agent/scripts/*.sh claude@:/workspace/ +ssh claude@ "chmod +x /workspace/*.sh && ln -sf /workspace/start-agent.sh ~/start-agent.sh && ln -sf /workspace/work.sh ~/work.sh" +``` + +--- + +## Legături Utile + +- **Proxmox Index:** `../README.md` +- **Gitea:** https://gitea.romfast.ro + +--- + +**Data setup:** 2025-12-31 +**Ultima actualizare:** 2026-01-27 diff --git a/proxmox/claude-agent/finish-task.sh b/proxmox/lxc171-claude-agent/scripts/finish-task.sh similarity index 100% rename from proxmox/claude-agent/finish-task.sh rename to proxmox/lxc171-claude-agent/scripts/finish-task.sh diff --git a/proxmox/claude-agent/new-task.sh b/proxmox/lxc171-claude-agent/scripts/new-task.sh similarity index 100% rename from proxmox/claude-agent/new-task.sh rename to proxmox/lxc171-claude-agent/scripts/new-task.sh diff --git a/proxmox/claude-agent/start-agent.sh b/proxmox/lxc171-claude-agent/scripts/start-agent.sh similarity index 100% rename from proxmox/claude-agent/start-agent.sh rename to proxmox/lxc171-claude-agent/scripts/start-agent.sh diff --git a/proxmox/claude-agent/work.sh b/proxmox/lxc171-claude-agent/scripts/work.sh similarity index 100% rename from proxmox/claude-agent/work.sh rename to proxmox/lxc171-claude-agent/scripts/work.sh