@symbeon/orbit-devops 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/.agent/skills/orbit-devops/SKILL.md +54 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +44 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +33 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +51 -0
  5. package/.github/dependabot.yml +64 -0
  6. package/ARCHITECTURE.json +98 -0
  7. package/AdditionalCleanup.ps1 +70 -0
  8. package/AnalyzeCursor.ps1 +25 -0
  9. package/AppDataAudit.ps1 +16 -0
  10. package/CHANGELOG.md +83 -0
  11. package/CONFIG_LOG.md +35 -0
  12. package/CONTRIBUTING.md +203 -0
  13. package/CategorizedScan.ps1 +37 -0
  14. package/CategorizedScan_v2.ps1 +38 -0
  15. package/CheckAnaconda.ps1 +9 -0
  16. package/CheckAppData.ps1 +8 -0
  17. package/CheckAppDataRoaming.ps1 +8 -0
  18. package/CheckBackupSizes.ps1 +17 -0
  19. package/CheckCacheSize.ps1 +17 -0
  20. package/CheckNodeModules.ps1 +17 -0
  21. package/CheckSpace.ps1 +2 -0
  22. package/CheckTargetSizes.ps1 +17 -0
  23. package/CheckUserRoot.ps1 +10 -0
  24. package/DeepStorageAnalysis.ps1 +76 -0
  25. package/DetailedBloatAudit.ps1 +55 -0
  26. package/DetailedBloatAudit_v3.ps1 +50 -0
  27. package/DetailedProcessAudit.ps1 +43 -0
  28. package/DiagnosticoSistema.ps1 +155 -0
  29. package/ExecuteCleanup.ps1 +73 -0
  30. package/ExecuteTotalCleanup.ps1 +86 -0
  31. package/FinalCategorizedReport.ps1 +49 -0
  32. package/FinalDeepDive.ps1 +34 -0
  33. package/ForcePush.ps1 +31 -0
  34. package/ForensicRAMAudit.ps1 +26 -0
  35. package/ForensicRAMAudit_UTF8.ps1 +32 -0
  36. package/ForensicRAMAudit_v2.ps1 +25 -0
  37. package/ForensicRAMAudit_v3.ps1 +25 -0
  38. package/FullRAMReport_Local.txt +0 -0
  39. package/FullRAMReport_UTF8.txt +1400 -0
  40. package/GiantHunt.ps1 +26 -0
  41. package/GlobalRAMAudit.ps1 +57 -0
  42. package/LICENSE +21 -0
  43. package/MeasureSuspects.ps1 +17 -0
  44. package/NEXT_STEPS.md +35 -0
  45. package/Orbit.ps1 +40 -0
  46. package/PostRebootCleanup.ps1 +60 -0
  47. package/RAMAudit.ps1 +41 -0
  48. package/RAMAudit_v2.ps1 +24 -0
  49. package/README.md +58 -0
  50. package/RootAudit.ps1 +14 -0
  51. package/RunDiagnostic.ps1 +119 -0
  52. package/RunDiagnosticSimple.ps1 +42 -0
  53. package/SECURITY.md +67 -0
  54. package/SETUP.md +34 -0
  55. package/SafeSurgery.ps1 +69 -0
  56. package/ScanPrograms.ps1 +13 -0
  57. package/ScanRepoWaste.ps1 +45 -0
  58. package/ScanStorage.ps1 +41 -0
  59. package/ScanTargets.ps1 +39 -0
  60. package/SimpleSurgicalAudit.ps1 +22 -0
  61. package/SurgicalBloatAudit.ps1 +35 -0
  62. package/SurgicalScan.ps1 +28 -0
  63. package/SystemDiagnostic.ps1 +588 -0
  64. package/SystemDiagnosticSimple.ps1 +141 -0
  65. package/SystemDiagnosticUser.ps1 +92 -0
  66. package/SystemDiagnosticUser_v2.ps1 +36 -0
  67. package/UserAudit.ps1 +23 -0
  68. package/bin/orbit.js +99 -0
  69. package/check_environment.ps1 +104 -0
  70. package/deep_downloads_org_log.txt +15 -0
  71. package/diagnostic_error.txt +83 -0
  72. package/diskpart_log.txt +0 -0
  73. package/docs/DEPRECATED_USERNAME_CHANGE.md +138 -0
  74. package/docs/PROJECT_STRUCTURE.md +156 -0
  75. package/downloads_audit.txt +32 -0
  76. package/downloads_audit_clear.txt +27 -0
  77. package/downloads_org_log.txt +85 -0
  78. package/mcp/README.md +61 -0
  79. package/mcp/server.py +109 -0
  80. package/package.json +39 -0
  81. package/scripts/mac/diagnostic.sh +46 -0
  82. package/scripts/stack/Push-Stack.ps1 +41 -0
  83. package/scripts/stack/SnapshotEnv.ps1 +22 -0
  84. package/scripts/utils/DeepOrganizeDownloads.ps1 +82 -0
  85. package/scripts/utils/OrganizeDownloads.ps1 +40 -0
  86. package/scripts/wsl/CompactWSL.ps1 +60 -0
  87. package/setup_environment.ps1 +59 -0
  88. package/sizes.txt +6 -0
  89. package/verify_environment.ps1 +46 -0
