Questo repository contiene il codice sorgente per "Atlas", un assistente basato su IA progettato per automatizzare il design, il provisioning e il testing di infrastrutture IT. L'obiettivo è trasformare requisiti di alto livello in ambienti funzionanti e documentati, riducendo il lavoro manuale e gli errori.
Stato del Progetto: 🚧 In Sviluppo (MVP) 🚧
La visione di Atlas è quella di agire come un "collega" esperto per i team di Technology & Architecture. L'utente fornisce un file di configurazione con le specifiche desiderate e Atlas si occupa del resto.
Lo sviluppo è suddiviso in due epiche principali:
- 🌳 Epic 1: Provisioning Ex Novo (Greenfield) - Creazione di nuovi ambienti da zero basandosi su specifiche chiare.
- 🏚️ Epic 2: Aggiornamento Esistente (Brownfield) - Analisi e modifica di ambienti già esistenti.
Per una descrizione dettagliata di ogni Epica e delle relative User Story, consulta il documento:
docs/02_functional_specs.md
Per avviare il progetto in locale, segui questi passi.
-
Clona il repository:
git clone <URL_DEL_TUO_REPOSITORY_GIT> cd atlas-ai-project
-
Crea e attiva un ambiente virtuale (consigliato):
# Su Linux/macOS python3 -m venv venv source venv/bin/activate # Su Windows python -m venv venv .\venv\Scripts\activate
-
Installa le dipendenze:
pip install -r requirements.txt
-
Copia il file di configurazione di esempio:
cp config.example.yaml my_first_project.yaml
-
Modifica
my_first_project.yamlper definire l'ambiente che desideri creare. -
Lancia l'assistente AI:
python atlas/main.py --config my_first_project.yaml
L'assistente leggerà il file di configurazione, genererà il playbook Ansible e avvierà il processo di provisioning nella directory workspace/.
atlas/: Codice sorgente principale dell'applicazione.docs/: Documentazione funzionale e di architettura.iac_templates/: Template Jinja2 per la generazione di codice (es. Playbook Ansible).tests/: Test automatici.workspace/: File temporanei e output generati dall'AI.