ci: configura pipeline di integrazione continua
Continuous Integration / Quality Assurance (push) Canceled after 0s

This commit is contained in:
2026-08-06 15:36:53 +02:00
parent 62bc8eb00c
commit a8ad01d04c
3 changed files with 141 additions and 71 deletions
+47
View File
@@ -0,0 +1,47 @@
name: Continuous Integration
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
quality:
name: Quality Assurance
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
- name: Install project
run: |
python -m pip install -e ".[dev]"
- name: Ruff
run: |
python -m ruff check .
python -m ruff format --check .
- name: MyPy
run: |
python -m mypy .
- name: Test & Coverage
run: |
python -m coverage run -m pytest
python -m coverage report
+85 -71
View File
@@ -1,34 +1,40 @@
# SMAVS
> **SMAVS (Su Misura Al Vostro Sistema)**
> The Composition Engine developed by **Spiral**.
> Il Composition Engine proprietario sviluppato da **Spiral**.
---
## Overview
## Cos'è SMAVS
SMAVS is a deterministic composition engine designed to transform structured specifications into complete software artifacts through a modular composition pipeline.
SMAVS è un **Composition Engine deterministico** progettato per trasformare una specifica strutturata in un artefatto software completo attraverso una pipeline di composizione modulare.
Rather than generating code directly, SMAVS analyzes a specification, selects compatible modules, resolves dependencies, builds an execution plan, and composes the final artifact.
Il framework non genera semplicemente codice e non è un template engine o un website builder.
The framework is built around the principles of:
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.
- Deterministic execution
- Modular architecture
- Composition over inheritance
- Domain-Driven Design
---
## 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
- Immutability
- Layer Isolation
- Dependency Inversion
- Immutabilità
---
## Architecture
## Architettura
The composition pipeline follows the architecture defined by the Software Architecture Specification (SAS):
La pipeline di composizione segue l'architettura definita nella Software Architecture Specification (SAS).
```
```text
JSON
@@ -53,13 +59,13 @@ Composition
Artifact
```
Each layer communicates exclusively through Contracts.
Ogni layer comunica esclusivamente attraverso i **Contract** definiti dal framework.
---
## Repository Structure
## Struttura della Repository
```
```text
smavs/
├── api/
@@ -76,84 +82,92 @@ smavs/
---
## Current Status
## Obiettivi
Current version:
SMAVS è progettato per:
```
0.1.0 (Foundation)
```
- 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.
Current implementation phase:
A parità di:
```
PHASE 0 — Foundation
```
- specifica;
- versione del framework;
- versione dei moduli;
Current sprint:
```
Sprint 0.1 — Repository
```
SMAVS produrrà sempre lo stesso risultato.
---
## Project Goals
## Stack Tecnologico
SMAVS aims to provide a deterministic engine capable of:
- analyzing project specifications;
- building composition contexts;
- resolving module dependencies;
- selecting compatible variants;
- composing software artifacts;
- producing reproducible outputs.
Given the same:
- specification;
- framework version;
- module versions;
SMAVS always produces the same artifact.
---
## Technology Stack
- Python 3.12+
- Python 3.11+
- Domain-Driven Design
- Clean Architecture
- SOLID
- Dataclasses
- Protocols
- Pydantic v2 (API only)
- Dataclass immutabili
- Protocol
- Pydantic v2 (solo API)
---
## Documentation
## Stato del Progetto
Project documentation is organized under the `docs/` directory.
Versione corrente
It includes:
```text
0.1.0
```
- Architecture
- Guides
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
- Contracts
- Modules
- Examples
- Contract
- Moduli
- Esempi
---
## License
## Licenza
This project is licensed under the terms described in the `LICENSE` file.
SMAVS è un software proprietario sviluppato da **Spiral**.
L'utilizzo, la modifica e la distribuzione sono regolati dal file `LICENSE`.
---
## Developed by
## Repository
**Spiral**
Repository ufficiale:
SMAVS is the proprietary Composition Engine powering the Spiral ecosystem.
```
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.
+9
View File
@@ -180,3 +180,12 @@ exclude_lines = [
[tool.mkdocs]
config_file = "mkdocs.yml"
[tool.coverage.paths]
source = [
".",
]
[tool.coverage.html]
directory = "htmlcov"