Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
8 changes: 4 additions & 4 deletions .github/DISCUSSION_TEMPLATE/datasets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ body:
- type: input
id: fonte
attributes:
label: 🔗 Fonte ufficiale
label: Fonte ufficiale
placeholder: URL dataset

- type: textarea
id: descrizione
attributes:
label: 🧾 Cosa contiene?
label: Cosa contiene?
description: Descrizione sintetica del dataset

- type: textarea
id: struttura
attributes:
label: 🏗 Struttura dati
label: Struttura dati

- type: textarea
id: criticita
attributes:
label: Limiti o rischi
label: Limiti o rischi
15 changes: 12 additions & 3 deletions .github/DISCUSSION_TEMPLATE/domande.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,23 @@ body:
- type: textarea
id: perche
attributes:
label: 🎯 Perché questa domanda è rilevante?
label: Perché questa domanda è rilevante?
description: Spiega il problema pubblico o civico che vuoi capire meglio.

- type: textarea
id: metriche
attributes:
label: 📏 Metriche possibili
label: Metriche possibili
description: Indica dati, indicatori o confronti che potrebbero aiutare a rispondere.

- type: textarea
id: ipotesi
attributes:
label: 🧠 Ipotesi iniziali
label: Ipotesi iniziali
description: Se hai già un'idea, esplicitala. Se non l'hai, va bene comunque.

- type: textarea
id: next_step
attributes:
label: Se diventa lavoro concreto
description: Indica in quale repo dovrebbe nascere una issue operativa e quale sarebbe il primo output utile.
8 changes: 4 additions & 4 deletions .github/DISCUSSION_TEMPLATE/metodo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@ body:
- type: textarea
id: contesto
attributes:
label: 🧩 Contesto
label: Contesto
required: true

- type: textarea
id: scelta
attributes:
label: Proposta metodologica
label: Proposta metodologica

- type: textarea
id: alternative
attributes:
label: 🔄 Alternative valutate
label: Alternative valutate

- type: textarea
id: impatto
attributes:
label: 📊 Impatto su replicabilità e confronto
label: Impatto su replicabilità e confronto
14 changes: 7 additions & 7 deletions .github/DISCUSSION_TEMPLATE/presentazioni.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,33 @@ body:
- type: textarea
id: bio
attributes:
label: 👤 Chi sei
description: Breve bio (23 righe).
label: Chi sei
description: Breve bio (2-3 righe).
validations:
required: true

- type: textarea
id: competenze
attributes:
label: 🧠 Competenze
label: Competenze
description: Dati, analisi, visualizzazione, metodo, altro.

- type: textarea
id: interessi
attributes:
label: 💡 Cosa ti interessa
label: Cosa ti interessa
description: Temi civici, dataset, progetti.

- type: dropdown
id: disponibilita
attributes:
label: ⏱️ Disponibilità
label: Disponibilità
options:
- Occasionale
- Continuativa

- type: textarea
id: contributo
attributes:
label: 🤝 Come vorresti contribuire
description: Discussioni, analisi, doc, QA, altro.
label: Come vorresti contribuire
description: Discussioni, analisi, doc, QA, altro.
16 changes: 8 additions & 8 deletions .github/DISCUSSION_TEMPLATE/proposte.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,29 @@ body:
- type: textarea
id: domanda
attributes:
label: 🎯 Domanda civica
label: Domanda civica
description: Una sola frase chiara.
validations:
required: true

- type: textarea
id: obiettivo
attributes:
label: 📌 Obiettivo del progetto
label: Obiettivo del progetto
description: Cosa produrremo e per chi?
validations:
required: true

- type: textarea
id: dataset
attributes:
label: 📊 Dataset coinvolti
description: Dataset Fonte Periodo Livello.
label: Dataset coinvolti
description: Dataset - Fonte - Periodo - Livello.

- type: dropdown
id: output
attributes:
label: 🛠️ Output previsto
label: Output previsto
options:
- Dashboard
- Report
Expand All @@ -40,7 +40,7 @@ body:
- type: dropdown
id: complessita
attributes:
label: ⏱️ Complessità stimata
label: Complessità stimata
options:
- Bassa
- Media
Expand All @@ -49,9 +49,9 @@ body:
- type: dropdown
id: stato
attributes:
label: 🚦 Stato
label: Stato
options:
- Idea
- In discussione
- Pronto per Issue
- In corso
- In corso
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ Descrizione chiara e sintetica del bug.
Repo / file / notebook / ambiente

## 🎯 Comportamento atteso
Cosa dovrebbe succedere invece?
Cosa dovrebbe succedere invece?
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: 💬 Discussions
url: https://github.com/dataciviclab/dataciviclab/discussions
about: Per idee, metodo e confronto usa le Discussions.
url: https://github.com/orgs/dataciviclab/discussions
about: Per idee, orientamento e confronto usa le Discussions dell'organizzazione.
4 changes: 3 additions & 1 deletion .github/ISSUE_TEMPLATE/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ Perché è necessario?
- [ ]

## 🔗 Collegamenti
Issue correlate / Discussion / PR
Issue correlate / Discussion / PR

Se il task nasce da una domanda civica o da una proposta di analisi, collega qui la Discussion di origine.
56 changes: 56 additions & 0 deletions .github/workflows/templates.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Templates

on:
push:
branches:
- main
pull_request:

jobs:
validate-templates:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install PyYAML
run: python -m pip install pyyaml

- name: Validate discussion and issue templates
run: |
python - <<'PY'
from pathlib import Path
import yaml

root = Path(".").resolve() / ".github"
errors = []

for path in sorted((root / "DISCUSSION_TEMPLATE").glob("*.yml")):
try:
yaml.safe_load(path.read_text(encoding="utf-8"))
except Exception as exc:
errors.append(f"{path.relative_to(root.parent)}: {exc}")

for path in sorted((root / "ISSUE_TEMPLATE").glob("*.md")):
text = path.read_text(encoding="utf-8")
if not text.startswith("---"):
errors.append(f"{path.relative_to(root.parent)}: missing frontmatter start")
continue
parts = text.split("---", 2)
if len(parts) < 3:
errors.append(f"{path.relative_to(root.parent)}: invalid frontmatter")
continue
frontmatter = parts[1]
try:
yaml.safe_load(frontmatter)
except Exception as exc:
errors.append(f"{path.relative_to(root.parent)}: {exc}")

if errors:
raise SystemExit("Template validation failed:\n" + "\n".join(errors))
PY
26 changes: 16 additions & 10 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
# Code of Conduct
# 🌿 Code of Conduct

Il DataCivicLab è uno spazio collaborativo e rispettoso.
DataCivicLab vuole essere uno spazio pubblico, rispettoso e utile.

Ci aspettiamo:
- rispetto reciproco
- confronto basato su fatti e dati
- zero attacchi personali

Comportamenti inaccettabili:
- molestie
- discriminazioni
- trolling
- rispetto per le persone e per il loro tempo
- critiche rivolte alle idee, non alle persone
- confronto chiaro, documentato e in buona fede
- attenzione a linguaggio, contesto e accessibilita'

I maintainer possono intervenire per tutelare la community.
Non sono accettati:

- insulti, attacchi personali o intimidazioni
- discriminazioni o molestie
- comportamenti deliberatamente ostili o distruttivi
- pubblicazione di dati personali, credenziali o informazioni sensibili

I maintainer possono moderare discussioni, chiudere thread o limitare la partecipazione quando serve a proteggere la qualita' dello spazio comune.

Per segnalare un problema di comportamento, usa i riferimenti indicati in [SUPPORT.md](SUPPORT.md).
Loading