174 lines
2.9 KiB
Markdown
174 lines
2.9 KiB
Markdown
# SMAVS
|
|
|
|
> **SMAVS (Su Misura Al Vostro Sistema)**
|
|
> Il Composition Engine proprietario sviluppato da **Spiral**.
|
|
|
|
---
|
|
|
|
## Cos'è SMAVS
|
|
|
|
SMAVS è un **Composition Engine deterministico** progettato per trasformare una specifica strutturata in un artefatto software completo attraverso una pipeline di composizione modulare.
|
|
|
|
Il framework non genera semplicemente codice e non è un template engine o un website builder.
|
|
|
|
SMAVS analizza una specifica, seleziona i moduli compatibili, risolve automaticamente le dipendenze, costruisce un piano di esecuzione e compone l'artefatto finale in maniera completamente deterministica.
|
|
|
|
---
|
|
|
|
## Principi
|
|
|
|
L'intera architettura del framework è basata sui seguenti principi:
|
|
|
|
- Determinismo
|
|
- Modularità
|
|
- Composition over Inheritance
|
|
- Domain-Driven Design (DDD)
|
|
- Clean Architecture
|
|
- Layer Isolation
|
|
- Dependency Inversion
|
|
- Immutabilità
|
|
|
|
---
|
|
|
|
## Architettura
|
|
|
|
La pipeline di composizione segue l'architettura definita nella Software Architecture Specification (SAS).
|
|
|
|
```text
|
|
JSON
|
|
│
|
|
▼
|
|
FastAPI
|
|
│
|
|
▼
|
|
Application
|
|
│
|
|
▼
|
|
SMAVSEngine
|
|
│
|
|
▼
|
|
Analysis
|
|
│
|
|
▼
|
|
Knowledge
|
|
│
|
|
▼
|
|
Composition
|
|
│
|
|
▼
|
|
Artifact
|
|
```
|
|
|
|
Ogni layer comunica esclusivamente attraverso i **Contract** definiti dal framework.
|
|
|
|
---
|
|
|
|
## Struttura della Repository
|
|
|
|
```text
|
|
smavs/
|
|
|
|
├── api/
|
|
├── artifacts/
|
|
├── core/
|
|
├── docs/
|
|
├── examples/
|
|
├── modules/
|
|
├── scripts/
|
|
├── shared/
|
|
├── templates/
|
|
└── tests/
|
|
```
|
|
|
|
---
|
|
|
|
## Obiettivi
|
|
|
|
SMAVS è progettato per:
|
|
|
|
- analizzare una specifica di progetto;
|
|
- costruire il Composition Context;
|
|
- selezionare automaticamente i moduli;
|
|
- risolvere dipendenze e conflitti;
|
|
- generare un Execution Plan;
|
|
- comporre artefatti software riproducibili.
|
|
|
|
A parità di:
|
|
|
|
- specifica;
|
|
- versione del framework;
|
|
- versione dei moduli;
|
|
|
|
SMAVS produrrà sempre lo stesso risultato.
|
|
|
|
---
|
|
|
|
## Stack Tecnologico
|
|
|
|
- Python 3.11+
|
|
- Domain-Driven Design
|
|
- Clean Architecture
|
|
- SOLID
|
|
- Dataclass immutabili
|
|
- Protocol
|
|
- Pydantic v2 (solo API)
|
|
|
|
---
|
|
|
|
## Stato del Progetto
|
|
|
|
Versione corrente
|
|
|
|
```text
|
|
0.1.0
|
|
```
|
|
|
|
Fase corrente
|
|
|
|
```text
|
|
PHASE 0 — Foundation
|
|
```
|
|
|
|
Stato
|
|
|
|
```text
|
|
In sviluppo
|
|
```
|
|
|
|
---
|
|
|
|
## Documentazione
|
|
|
|
La documentazione del progetto è disponibile nella cartella `docs/` ed è organizzata nelle seguenti sezioni:
|
|
|
|
- Architettura
|
|
- Guide
|
|
- API
|
|
- Contract
|
|
- Moduli
|
|
- Esempi
|
|
|
|
---
|
|
|
|
## Licenza
|
|
|
|
SMAVS è un software proprietario sviluppato da **Spiral**.
|
|
|
|
L'utilizzo, la modifica e la distribuzione sono regolati dal file `LICENSE`.
|
|
|
|
---
|
|
|
|
## Repository
|
|
|
|
Repository ufficiale:
|
|
|
|
```
|
|
https://gitea.netbird.smavs.duckdns.org/SMAVS/smavs
|
|
```
|
|
|
|
---
|
|
|
|
## Spiral
|
|
|
|
SMAVS costituisce il motore di composizione alla base dell'ecosistema **Spiral** ed è progettato per consentire la generazione deterministica di artefatti software modulari, estendibili e completamente componibili.
|