# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview ROMFASTSQL is an infrastructure and database management project for ROMFAST, featuring: - Proxmox virtualization cluster (3 nodes: pve1, pvemini, pveelite) - Oracle Database XE 21c with migration support from Oracle 10g - AI chatbot system (Flowise + Claude) - Disaster recovery infrastructure ## Repository Structure ``` proxmox/ # Main infrastructure documentation ├── README.md # Master index - START HERE ├── cluster/ # Proxmox cluster, UPS, storage management ├── lxc104-flowise/ # AI Chatbot (Flowise on port 3000) ├── lxc108-oracle/ # Oracle XE 21c/18c Database (port 1521/1522) ├── lxc171-claude-agent/ # Claude Code development environment ├── vm109-windows-dr/ # Windows Disaster Recovery VM └── vm201-windows/ # Windows 11 (IIS reverse proxy) system_instructions/ # SQL migration guidelines and knowledge base ├── system_prompt.md # SQL migration rules - READ BEFORE WRITING SQL └── knowledge_base/ # Example scripts and PACK_MIGRARE.pck scripts/ # Python utilities ├── generare_proces_verbal.py # Generate assembly minutes (DOCX) └── verificare_voturi_AG.py # Verify assembly votes input/ # Oracle DMP files for import ``` ## Key Documentation Entry Points - **Infrastructure overview**: `proxmox/README.md` - **SQL migration guidelines**: `system_instructions/system_prompt.md` (always read before generating migration SQL) - **Oracle database setup**: `proxmox/lxc108-oracle/README.md` - **Migration orchestration**: `proxmox/lxc108-oracle/migration/00-MASTER-MIGRATION.sh` - **Chatbot architecture**: `proxmox/lxc104-flowise/docs/prd.md` - **Disaster recovery**: `proxmox/vm109-windows-dr/README.md` ## Infrastructure Commands ### Proxmox Cluster ```bash ssh root@10.0.20.201 "pvecm status" # Cluster status ssh root@10.0.20.201 "pct list" # List LXC containers ssh root@10.0.20.201 "qm list" # List VMs ``` ### Oracle Database (LXC 108) ```bash pct exec 108 -- docker exec -it oracle-xe sqlplus / as sysdba pct exec 108 -- docker restart oracle-xe ``` ### Flowise Chatbot (LXC 104) ```bash pct exec 104 -- systemctl status flowise pct exec 104 -- systemctl restart flowise pct exec 104 -- journalctl -u flowise -f ``` ### Validation Scripts ```bash # UPS monthly test proxmox/cluster/ups/scripts/ups-monthly-test.sh # SSL certificate monitoring proxmox/vm201-windows/scripts/monitor-ssl-certificates.sh # Oracle backup monitoring proxmox/vm109-windows-dr/scripts/oracle-backup-monitor-proxmox.sh ``` ## Network Layout | Service | IP Address | Port | Purpose | |---------|-----------|------|---------| | pvemini (main host) | 10.0.20.201 | 8006 | Proxmox GUI | | Oracle XE 21c | 10.0.20.121 | 1521 | Production database | | Oracle XE 18c | 10.0.20.121 | 1522 | Export compatibility (TSTZ 31) | | Flowise | 10.0.20.161 | 3000 | Chatbot UI | | Gitea | 10.0.20.165 | 3000 | Git server | | Claude Agent | 10.0.20.171 | 22 | Development (also via Tailscale: 100.95.55.51) | | Primary Oracle | 10.0.20.36 | 1521 | Windows production | | DR Oracle | 10.0.20.37 | 1521 | Disaster recovery | ## SQL Migration Conventions When writing Oracle migration scripts, follow the naming convention: ``` ff_YYYY_MM_DD_##_TYPE.sql ``` Where TYPE is: DDL, DML, VIEW, PACK, TRIG, etc. Always reference `system_instructions/system_prompt.md` for: - Oracle 10g compatibility requirements - PACK_MIGRARE package usage - Migration script patterns and examples ## Custom Claude Code Commands - `/ultimate_validate_command` - Generate comprehensive validation commands - `/plan-handover` - Save implementation plan for session handover - `/branch-plan-handover` - Create branch and save plan - `/context-handover` - Save context for next session ## Git Workflow - Remote: `http://gitea:3000/romfast/ROMFASTSQL.git` - Main branch: `master` - Feature branches merged directly to master