Instruction file imported from giuseppePintus/Molino_briganti_task_manager (
.github/instructions/powershell.instructions.md). Copyright stays with the author.
Script PowerShell
Stile
- Usa nomi cmdlet completi (
Get-ChildItem, nonls/dir;Where-Object, non?). - Quote sempre i path con spazi:
"C:\Path With Spaces". - Preferisci
Join-Patha concatenazioni di stringhe per i percorsi. - Verbi standard PowerShell per le funzioni (
Get-,Set-,New-,Remove-,Invoke-). - Usa
Test-Pathprima di leggere/scrivere file critici. - Per l'output strutturato usa oggetti (
[PSCustomObject]@{...}) +Format-Table, non stringhe interpolate.
Sicurezza
- Mai mettere password in chiaro: leggile da variabili d'ambiente o da
Get-Credential. - Mai usare
-ForcesuRemove-Itemricorsivi senza unTest-Path+ log preventivo. - Per operazioni distruttive aggiungi
[CmdletBinding(SupportsShouldProcess)]e usaif ($PSCmdlet.ShouldProcess(...)).
Script chiave del repo (non rompere il loro contratto)
nas-deploy.ps1→ deploy unificato shadow→prod (sostituisce i vecchiquickbuild-nas.ps1+rebuild-nas-safe.ps1). Default: lavora sullo shadow su :5001.-Promoteper swap a :5000.-Fullrebuild immagine,-Quicksolodocker cp,-OnlyFrontendsolo public/,-RemoveShadowcleanup.deploy-mariadb.ps1→ deploy del container MariaDB.auto-backup-mariadb.ps1→ backup schedulato del DB.setup-backup-schedule.ps1→ registra le scheduled task di Windows.sync-backups-nas.ps1(root) → sincronizza i dump verso il NAS.cleanup-backups.ps1(root) → rotazione dump vecchi (controlla la retention prima di modificarlo).diagnose-backup-system.ps1(root) → diagnostica, deve restare read-only.
Esecuzione locale
- L'ambiente attivo è
pwshcon.venvPython attivato (vedi terminali aperti). Non assumere alias di Bash. - Quando suggerisci comandi, usa
;per concatenare e|per pipeline.