package/GiantHunt.ps1 ADDED
@@ -0,0 +1,26 @@
1
+ $ErrorActionPreference = "SilentlyContinue"
2
+ $root = "C:\"
3
+ $folders = Get-ChildItem -Path $root -Directory
4
+
5
+ Write-Host "=== C: DRIVE TOP-LEVEL AUDIT ===" -ForegroundColor Cyan
6
+ Write-Host "Analyzing root folders (this may take a minute)..."
7
+
8
+ $results = foreach ($f in $folders) {
9
+ if ($f.Name -eq "Windows") { continue } # Skip Windows core
10
+
11
+ $size = Get-ChildItem $f.FullName -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
12
+ [PSCustomObject]@{
13
+ Folder = $f.Name
14
+ SizeGB = [math]::Round($size.Sum / 1GB, 2)
15
+ }
16
+ }
17
+
18
+ # Special check for User Profile AppData (Common Bloat Area)
19
+ $userProfile = $env:USERPROFILE
20
+ $appDataSize = Get-ChildItem "$userProfile\AppData" -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
21
+ $results += [PSCustomObject]@{
22
+ Folder = "USER_AppData"
23
+ SizeGB = [math]::Round($appDataSize.Sum / 1GB, 2)
24
+ }
25
+
26
+ $results | Sort-Object SizeGB -Descending | Format-Table -AutoSize
@@ -0,0 +1,57 @@
1
+ $ErrorActionPreference = "SilentlyContinue"
2
+
3
+ Write-Host "=== AUDITORIA GLOBAL DE MEMORIA (360 GRAUS) ===" -ForegroundColor Cyan
4
+ Write-Host "Iniciando varredura profunda em Processos, Servicos e Bloatware...`n"
5
+
6
+ # 1. Total de Processos por Empresa/Fabricante (Cluster de Bloatware)
7
+ Write-Host "--- Consumo por Fabricante/Cluster ---" -ForegroundColor Yellow
8
+ $allProcs = Get-Process
9
+ $clusters = @{
10
+ "ACER (Fabricante)" = "Acer*"
11
+ "MICROSOFT (System/Edge)" = "msedge*", "Search*", "Shell*", "Explorer*"
12
+ "DEVELOPER (VSCode/Node/Git)" = "code*", "node*", "git*", "language_server*"
13
+ "SEGURANCA (Windows Defender)" = "MsMpEng*", "NisSrv*"
14
+ "DOCKER/WSL" = "docker*", "vmmem*"
15
+ }
16
+
17
+ foreach ($c in $clusters.Keys) {
18
+ $matched = Get-Process -Name $clusters[$c]
19
+ if ($matched) {
20
+ $size = ($matched | Measure-Object WorkingSet -Sum).Sum / 1MB
21
+ Write-Host "$c : $([math]::Round($size, 2)) MB ($($matched.Count) processos)"
22
+ }
23
+ }
24
+
25
+ # 2. Servicos do Windows Ativos (Top 10 por Memoria via Svchost)
26
+ Write-Host "`n--- Servicos Pesados (Backstage) ---" -ForegroundColor Yellow
27
+ # Nota: Svchosts agrupam servicos, vamos ver os maiores
28
+ Get-Process svchost | Sort-Object WorkingSet -Descending | Select-Object -First 5 |
29
+ ForEach-Object {
30
+ $mb = [math]::Round($_.WorkingSet / 1MB, 2)
31
+ Write-Host "Host de Servico (PID $($_.Id)): $mb MB"
32
+ }
33
+
34
+ # 3. Processos "Fantasmas" (Muitas Threads ou Handles)
35
+ # Processos que nao usam muita RAM mas 'poluem' o agendador e kernel
36
+ Write-Host "`n--- Processos com Alta Atividade Interna (Threads/Handles) ---" -ForegroundColor Yellow
37
+ Get-Process | Sort-Object Handles -Descending | Select-Object -First 5 |
38
+ Select-Object Name, Handles, Threads | Format-Table -AutoSize
39
+
40
+ # 4. Detalhamento de TODOS os Processos (Resumo estatistico)
41
+ Write-Host "`n--- Estatistica de Processos ---" -ForegroundColor Yellow
42
+ $totalCount = (Get-Process).Count
43
+ $systemCount = (Get-Process | Where-Object { $_.Company -match "Microsoft" }).Count
44
+ $otherCount = $totalCount - $systemCount
45
+ Write-Host "Total de Processos Rodando: $totalCount"
46
+ Write-Host "Processos Microsoft/Sistema: $systemCount"
47
+ Write-Host "Processos de Terceiros/Apps: $otherCount"
48
+
49
+ # 5. Estado da Memoria Virtual (Commit Charge)
50
+ Write-Host "`n--- Memoria Virtual (Commit Charge) ---" -ForegroundColor Yellow
51
+ $os = Get-CimInstance Win32_OperatingSystem
52
+ $totalPaging = [math]::Round($os.SizeStoredInPagingFiles / 1024, 2)
53
+ $freePaging = [math]::Round($os.FreeSpaceInPagingFiles / 1024, 2)
54
+ Write-Host "Arquivo de Pagina (Virtual): $totalPaging MB"
55
+ Write-Host "Espaco Livre em Disco para RAM Virtual: $freePaging MB"
56
+
57
+ Write-Host "`n================================================"
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 SH1W4
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,17 @@
1
+ $ErrorActionPreference = "SilentlyContinue"
2
+ $targets = @(
3
+ "$env:USERPROFILE\Desktop\PROJETOS",
4
+ "$env:USERPROFILE\Downloads",
5
+ "$env:USERPROFILE\AppData",
6
+ "C:\Program Files",
7
+ "C:\Program Files (x86)"
8
+ )
9
+
10
+ Write-Host "=== TARGETED SIZE ANALYSIS ===" -ForegroundColor Cyan
11
+ foreach ($t in $targets) {
12
+ if (Test-Path $t) {
13
+ Write-Host "Measuring $t ..."
14
+ $size = Get-ChildItem $t -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
15
+ Write-Host "$t : $([math]::Round($size.Sum / 1GB, 2)) GB"
16
+ }
17
+ }
package/NEXT_STEPS.md ADDED
@@ -0,0 +1,35 @@
1
+ # Instruções Pós-Reinicialização (2025-06-02 02:14)
2
+
3
+ ## ✅ Instalado Parcialmente
4
+ 1. WSL (requer reinicialização)
5
+ - Componentes base instalados
6
+ - VirtualMachinePlatform habilitado
7
+
8
+ ## 🔄 Próximos Passos (após reiniciar)
9
+ 1. Completar instalação do WSL:
10
+ \\\powershell
11
+ wsl --install -d Ubuntu
12
+ \\\
13
+
14
+ 2. Instalar App Installer (Microsoft Store)
15
+ - Buscar "App Installer"
16
+ - Instalar/Atualizar
17
+
18
+ 3. Instalar ferramentas essenciais:
19
+ \\\powershell
20
+ winget install --id Git.Git
21
+ winget install --id Microsoft.VisualStudioCode
22
+ winget install --id OpenJS.NodeJS.LTS
23
+ winget install --id Docker.DockerDesktop
24
+ \\\
25
+
26
+ ## ⚠️ Importante
27
+ - Reinicie o computador agora
28
+ - Após reiniciar, execute os comandos acima na ordem listada
29
+ - O Ubuntu será instalado automaticamente após a reinicialização
30
+ - Configure um nome de usuário e senha quando solicitado pelo Ubuntu
31
+
32
+ ## 💾 Backup
33
+ Seus arquivos de configuração e diagnóstico estão seguros em:
34
+ C:\\Users\\Username\\Desktop\\DIAGNOSTIC_BACKUP
35
+
package/Orbit.ps1 ADDED
@@ -0,0 +1,40 @@
1
+ # Orbit-DevOps: Main Menu
2
+ # The interactive command center
3
+
4
+ function Show-Menu {
5
+ Clear-Host
6
+ Write-Host "🪐 ORBIT-DEVOPS v1.1.0" -ForegroundColor Cyan
7
+ Write-Host "=====================" -ForegroundColor Gray
8
+ Write-Host "1. 🏥 Check System Health"
9
+ Write-Host "2. 🕵️ Analyze Storage"
10
+ Write-Host "3. 🐳 Scan Docker Usage"
11
+ Write-Host "---------------------"
12
+ Write-Host "4. 🧹 Safe Cleanup (Browsers, Temp)"
13
+ Write-Host "5. 🐧 Compact WSL (Requires Admin)"
14
+ Write-Host "6. 📦 Snapshot Environment (Local)"
15
+ Write-Host "7. 🚀 Sync Stack to GitHub"
16
+ Write-Host "---------------------"
17
+ Write-Host "Q. Quit"
18
+ Write-Host ""
19
+ }
20
+
21
+ do {
22
+ Show-Menu
23
+ $choice = Read-Host "Select an option"
24
+
25
+ switch ($choice) {
26
+ "1" { & ".\scripts\diagnostic\SystemDiagnosticUser.ps1"; Pause }
27
+ "2" { & ".\scripts\analysis\ScanStorage.ps1"; Pause }
28
+ "3" { & ".\scripts\analysis\ScanTargets.ps1"; Pause }
29
+ "4" { & ".\scripts\cleanup\AdditionalCleanup.ps1"; Pause }
30
+ "5" {
31
+ Write-Warning "This operation requires Administrator privileges."
32
+ & ".\scripts\wsl\CompactWSL.ps1"; Pause
33
+ }
34
+ "6" { & ".\scripts\stack\SnapshotEnv.ps1"; Pause }
35
+ "7" { & ".\scripts\stack\Push-Stack.ps1"; Pause }
36
+ "Q" { exit }
37
+ "q" { exit }
38
+ default { Write-Warning "Invalid option" }
39
+ }
40
+ } until ($choice -eq "Q")
@@ -0,0 +1,60 @@
1
+ # Post-Reboot Cleanup Script
2
+ # Run as Administrator
3
+
4
+ $logPath = "$env:USERPROFILE\Desktop\DIAGNOSTIC_BACKUP\POST_REBOOT_LOG.txt"
5
+
6
+ function Write-Log {
7
+ param($Message)
8
+ $line = "[$(Get-Date -Format 'HH:mm:ss')] $Message"
9
+ Write-Host $line -ForegroundColor Green
10
+ $line | Out-File -FilePath $logPath -Append -Encoding utf8
11
+ }
12
+
13
+ Write-Log "=== POST-REBOOT CLEANUP ==="
14
+
15
+ # 1. Disable Hibernation
16
+ Write-Log "Disabling Hibernation..."
17
+ try {
18
+ powercfg -h off
19
+ Write-Log "SUCCESS: Hibernation disabled (~3 GB freed)"
20
+ }
21
+ catch {
22
+ Write-Log "ERROR: Could not disable hibernation: $_"
23
+ }
24
+
25
+ # 2. Remove Anaconda (if still exists)
26
+ $anacondaPath = "$env:USERPROFILE\anaconda3"
27
+ if (Test-Path $anacondaPath) {
28
+ Write-Log "Removing remaining Anaconda files..."
29
+ cmd /c rmdir /s /q "$anacondaPath"
30
+ if (-not (Test-Path $anacondaPath)) {
31
+ Write-Log "SUCCESS: Anaconda removed"
32
+ }
33
+ else {
34
+ Write-Log "WARNING: Some Anaconda files remain"
35
+ }
36
+ }
37
+ else {
38
+ Write-Log "INFO: Anaconda already removed"
39
+ }
40
+
41
+ # 3. Clean Windows Temp
42
+ Write-Log "Cleaning Windows Temp..."
43
+ $winTemp = "C:\Windows\Temp"
44
+ Get-ChildItem $winTemp -Recurse -Force -ErrorAction SilentlyContinue |
45
+ Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
46
+ Write-Log "Windows Temp cleaned"
47
+
48
+ # 4. Empty Recycle Bin
49
+ Write-Log "Emptying Recycle Bin..."
50
+ Clear-RecycleBin -Force -ErrorAction SilentlyContinue
51
+ Write-Log "Recycle Bin emptied"
52
+
53
+ # 5. Final Status
54
+ Write-Log "=== FINAL STATUS ==="
55
+ $disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'"
56
+ $freeGB = [math]::Round($disk.FreeSpace / 1GB, 2)
57
+ $totalGB = [math]::Round($disk.Size / 1GB, 2)
58
+ Write-Log "Drive C: Free Space: $freeGB GB (Total: $totalGB GB)"
59
+
60
+ Write-Log "Cleanup Complete!"
package/RAMAudit.ps1 ADDED
@@ -0,0 +1,41 @@
1
+ $ErrorActionPreference = "SilentlyContinue"
2
+
3
+ Write-Host "=== AUDITORIA DE CONSUMO DE RAM ===" -ForegroundColor Cyan
4
+ Write-Host "Coletando dados de memória em tempo real...`n"
5
+
6
+ # 1. Top 15 processos por Working Set (RAM Física)
7
+ Write-Host "--- Top 15 Processos (RAM Fisica) ---" -ForegroundColor Yellow
8
+ Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 15 |
9
+ Select-Object Name, @{Name = 'RAM(MB)'; Expression = { [math]::Round($_.WorkingSet / 1MB, 2) } }, Id |
10
+ Format-Table -AutoSize
11
+
12
+ # 2. Resumo por Categoria (Navegador, VSCode, Docker)
13
+ Write-Host "`n--- Resumo por Grandes Grupos ---" -ForegroundColor Yellow
14
+ $groups = @("chrome", "msedge", "code", "docker", "vmmem", "node", "python")
15
+ foreach ($g in $groups) {
16
+ $p = Get-Process -Name "$g*" -ErrorAction SilentlyContinue
17
+ if ($p) {
18
+ $total = ($p | Measure-Object WorkingSet -Sum).Sum
19
+ Write-Host "$($g.ToUpper()): $([math]::Round($total / 1MB, 2)) MB ($($p.Count) processos)"
20
+ }
21
+ }
22
+
23
+ # 3. Status de Memoria do Sistema
24
+ Write-Host "`n--- Status Geral da Memoria ---" -ForegroundColor Yellow
25
+ $mem = Get-CimInstance Win32_OperatingSystem
26
+ $total = [math]::Round($mem.TotalVisibleMemorySize / 1KB, 2)
27
+ $free = [math]::Round($mem.FreePhysicalMemory / 1KB, 2)
28
+ $used = $total - $free
29
+ $percent = [math]::Round(($used / $total) * 100, 1)
30
+
31
+ Write-Host "Total Instalada: $total MB"
32
+ Write-Host "Em Uso: $used MB ($percent%)"
33
+ Write-Host "Livre: $free MB"
34
+
35
+ # 4. Verificar se o WSL/Docker esta comendo RAM (vmmem)
36
+ $vmmem = Get-Process -Name vmmem* -ErrorAction SilentlyContinue
37
+ if ($vmmem) {
38
+ Write-Host "`n[AVISO] Docker/WSL (vmmem) está usando $([math]::Round(($vmmem | Measure-Object WorkingSet -Sum).Sum / 1MB, 2)) MB" -ForegroundColor Cyan
39
+ }
40
+
41
+ Write-Host "`n=================================="
@@ -0,0 +1,24 @@
1
+ $ErrorActionPreference = "SilentlyContinue"
2
+ Write-Host "--- TOP 10 RAM PROCESSES ---" -ForegroundColor Yellow
3
+ $p = Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10
4
+ foreach ($proc in $p) {
5
+ $mb = [math]::Round($proc.WorkingSet / 1MB, 2)
6
+ Write-Host "$($proc.Name) (ID: $($proc.Id)): $mb MB"
7
+ }
8
+
9
+ Write-Host "`n--- SYSTEM MEMORY STATE ---" -ForegroundColor Yellow
10
+ $os = Get-CimInstance Win32_OperatingSystem
11
+ $total = [math]::Round($os.TotalVisibleMemorySize / 1MB, 2)
12
+ $free = [math]::Round($os.FreePhysicalMemory / 1MB, 2)
13
+ Write-Host "Total RAM: $total GB (Approx)"
14
+ Write-Host "Free RAM: $([math]::Round($free / 1024, 2)) GB"
15
+
16
+ Write-Host "`n--- WSL/DOCKER CHECK ---" -ForegroundColor Yellow
17
+ $vmmem = Get-Process -Name vmmem*
18
+ if ($vmmem) {
19
+ $vSize = [math]::Round(($vmmem | Measure-Object WorkingSet -Sum).Sum / 1MB, 2)
20
+ Write-Host "VMMEM (WSL2/Docker): $vSize MB"
21
+ }
22
+ else {
23
+ Write-Host "VMMEM process not found."
24
+ }
package/README.md ADDED
@@ -0,0 +1,58 @@
1
+ # 🪐 Orbit-DevOps
2
+
3
+ <div align="center">
4
+ <img src="https://raw.githubusercontent.com/SH1W4/orbit-devops/main/docs/assets/logo.png" alt="Orbit-DevOps Logo" width="200" onerror="this.style.display='none'"/>
5
+ <h3>The Developer's Workspace Command Center</h3>
6
+ <p><b>Diagnose. Optimize. Compact. Control.</b></p>
7
+
8
+ <p>
9
+ <img src="https://img.shields.io/npm/v/orbit-devops?style=flat-square&color=cb3837" alt="NPM Version" />
10
+ <img src="https://img.shields.io/badge/platform-Windows_11%20%7C%20WSL2-0078D6?style=flat-square&logo=windows" alt="Platform" />
11
+ <img src="https://img.shields.io/badge/AI-MCP_Ready-purple?style=flat-square&logo=openai" alt="AI Ready" />
12
+ <img src="https://img.shields.io/github/license/SH1W4/orbit-devops?style=flat-square" alt="License" />
13
+ </p>
14
+ </div>
15
+
16
+ ---
17
+
18
+ **Orbit-DevOps** is a professional-grade CLI toolkit designed to reclaim GBs of "ghost" storage from modern development stacks. It specializes in **WSL2 VHDX compaction**, **Docker pruning**, and **Dev-Stack synchronization**.
19
+
20
+ ## 🚀 One-Minute Start
21
+
22
+ Run without installing:
23
+ ```bash
24
+ npx @symbeon/orbit-devops doctor
25
+ ```
26
+
27
+ Or install globally:
28
+ ```bash
29
+ npm install -g @symbeon/orbit-devops
30
+ ```
31
+
32
+ ## ✨ Core Superpowers
33
+
34
+ | Command | Action | Impact |
35
+ | :--- | :--- | :--- |
36
+ | `orbit doctor` | 🔍 **Full System Scan** | Deep health check of OS, RAM, and Storage. |
37
+ | `orbit space` | 📊 **Storage Forensics** | Find where the GBs are hiding (AppData, Docker, etc). |
38
+ | `orbit clean` | 🧹 **Smart Sanitation** | Safe cleanup of npm-cache, browser junk, and temp files. |
39
+ | `orbit compact`| 🐧 **WSL2 Compactor** | Reclaim space from Linux virtual disks (vhdx). |
40
+ | `orbit sync` | 🧬 **Stack Blueprint** | Sync your environment DNA to your `stack` repo. |
41
+
42
+ ## 🤖 AI & Agentic Integration
43
+ Orbit-DevOps is built for the AI era. It includes:
44
+ - **Nativo MCP Server**: Connect Cursor or Claude to your machine health.
45
+ - **AI Skill Map**: Pre-indexed `.agent/skills` for autonomous agent operation.
46
+
47
+ ## 🛠️ Requirements
48
+ - **OS**: Windows 10/11
49
+ - **Runtime**: Node.js 18+
50
+ - **Shell**: PowerShell 7+ (recommended)
51
+
52
+ ## 🤝 Branding & Mission
53
+ Part of the **Symbeon** ecosystem. We build tools that make developers feel like they have superpowers.
54
+
55
+ ---
56
+ <div align="center">
57
+ <sub>Built with ❤️ by <a href="https://github.com/SH1W4">Symbeon</a></sub>
58
+ </div>
package/RootAudit.ps1 ADDED
@@ -0,0 +1,14 @@
1
+ $ErrorActionPreference = "SilentlyContinue"
2
+ $root = "C:\"
3
+ $items = Get-ChildItem -Path $root
4
+
5
+ Write-Host "=== C: DRIVE ROOT AUDIT ===" -ForegroundColor Cyan
6
+ foreach ($item in $items) {
7
+ if ($item.PSIsContainer) {
8
+ $size = Get-ChildItem $item.FullName -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
9
+ Write-Host "$($item.Name) : $([math]::Round($size.Sum / 1GB, 2)) GB"
10
+ }
11
+ else {
12
+ Write-Host "$($item.Name) (File) : $([math]::Round($item.Length / 1GB, 2)) GB"
13
+ }
14
+ }
@@ -0,0 +1,119 @@
1
+ # Script wrapper para execução do diagnóstico com elevação automática
2
+ $ErrorActionPreference = "Stop"
3
+ $VerbosePreference = "Continue"
4
+
5
+ # Função para logging
6
+ function Write-Log {
7
+ param(
8
+ [string]$Message,
9
+ [string]$Type = "INFO"
10
+ )
11
+ $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
12
+ $logMessage = "[$timestamp] [$Type] $Message"
13
+
14
+ switch ($Type) {
15
+ "ERROR" { Write-Host $logMessage -ForegroundColor Red }
16
+ "WARNING" { Write-Host $logMessage -ForegroundColor Yellow }
17
+ "SUCCESS" { Write-Host $logMessage -ForegroundColor Green }
18
+ default { Write-Host $logMessage }
19
+ }
20
+ }
21
+
22
+ # Verifica privilégios atuais
23
+ Write-Log "Verificando privilégios de administrador..." -Type "INFO"
24
+ $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
25
+ $isAdmin = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
26
+
27
+ # Se não estiver rodando como administrador, reinicia o script com elevação
28
+ if (-not $isAdmin) {
29
+ try {
30
+ Write-Log "Solicitando privilégios de administrador..." -Type "INFO"
31
+ $scriptPath = $MyInvocation.MyCommand.Path
32
+ $diagPath = Join-Path $PSScriptRoot "SystemDiagnostic.ps1"
33
+
34
+ # Verifica se o arquivo de diagnóstico existe
35
+ if (-not (Test-Path $diagPath)) {
36
+ Write-Log "Erro: Arquivo SystemDiagnostic.ps1 não encontrado em: $diagPath" -Type "ERROR"
37
+ exit 1
38
+ }
39
+
40
+ Write-Log "Iniciando processo elevado..." -Type "INFO"
41
+
42
+ # Configura argumentos para melhor visibilidade e codificação
43
+ $arguments = "-NoProfile -ExecutionPolicy Bypass -Command `"& { `$OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8; `$VerbosePreference='Continue'; . '$diagPath' }`""
44
+
45
+ # Inicia um novo processo do PowerShell como administrador
46
+ $proc = Start-Process powershell.exe -ArgumentList $arguments -Verb RunAs -PassThru -Wait
47
+
48
+ switch ($proc.ExitCode) {
49
+ 0 {
50
+ Write-Log "Diagnóstico concluído com sucesso." -Type "SUCCESS"
51
+ }
52
+ 1 {
53
+ Write-Log "O script de diagnóstico encontrou erros durante a execução." -Type "ERROR"
54
+ }
55
+ default {
56
+ Write-Log "O script de diagnóstico terminou com código de saída: $($proc.ExitCode)" -Type "WARNING"
57
+ }
58
+ }
59
+ }
60
+ catch {
61
+ Write-Log "Erro ao tentar elevar privilégios: $_" -Type "ERROR"
62
+ Write-Log "Stack Trace: $($_.ScriptStackTrace)" -Type "ERROR"
63
+ }
64
+ }
65
+ else {
66
+ # Se já estiver rodando como administrador, executa o diagnóstico diretamente
67
+ try {
68
+ Write-Log "Executando diagnóstico com privilégios de administrador..." -Type "INFO"
69
+ $diagPath = Join-Path $PSScriptRoot "SystemDiagnostic.ps1"
70
+
71
+ if (Test-Path $diagPath) {
72
+ $VerbosePreference = "Continue"
73
+ & $diagPath
74
+ if ($LASTEXITCODE -eq 0) {
75
+ Write-Log "Diagnóstico concluído com sucesso." -Type "SUCCESS"
76
+ }
77
+ else {
78
+ Write-Log "O diagnóstico terminou com erros (Exit Code: $LASTEXITCODE)" -Type "WARNING"
79
+ }
80
+ }
81
+ else {
82
+ Write-Log "Arquivo SystemDiagnostic.ps1 não encontrado em: $diagPath" -Type "ERROR"
83
+ exit 1
84
+ }
85
+ }
86
+ catch {
87
+ Write-Log "Erro ao executar o diagnóstico: $_" -Type "ERROR"
88
+ Write-Log "Stack Trace: $($_.ScriptStackTrace)" -Type "ERROR"
89
+ exit 1
90
+ }
91
+ }
92
+
93
+ # Procura o relatório gerado
94
+ $reportPattern = "SystemDiagnostic_Report_*.txt"
95
+ $reportFile = Get-ChildItem -Path ([Environment]::GetFolderPath("Desktop")) -Recurse -Filter $reportPattern |
96
+ Sort-Object LastWriteTime -Descending |
97
+ Select-Object -First 1
98
+
99
+ if ($reportFile) {
100
+ Write-Log "Relatório gerado em: $($reportFile.FullName)" -Type "SUCCESS"
101
+ Write-Log "Abrindo relatório..." -Type "INFO"
102
+
103
+ # Tenta abrir o relatório com o visualizador padrão
104
+ try {
105
+ Invoke-Item $reportFile.FullName
106
+ }
107
+ catch {
108
+ Write-Log "Não foi possível abrir o relatório automaticamente. Por favor, abra manualmente em: $($reportFile.FullName)" -Type "WARNING"
109
+ }
110
+ }
111
+ else {
112
+ Write-Log "Não foi possível encontrar o relatório gerado." -Type "WARNING"
113
+ }
114
+
115
+ # Mantém a janela aberta para visualização
116
+ Write-Host "`n"
117
+ Write-Log "Diagnóstico finalizado. Pressione qualquer tecla para sair..." -Type "INFO"
118
+ $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
119
+
@@ -0,0 +1,42 @@
1
+ # Script wrapper simplificado para execução do diagnóstico
2
+ $ErrorActionPreference = "Stop"
3
+
4
+ # Configuração de codificação
5
+ [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
6
+ $OutputEncoding = [System.Text.Encoding]::UTF8
7
+
8
+ # Verifica privilégios de administrador
9
+ $isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
10
+
11
+ if (-not $isAdmin) {
12
+ Write-Host "Solicitando privilégios de administrador..." -ForegroundColor Yellow
13
+ try {
14
+ $scriptPath = Join-Path $PSScriptRoot "SystemDiagnosticSimple.ps1"
15
+ if (-not (Test-Path $scriptPath)) {
16
+ Write-Host "ERRO: Script de diagnóstico não encontrado em: $scriptPath" -ForegroundColor Red
17
+ exit 1
18
+ }
19
+
20
+ Start-Process powershell.exe -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File `"$scriptPath`"" -Verb RunAs -Wait
21
+ }
22
+ catch {
23
+ Write-Host "ERRO ao elevar privilégios: $_" -ForegroundColor Red
24
+ exit 1
25
+ }
26
+ }
27
+ else {
28
+ # Se já está executando como administrador
29
+ $scriptPath = Join-Path $PSScriptRoot "SystemDiagnosticSimple.ps1"
30
+ if (Test-Path $scriptPath) {
31
+ Write-Host "Executando diagnóstico..." -ForegroundColor Yellow
32
+ & $scriptPath
33
+ }
34
+ else {
35
+ Write-Host "ERRO: Script de diagnóstico não encontrado em: $scriptPath" -ForegroundColor Red
36
+ exit 1
37
+ }
38
+ }
39
+
40
+ Write-Host "`nPressione qualquer tecla para sair..." -ForegroundColor Yellow
41
+ $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
42
+
package/SECURITY.md ADDED
@@ -0,0 +1,67 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ We take security seriously in Orbit-DevOps. The following versions are currently supported with security updates:
6
+
7
+ | Version | Supported |
8
+ | ------- | ------------------ |
9
+ | 0.1.x | :white_check_mark: |
10
+
11
+ ## Reporting a Vulnerability
12
+
13
+ We appreciate responsible disclosure of security vulnerabilities. If you discover a security issue, please report it by emailing **security@docsync.dev** or by opening a private security advisory on GitHub.
14
+
15
+ ### What to Include
16
+
17
+ Please include the following information in your security report:
18
+
19
+ 1. **Description**: A clear description of the vulnerability
20
+ 2. **Impact**: Potential impact and attack scenarios
21
+ 3. **Reproduction**: Step-by-step instructions to reproduce the issue
22
+ 4. **Environment**: Affected versions and operating systems
23
+ 5. **Mitigation**: Any temporary workarounds you've identified
24
+
25
+ ### Response Timeline
26
+
27
+ - **Initial Response**: Within 24 hours of report
28
+ - **Confirmation**: Within 72 hours
29
+ - **Resolution**: Security fixes are prioritized and typically released within 7-14 days
30
+ - **Disclosure**: Public disclosure after fix is available, coordinated with reporter
31
+
32
+ ### Security Features
33
+
34
+ Orbit-DevOps implements several security measures:
35
+
36
+ - **Input Validation**: All user inputs are validated and sanitized
37
+ - **Path Traversal Protection**: File system operations are restricted to authorized directories
38
+ - **Token Security**: API tokens are handled securely and never logged
39
+ - **Dependency Scanning**: Regular automated scans for vulnerable dependencies
40
+ - **Static Analysis**: Code is analyzed with Bandit and other security tools
41
+
42
+ ### Security Best Practices
43
+
44
+ When using Orbit-DevOps:
45
+
46
+ 1. **Environment Variables**: Store sensitive tokens in environment variables, never in code
47
+ 2. **File Permissions**: Ensure proper file permissions on configuration files
48
+ 3. **Network Security**: Use HTTPS for all API communications
49
+ 4. **Regular Updates**: Keep Orbit-DevOps and its dependencies updated
50
+ 5. **Audit Logs**: Monitor sync operations and access patterns
51
+
52
+ ### Security Contacts
53
+
54
+ - **Security Team**: security@docsync.dev
55
+ - **Maintainer**: [NEO-SH1W4](https://github.com/NEO-SH1W4)
56
+ - **GitHub Security**: Use GitHub's private security advisory feature
57
+
58
+ ### Hall of Fame
59
+
60
+ We recognize security researchers who help improve Orbit-DevOps's security:
61
+
62
+ *No reports yet - be the first!*
63
+
64
+ ---
65
+
66
+ **Note**: This security policy is actively maintained and may be updated. Check back regularly for changes.
67
+
package/SETUP.md ADDED
@@ -0,0 +1,34 @@
1
+ # Configuração do Ambiente de Desenvolvimento
2
+ Data: 2025-06-01 20:04
3
+
4
+ ## Estado Inicial
5
+ - Python 3.11.5 (Instalado)
6
+ - Rust 1.87.0 (Instalado)
7
+ - Git (Não instalado)
8
+ - VS Code (Não instalado)
9
+ - Node.js (Não instalado)
10
+ - Docker Desktop (Não instalado)
11
+
12
+ ## Próximos Passos
13
+ 1. Instalar App Installer (para winget):
14
+ - Abrir Microsoft Store
15
+ - Buscar por "App Installer"
16
+ - Instalar/Atualizar o App Installer
17
+
18
+ 2. Após instalar o App Installer, executar:
19
+ `powershell
20
+ winget install --id Git.Git
21
+ winget install --id Microsoft.VisualStudioCode
22
+ winget install --id OpenJS.NodeJS.LTS
23
+ winget install --id Docker.DockerDesktop
24
+ `
25
+
26
+ 3. Links diretos para download manual (caso necessário):
27
+ - Git: https://git-scm.com/download/win
28
+ - VS Code: https://code.visualstudio.com/download
29
+ - Node.js LTS: https://nodejs.org/
30
+ - Docker Desktop: https://www.docker.com/products/docker-desktop
31
+
32
+ ## Ambiente Atual
33
+ PATH do usuário:
34
+ C:\Program Files\Python311\Scripts\;C:\Program Files\Python311\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\Username\.cargo\bin;C:\Users\Username\AppData\Local\Microsoft\WindowsApps;;C:\Users\Username\AppData\Roaming\Python\Python311\Scripts