@symbeon/orbit-devops 1.0.2 → 1.3.1
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.
- package/.github/PULL_REQUEST_TEMPLATE.md +24 -51
- package/.github/workflows/ci.yml +29 -0
- package/CONTRIBUTING.md +15 -195
- package/README.md +5 -1
- package/THESIS.md +50 -0
- package/bin/orbit.js +5 -5
- package/eslint.config.js +32 -0
- package/package.json +45 -39
- package/templates/adaptive-logic-sample.json +27 -0
- package/templates/agent-stack-dev.json +24 -0
- package/test/cli.test.js +23 -0
- package/FullRAMReport_Local.txt +0 -0
- package/FullRAMReport_UTF8.txt +0 -1400
- package/deep_downloads_org_log.txt +0 -15
- package/diagnostic_error.txt +0 -83
- package/diskpart_log.txt +0 -0
- package/downloads_audit.txt +0 -32
- package/downloads_audit_clear.txt +0 -27
- package/downloads_org_log.txt +0 -85
- package/sizes.txt +0 -6
- /package/{AdditionalCleanup.ps1 → scripts/cleanup/AdditionalCleanup.ps1} +0 -0
- /package/{ExecuteCleanup.ps1 → scripts/cleanup/ExecuteCleanup.ps1} +0 -0
- /package/{ExecuteTotalCleanup.ps1 → scripts/cleanup/ExecuteTotalCleanup.ps1} +0 -0
- /package/{PostRebootCleanup.ps1 → scripts/cleanup/PostRebootCleanup.ps1} +0 -0
- /package/{SafeSurgery.ps1 → scripts/cleanup/SafeSurgery.ps1} +0 -0
- /package/{Orbit.ps1 → scripts/core/Orbit.ps1} +0 -0
- /package/{AnalyzeCursor.ps1 → scripts/diagnostic/AnalyzeCursor.ps1} +0 -0
- /package/{AppDataAudit.ps1 → scripts/diagnostic/AppDataAudit.ps1} +0 -0
- /package/{CategorizedScan.ps1 → scripts/diagnostic/CategorizedScan.ps1} +0 -0
- /package/{CategorizedScan_v2.ps1 → scripts/diagnostic/CategorizedScan_v2.ps1} +0 -0
- /package/{CheckAnaconda.ps1 → scripts/diagnostic/CheckAnaconda.ps1} +0 -0
- /package/{CheckAppData.ps1 → scripts/diagnostic/CheckAppData.ps1} +0 -0
- /package/{CheckAppDataRoaming.ps1 → scripts/diagnostic/CheckAppDataRoaming.ps1} +0 -0
- /package/{CheckBackupSizes.ps1 → scripts/diagnostic/CheckBackupSizes.ps1} +0 -0
- /package/{CheckCacheSize.ps1 → scripts/diagnostic/CheckCacheSize.ps1} +0 -0
- /package/{CheckNodeModules.ps1 → scripts/diagnostic/CheckNodeModules.ps1} +0 -0
- /package/{CheckSpace.ps1 → scripts/diagnostic/CheckSpace.ps1} +0 -0
- /package/{CheckTargetSizes.ps1 → scripts/diagnostic/CheckTargetSizes.ps1} +0 -0
- /package/{CheckUserRoot.ps1 → scripts/diagnostic/CheckUserRoot.ps1} +0 -0
- /package/{DeepStorageAnalysis.ps1 → scripts/diagnostic/DeepStorageAnalysis.ps1} +0 -0
- /package/{DetailedBloatAudit.ps1 → scripts/diagnostic/DetailedBloatAudit.ps1} +0 -0
- /package/{DetailedBloatAudit_v3.ps1 → scripts/diagnostic/DetailedBloatAudit_v3.ps1} +0 -0
- /package/{DetailedProcessAudit.ps1 → scripts/diagnostic/DetailedProcessAudit.ps1} +0 -0
- /package/{DiagnosticoSistema.ps1 → scripts/diagnostic/DiagnosticoSistema.ps1} +0 -0
- /package/{FinalCategorizedReport.ps1 → scripts/diagnostic/FinalCategorizedReport.ps1} +0 -0
- /package/{FinalDeepDive.ps1 → scripts/diagnostic/FinalDeepDive.ps1} +0 -0
- /package/{ForensicRAMAudit.ps1 → scripts/diagnostic/ForensicRAMAudit.ps1} +0 -0
- /package/{ForensicRAMAudit_UTF8.ps1 → scripts/diagnostic/ForensicRAMAudit_UTF8.ps1} +0 -0
- /package/{ForensicRAMAudit_v2.ps1 → scripts/diagnostic/ForensicRAMAudit_v2.ps1} +0 -0
- /package/{ForensicRAMAudit_v3.ps1 → scripts/diagnostic/ForensicRAMAudit_v3.ps1} +0 -0
- /package/{GiantHunt.ps1 → scripts/diagnostic/GiantHunt.ps1} +0 -0
- /package/{GlobalRAMAudit.ps1 → scripts/diagnostic/GlobalRAMAudit.ps1} +0 -0
- /package/{MeasureSuspects.ps1 → scripts/diagnostic/MeasureSuspects.ps1} +0 -0
- /package/{RAMAudit.ps1 → scripts/diagnostic/RAMAudit.ps1} +0 -0
- /package/{RAMAudit_v2.ps1 → scripts/diagnostic/RAMAudit_v2.ps1} +0 -0
- /package/{RootAudit.ps1 → scripts/diagnostic/RootAudit.ps1} +0 -0
- /package/{RunDiagnostic.ps1 → scripts/diagnostic/RunDiagnostic.ps1} +0 -0
- /package/{RunDiagnosticSimple.ps1 → scripts/diagnostic/RunDiagnosticSimple.ps1} +0 -0
- /package/{ScanPrograms.ps1 → scripts/diagnostic/ScanPrograms.ps1} +0 -0
- /package/{ScanRepoWaste.ps1 → scripts/diagnostic/ScanRepoWaste.ps1} +0 -0
- /package/{ScanStorage.ps1 → scripts/diagnostic/ScanStorage.ps1} +0 -0
- /package/{ScanTargets.ps1 → scripts/diagnostic/ScanTargets.ps1} +0 -0
- /package/{SimpleSurgicalAudit.ps1 → scripts/diagnostic/SimpleSurgicalAudit.ps1} +0 -0
- /package/{SurgicalBloatAudit.ps1 → scripts/diagnostic/SurgicalBloatAudit.ps1} +0 -0
- /package/{SurgicalScan.ps1 → scripts/diagnostic/SurgicalScan.ps1} +0 -0
- /package/{SystemDiagnostic.ps1 → scripts/diagnostic/SystemDiagnostic.ps1} +0 -0
- /package/{SystemDiagnosticSimple.ps1 → scripts/diagnostic/SystemDiagnosticSimple.ps1} +0 -0
- /package/{SystemDiagnosticUser.ps1 → scripts/diagnostic/SystemDiagnosticUser.ps1} +0 -0
- /package/{SystemDiagnosticUser_v2.ps1 → scripts/diagnostic/SystemDiagnosticUser_v2.ps1} +0 -0
- /package/{UserAudit.ps1 → scripts/diagnostic/UserAudit.ps1} +0 -0
- /package/{ForcePush.ps1 → scripts/legacy/ForcePush.ps1} +0 -0
- /package/{check_environment.ps1 → scripts/setup/check_environment.ps1} +0 -0
- /package/{setup_environment.ps1 → scripts/setup/setup_environment.ps1} +0 -0
- /package/{verify_environment.ps1 → scripts/setup/verify_environment.ps1} +0 -0
|
@@ -1,51 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- [ ]
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- [ ]
|
|
19
|
-
- [ ]
|
|
20
|
-
- [ ]
|
|
21
|
-
- [ ]
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- [ ] 🛠️ CI/CD or build system changes
|
|
26
|
-
|
|
27
|
-
## 🧠 Implementation Details
|
|
28
|
-
Brief explanation of the implementation approach.
|
|
29
|
-
|
|
30
|
-
## 📸 Screenshots
|
|
31
|
-
If applicable, add screenshots to help explain your changes.
|
|
32
|
-
|
|
33
|
-
## 🔍 Review Checklist
|
|
34
|
-
- [ ] My code follows the style guidelines of this project
|
|
35
|
-
- [ ] I have performed a self-review of my own code
|
|
36
|
-
- [ ] I have commented my code, particularly in hard-to-understand areas
|
|
37
|
-
- [ ] I have made corresponding changes to the documentation
|
|
38
|
-
- [ ] My changes generate no new warnings
|
|
39
|
-
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
40
|
-
- [ ] New and existing unit tests pass locally with my changes
|
|
41
|
-
- [ ] Any dependent changes have been merged and published
|
|
42
|
-
|
|
43
|
-
## 📊 Performance Impact
|
|
44
|
-
Describe any performance impacts (positive or negative).
|
|
45
|
-
|
|
46
|
-
## 🔒 Security Considerations
|
|
47
|
-
Explain any security implications of your changes.
|
|
48
|
-
|
|
49
|
-
## 📋 Additional Notes
|
|
50
|
-
Any additional information that would be helpful to reviewers.
|
|
51
|
-
|
|
1
|
+
## 🪐 Orbit-DevOps Pull Request
|
|
2
|
+
|
|
3
|
+
### 📝 Description
|
|
4
|
+
Provide a concise summary of the changes and the rationale behind them.
|
|
5
|
+
|
|
6
|
+
### 🚀 Type of Change
|
|
7
|
+
- [ ] 🚀 New Feature
|
|
8
|
+
- [ ] 🐛 Bug Fix
|
|
9
|
+
- [ ] 🧹 Refactor / Cleanup
|
|
10
|
+
- [ ] 📝 Documentation Update
|
|
11
|
+
- [ ] 🧪 Testing
|
|
12
|
+
|
|
13
|
+
### 🤖 AI Assistance
|
|
14
|
+
- Was this PR generated or assisted by an AI agent? (Yes/No)
|
|
15
|
+
- If yes, which agent/model was used?
|
|
16
|
+
|
|
17
|
+
### ✅ Checklist
|
|
18
|
+
- [ ] I have tested these changes on my local machine.
|
|
19
|
+
- [ ] I have updated the documentation accordingly.
|
|
20
|
+
- [ ] My code follows the project's style guidelines.
|
|
21
|
+
- [ ] All new and existing tests passed.
|
|
22
|
+
|
|
23
|
+
### 📸 Screenshots / Recordings (if applicable)
|
|
24
|
+
Add any visual proof of the changes here.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: windows-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Use Node.js
|
|
17
|
+
uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: "20.x"
|
|
20
|
+
cache: "npm"
|
|
21
|
+
|
|
22
|
+
- name: Install dependencies
|
|
23
|
+
run: npm install
|
|
24
|
+
|
|
25
|
+
- name: Lint code
|
|
26
|
+
run: npm run lint
|
|
27
|
+
|
|
28
|
+
- name: Run tests
|
|
29
|
+
run: npm test
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,203 +1,23 @@
|
|
|
1
|
-
# Contributing to
|
|
1
|
+
# 🤝 Contributing to Orbit-DevOps
|
|
2
2
|
|
|
3
|
-
First off, thank you for considering contributing to
|
|
3
|
+
First off, thank you for considering contributing to Orbit-DevOps! It's people like you that make it a great tool for the community.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🛠️ Development Workflow
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. **Fork the repo** and create your branch from `main`.
|
|
8
|
+
2. **Install dependencies**: `npm install`.
|
|
9
|
+
3. **Make your changes**. If you're adding a new PowerShell script, place it in the root or a logical subfolder under `scripts/`.
|
|
10
|
+
4. **Test your changes**: Run `node bin/orbit.js [command]` or `npm link` and run `orbit [command]`.
|
|
11
|
+
5. **Submit a Pull Request** using our PR template.
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
## 📝 Coding Standards
|
|
10
14
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **Script Name:** Which script encountered the issue
|
|
14
|
-
- **Expected Behavior:** What you expected to happen
|
|
15
|
-
- **Actual Behavior:** What actually happened
|
|
16
|
-
- **Error Messages:** Full error text from console/logs
|
|
17
|
-
- **Steps to Reproduce:** Detailed steps to reproduce the issue
|
|
15
|
+
- **PowerShell**: Use clear variable names, include error handling (`Try/Catch`), and use `Write-Log` (or similar output helpers) for visibility.
|
|
16
|
+
- **Node.js**: Follow ESM standards, use `commander` for new CLI commands, and ensure Windows path compatibility using `path.resolve`.
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
## 🐛 Reporting Issues
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
Use GitHub Issues to report bugs or suggest features. Be as descriptive as possible and include your OS version and Node.js version.
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- **Alternatives Considered:** Other approaches you've thought about
|
|
26
|
-
- **Additional Context:** Screenshots, examples, etc.
|
|
27
|
-
|
|
28
|
-
### Pull Requests
|
|
29
|
-
|
|
30
|
-
1. **Fork the repo** and create your branch from `main`
|
|
31
|
-
2. **Test your changes** thoroughly on a Windows machine
|
|
32
|
-
3. **Update documentation** if you're adding/changing functionality
|
|
33
|
-
4. **Follow the coding style** used in existing scripts
|
|
34
|
-
5. **Write clear commit messages**
|
|
35
|
-
6. **Submit the PR** with a clear description
|
|
36
|
-
|
|
37
|
-
## 💻 Development Setup
|
|
38
|
-
|
|
39
|
-
```powershell
|
|
40
|
-
# Clone your fork
|
|
41
|
-
git clone https://github.com/YOUR_USERNAME/windows-diagnostic-toolkit.git
|
|
42
|
-
cd windows-diagnostic-toolkit
|
|
43
|
-
|
|
44
|
-
# Create a branch for your feature
|
|
45
|
-
git checkout -b feature/your-feature-name
|
|
46
|
-
|
|
47
|
-
# Make your changes and test them
|
|
48
|
-
# ...
|
|
49
|
-
|
|
50
|
-
# Commit your changes
|
|
51
|
-
git add .
|
|
52
|
-
git commit -m "Add: Brief description of your changes"
|
|
53
|
-
|
|
54
|
-
# Push to your fork
|
|
55
|
-
git push origin feature/your-feature-name
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## 📝 Coding Guidelines
|
|
59
|
-
|
|
60
|
-
### PowerShell Style
|
|
61
|
-
|
|
62
|
-
- Use **PascalCase** for function names
|
|
63
|
-
- Use **camelCase** for variables
|
|
64
|
-
- Include **comment blocks** for complex logic
|
|
65
|
-
- Add **error handling** with try/catch
|
|
66
|
-
- Use **Write-Log** function for output (see existing scripts)
|
|
67
|
-
- Include **parameter validation** where appropriate
|
|
68
|
-
|
|
69
|
-
### Example:
|
|
70
|
-
|
|
71
|
-
```powershell
|
|
72
|
-
function Get-LargeFiles {
|
|
73
|
-
param(
|
|
74
|
-
[Parameter(Mandatory=$true)]
|
|
75
|
-
[string]$Path,
|
|
76
|
-
|
|
77
|
-
[Parameter(Mandatory=$false)]
|
|
78
|
-
[int]$MinSizeMB = 100
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
try {
|
|
82
|
-
Write-Log "Scanning for files larger than $MinSizeMB MB in $Path"
|
|
83
|
-
|
|
84
|
-
Get-ChildItem $Path -Recurse -File -ErrorAction SilentlyContinue |
|
|
85
|
-
Where-Object { $_.Length -gt ($MinSizeMB * 1MB) } |
|
|
86
|
-
Sort-Object Length -Descending
|
|
87
|
-
|
|
88
|
-
Write-Log "Scan completed successfully"
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
Write-Log "Error during scan: $_" -Type "ERROR"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Documentation
|
|
97
|
-
|
|
98
|
-
- **README.md:** Update if adding new scripts or features
|
|
99
|
-
- **Inline Comments:** Explain *why*, not *what* (code shows what)
|
|
100
|
-
- **Function Headers:** Include purpose, parameters, and return values
|
|
101
|
-
- **Examples:** Provide usage examples for new features
|
|
102
|
-
|
|
103
|
-
## 🧪 Testing
|
|
104
|
-
|
|
105
|
-
Before submitting a PR:
|
|
106
|
-
|
|
107
|
-
1. **Test on clean system:** If possible, test on a fresh Windows install
|
|
108
|
-
2. **Test error cases:** Try invalid inputs, missing files, etc.
|
|
109
|
-
3. **Check logs:** Ensure logging is clear and helpful
|
|
110
|
-
4. **Verify cleanup:** If it's a cleanup script, verify it doesn't delete important data
|
|
111
|
-
5. **Test without admin:** Verify scripts work without elevation (if designed to)
|
|
112
|
-
|
|
113
|
-
## 🎨 Project Structure
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
DIAGNOSTIC_BACKUP/
|
|
117
|
-
├── README.md # Main documentation
|
|
118
|
-
├── LICENSE # MIT License
|
|
119
|
-
├── CONTRIBUTING.md # This file
|
|
120
|
-
│
|
|
121
|
-
├── Core Diagnostic/
|
|
122
|
-
│ ├── SystemDiagnostic.ps1 # Full diagnostic (admin)
|
|
123
|
-
│ ├── SystemDiagnosticUser.ps1 # User-level diagnostic
|
|
124
|
-
│ └── SystemDiagnosticSimple.ps1 # Lightweight scan
|
|
125
|
-
│
|
|
126
|
-
├── Analysis/
|
|
127
|
-
│ ├── ScanStorage.ps1 # Storage analysis
|
|
128
|
-
│ ├── ScanTargets.ps1 # Targeted scans
|
|
129
|
-
│ ├── AnalyzeCursor.ps1 # Cursor-specific
|
|
130
|
-
│ └── CheckAppData.ps1 # AppData analysis
|
|
131
|
-
│
|
|
132
|
-
├── Cleanup/
|
|
133
|
-
│ ├── AdditionalCleanup.ps1 # Safe cleanup
|
|
134
|
-
│ ├── ExecuteCleanup.ps1 # Standard cleanup
|
|
135
|
-
│ ├── ExecuteTotalCleanup.ps1 # Aggressive cleanup
|
|
136
|
-
│ └── PostRebootCleanup.ps1 # Post-reboot tasks
|
|
137
|
-
│
|
|
138
|
-
├── Utilities/
|
|
139
|
-
│ ├── check_environment.ps1 # Environment check
|
|
140
|
-
│ ├── setup_environment.ps1 # Setup helper
|
|
141
|
-
│ └── verify_environment.ps1 # Verification
|
|
142
|
-
│
|
|
143
|
-
└── Documentation/
|
|
144
|
-
├── SETUP.md # Setup guide
|
|
145
|
-
├── NEXT_STEPS.md # Next steps
|
|
146
|
-
└── Reports/ # Generated reports
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## 🏷️ Commit Message Guidelines
|
|
150
|
-
|
|
151
|
-
Use clear, descriptive commit messages:
|
|
152
|
-
|
|
153
|
-
- **Add:** New feature or script
|
|
154
|
-
- **Fix:** Bug fix
|
|
155
|
-
- **Update:** Modify existing functionality
|
|
156
|
-
- **Docs:** Documentation changes
|
|
157
|
-
- **Refactor:** Code restructuring without behavior change
|
|
158
|
-
- **Test:** Adding or updating tests
|
|
159
|
-
|
|
160
|
-
Examples:
|
|
161
|
-
```
|
|
162
|
-
Add: Browser cache cleanup to AdditionalCleanup.ps1
|
|
163
|
-
Fix: Handle missing Docker installation gracefully
|
|
164
|
-
Update: Improve error messages in SystemDiagnostic.ps1
|
|
165
|
-
Docs: Add troubleshooting section to README
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
## 🌟 Feature Ideas
|
|
169
|
-
|
|
170
|
-
Looking for contribution ideas? Here are some:
|
|
171
|
-
|
|
172
|
-
### High Priority
|
|
173
|
-
- [ ] Add Linux/macOS versions of diagnostic scripts
|
|
174
|
-
- [ ] Create automated tests
|
|
175
|
-
- [ ] Add GitHub Actions CI/CD
|
|
176
|
-
- [ ] Improve error handling across all scripts
|
|
177
|
-
|
|
178
|
-
### Medium Priority
|
|
179
|
-
- [ ] GUI wrapper using Windows Forms
|
|
180
|
-
- [ ] Scheduled task automation
|
|
181
|
-
- [ ] Export reports to JSON/CSV
|
|
182
|
-
- [ ] Integration with Windows Event Log
|
|
183
|
-
|
|
184
|
-
### Nice to Have
|
|
185
|
-
- [ ] Machine learning for cleanup recommendations
|
|
186
|
-
- [ ] Multi-language support
|
|
187
|
-
- [ ] Cloud backup integration warnings
|
|
188
|
-
- [ ] Performance benchmarking
|
|
189
|
-
|
|
190
|
-
## 📞 Questions?
|
|
191
|
-
|
|
192
|
-
- **General Questions:** Open a GitHub Discussion
|
|
193
|
-
- **Bug Reports:** Open a GitHub Issue
|
|
194
|
-
- **Security Issues:** Email directly (don't open public issue)
|
|
195
|
-
|
|
196
|
-
## 🙏 Recognition
|
|
197
|
-
|
|
198
|
-
Contributors will be recognized in:
|
|
199
|
-
- README.md contributors section
|
|
200
|
-
- Release notes
|
|
201
|
-
- Project documentation
|
|
202
|
-
|
|
203
|
-
Thank you for helping make Windows system maintenance easier for everyone! 🎉
|
|
22
|
+
---
|
|
23
|
+
Built with ❤️ by the **Symbeon** community.
|
package/README.md
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
<p><b>Diagnose. Optimize. Compact. Control.</b></p>
|
|
7
7
|
|
|
8
8
|
<p>
|
|
9
|
-
<img src="https://img.shields.io/npm/v/orbit-devops?style=flat-square&color=cb3837" alt="NPM Version" />
|
|
9
|
+
<img src="https://img.shields.io/npm/v/@symbeon/orbit-devops?style=flat-square&color=cb3837" alt="NPM Version" />
|
|
10
|
+
<img src="https://github.com/SH1W4/orbit-devops/actions/workflows/ci.yml/badge.svg" alt="CI Status" />
|
|
10
11
|
<img src="https://img.shields.io/badge/platform-Windows_11%20%7C%20WSL2-0078D6?style=flat-square&logo=windows" alt="Platform" />
|
|
11
12
|
<img src="https://img.shields.io/badge/AI-MCP_Ready-purple?style=flat-square&logo=openai" alt="AI Ready" />
|
|
12
13
|
<img src="https://img.shields.io/github/license/SH1W4/orbit-devops?style=flat-square" alt="License" />
|
|
@@ -17,6 +18,9 @@
|
|
|
17
18
|
|
|
18
19
|
**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
|
|
|
21
|
+
> [!IMPORTANT]
|
|
22
|
+
> **Read the [Orbit Thesis & Manifesto](./THESIS.md)** to understand the philosophy and strategic vision behind this project.
|
|
23
|
+
|
|
20
24
|
## 🚀 One-Minute Start
|
|
21
25
|
|
|
22
26
|
Run without installing:
|
package/THESIS.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 🪐 Orbit-DevOps: Tese e Manifesto de Fundação
|
|
2
|
+
|
|
3
|
+
## 📖 A Gênese: Por que o Orbit existe?
|
|
4
|
+
|
|
5
|
+
Em uma era de desenvolvimento de software dominada por abstrações pesadas, ambientes de IA famintos por recursos e ferramentas que "sequestram" o controle do usuário, o workspace do desenvolvedor tornou-se um campo de batalha caótico.
|
|
6
|
+
|
|
7
|
+
O **Orbit-DevOps** nasceu de um problema fundamental enfrentado pela **Symbeon Labs**:
|
|
8
|
+
> "Como manter um ambiente de alta fidelidade e alta performance, sem sacrificar a privacidade e sem se afogar na poluição digital gerada pelas próprias ferramentas de desenvolvimento?"
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 🏛️ Os Três Pilares da Tese
|
|
13
|
+
|
|
14
|
+
### 1. A Automação Cirúrgica (Eficiência)
|
|
15
|
+
A maioria dos utilitários de sistema são "marretas" que atingem tudo sem precisão. O Orbit é um "bisturi". Ele não apenas apaga arquivos; ele entende o ecossistema (Node.js, Docker, WSL, AppData) e remove cirurgicamente o que é lixo, preservando o que é DNA do projeto.
|
|
16
|
+
|
|
17
|
+
### 2. Infraestrutura Agente-Pronta (Agentic Backbone)
|
|
18
|
+
Este é o diferencial estratégico. Para que IAs e Agentes (como o Antigravity) operem com eficiência máxima, eles precisam de um ambiente limpo e previsível. O Orbit fornece a **"Linguagem de Controle"** que permite que humanos e IAs mantenham a infraestrutura em harmonia.
|
|
19
|
+
|
|
20
|
+
### 3. Fortificando a Privacidade (Sovereign Context)
|
|
21
|
+
O caos gera vazamento de dados. Ao organizar diagnósticos e remover rastros sensíveis de caminhos locais, o Orbit garante que o desenvolvedor possa compartilhar seu trabalho e suas métricas sem expor sua vida privada. É a ferramenta da **Soberania Digital**.
|
|
22
|
+
|
|
23
|
+
### 4. Pilhas de Agentes (Agent DNA & Hybrid Evolution)
|
|
24
|
+
Este é o ápice da tese Orbit. Não construímos apenas ferramentas para humanos; construímos o **DNA de infraestrutura para Agentes Autônomos**.
|
|
25
|
+
|
|
26
|
+
O diferencial do Orbit é a **Evolução Híbrida**:
|
|
27
|
+
- **Genomas Fixos**: Blueprints de referência que garantem estabilidade e padrões. (Veja: [agent-stack-dev](https://github.com/SH1W4/agent-stack-dev))
|
|
28
|
+
- **Adaptação Orgânica**: A capacidade do Orbit de observar o hardware e o contexto em tempo real (via `orbit doctor`) e "mutar" a stack para garantir performance máxima, agindo como um sistema imunológico e de provisionamento inteligente.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 🚀 A Visão: Do Local para o Hub
|
|
33
|
+
|
|
34
|
+
O Orbit não busca ser apenas um CLI. Ele é o primeiro passo para o **Symbeon Hub**:
|
|
35
|
+
|
|
36
|
+
1. **Fase Atual (Orbit OS)**: Controle total da máquina local.
|
|
37
|
+
2. **Fase Próxima (Orbit Sync)**: Sincronização de preferências e stacks entre máquinas.
|
|
38
|
+
3. **Fase Final (Enterprise Fleet)**: Gestão centralizada de frotas de desenvolvimento, garantindo que "Um ambiente perfeito para um, seja o padrão para todos".
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 💡 Conclusão
|
|
43
|
+
|
|
44
|
+
O Orbit-DevOps existe porque acreditamos que **a ordem precede a inteligência**. Antes de construirmos sistemas complexos, precisamos garantir que o solo (nosso workspace) é fértil, limpo e controlado.
|
|
45
|
+
|
|
46
|
+
**Orbit é o Centro de Comando para quem não aceita o caos.**
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
*Assinado,*
|
|
50
|
+
**Symbeon Labs**
|
package/bin/orbit.js
CHANGED
|
@@ -15,7 +15,7 @@ const program = new Command();
|
|
|
15
15
|
program
|
|
16
16
|
.name('orbit')
|
|
17
17
|
.description('Orbit-DevOps: The Developer\'s Workspace Command Center')
|
|
18
|
-
.version('1.
|
|
18
|
+
.version('1.1.0');
|
|
19
19
|
|
|
20
20
|
import fs from 'fs';
|
|
21
21
|
|
|
@@ -53,21 +53,21 @@ program
|
|
|
53
53
|
.command('doctor')
|
|
54
54
|
.description('Run a full system diagnostic health check')
|
|
55
55
|
.action(() => {
|
|
56
|
-
runScript('SystemDiagnosticUser_v2.ps1');
|
|
56
|
+
runScript('scripts/diagnostic/SystemDiagnosticUser_v2.ps1');
|
|
57
57
|
});
|
|
58
58
|
|
|
59
59
|
program
|
|
60
60
|
.command('space')
|
|
61
61
|
.description('Analyze disk usage and find hotspots')
|
|
62
62
|
.action(() => {
|
|
63
|
-
runScript('ScanStorage.ps1');
|
|
63
|
+
runScript('scripts/diagnostic/ScanStorage.ps1');
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
program
|
|
67
67
|
.command('clean')
|
|
68
68
|
.description('Perform safe system and dev-tool cleanup')
|
|
69
69
|
.action(() => {
|
|
70
|
-
runScript('AdditionalCleanup.ps1');
|
|
70
|
+
runScript('scripts/cleanup/AdditionalCleanup.ps1');
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
program
|
|
@@ -89,7 +89,7 @@ program
|
|
|
89
89
|
.command('menu')
|
|
90
90
|
.description('Launch the interactive PowerShell menu (Legacy)')
|
|
91
91
|
.action(() => {
|
|
92
|
-
runScript('Orbit.ps1');
|
|
92
|
+
runScript('scripts/core/Orbit.ps1');
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
program.parse(process.argv);
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import js from "@eslint/js";
|
|
2
|
+
import vitest from "eslint-plugin-vitest";
|
|
3
|
+
|
|
4
|
+
export default [
|
|
5
|
+
js.configs.recommended,
|
|
6
|
+
{
|
|
7
|
+
files: ["test/**/*.test.js"],
|
|
8
|
+
plugins: { vitest },
|
|
9
|
+
rules: {
|
|
10
|
+
...vitest.configs.recommended.rules,
|
|
11
|
+
},
|
|
12
|
+
languageOptions: {
|
|
13
|
+
globals: {
|
|
14
|
+
...vitest.environments.env.globals,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
languageOptions: {
|
|
20
|
+
ecmaVersion: "latest",
|
|
21
|
+
sourceType: "module",
|
|
22
|
+
globals: {
|
|
23
|
+
process: "readonly",
|
|
24
|
+
console: "readonly",
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
rules: {
|
|
28
|
+
"no-unused-vars": "warn",
|
|
29
|
+
"no-console": "off",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
];
|
package/package.json
CHANGED
|
@@ -1,39 +1,45 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@symbeon/orbit-devops",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "The Developer's Workspace Command Center. Diagnose, Optimize, Compact, Control.",
|
|
5
|
-
"main": "bin/orbit.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"orbit": "./bin/orbit.js",
|
|
8
|
-
"orbit-devops": "./bin/orbit.js"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"start": "node bin/orbit.js",
|
|
12
|
-
"test": "
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@symbeon/orbit-devops",
|
|
3
|
+
"version": "1.3.1",
|
|
4
|
+
"description": "The Developer's Workspace Command Center. Diagnose, Optimize, Compact, Control.",
|
|
5
|
+
"main": "bin/orbit.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"orbit": "./bin/orbit.js",
|
|
8
|
+
"orbit-devops": "./bin/orbit.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "node bin/orbit.js",
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"lint": "eslint ."
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/SH1W4/orbit-devops.git"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"windows",
|
|
21
|
+
"devops",
|
|
22
|
+
"cleanup",
|
|
23
|
+
"wsl",
|
|
24
|
+
"docker",
|
|
25
|
+
"optimization"
|
|
26
|
+
],
|
|
27
|
+
"author": "Symbeon",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"type": "module",
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/SH1W4/orbit-devops/issues"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://github.com/SH1W4/orbit-devops#readme",
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"chalk": "^5.4.1",
|
|
36
|
+
"commander": "^13.1.0",
|
|
37
|
+
"cross-spawn": "^7.0.6",
|
|
38
|
+
"inquirer": "^12.4.1"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"eslint": "^8.57.1",
|
|
42
|
+
"eslint-plugin-vitest": "^0.5.4",
|
|
43
|
+
"vitest": "^4.0.18"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"profile": "Autonomous-Edge-Agent",
|
|
3
|
+
"base_dna": "v1.2.0-core",
|
|
4
|
+
"adaptation_rules": [
|
|
5
|
+
{
|
|
6
|
+
"trigger": "RAM < 8GB",
|
|
7
|
+
"action": "use_lite_runtimes",
|
|
8
|
+
"impact": "Disables local LLM inference, switches to API-based agents."
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"trigger": "Disk_Free < 20GB",
|
|
12
|
+
"action": "aggressive_cleanup",
|
|
13
|
+
"impact": "Runs `orbit clean` and `orbit compact` before any task."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"trigger": "OS == Windows_Server",
|
|
17
|
+
"action": "enable_fleet_telemetry",
|
|
18
|
+
"impact": "Activates enterprise monitoring hooks."
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"evolution_path": {
|
|
22
|
+
"step_1": "Analyze Context",
|
|
23
|
+
"step_2": "Mutate Requirements",
|
|
24
|
+
"step_3": "Provision Bio-Shell",
|
|
25
|
+
"step_4": "Verify Health"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"stack_name": "Autonomous-Dev-Shell",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"archetype": "Specialist-Developer",
|
|
5
|
+
"requirements": {
|
|
6
|
+
"os": "Windows 11 | WSL2",
|
|
7
|
+
"runtime": ["Node.js 20.x", "Python 3.12"],
|
|
8
|
+
"cli_tools": ["gh", "npm", "git", "orbit"],
|
|
9
|
+
"env_vars": {
|
|
10
|
+
"AGENT_MODE": "autonomous",
|
|
11
|
+
"ORBIT_ENV": "production"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"provisioning": {
|
|
15
|
+
"doctor_before_run": true,
|
|
16
|
+
"cleanup_on_exit": true,
|
|
17
|
+
"sync_stack_on_change": true
|
|
18
|
+
},
|
|
19
|
+
"permissions": {
|
|
20
|
+
"fs_read": ["PROJECT_ROOT"],
|
|
21
|
+
"fs_write": ["PROJECT_ROOT/temp", "PROJECT_ROOT/logs"],
|
|
22
|
+
"network": true
|
|
23
|
+
}
|
|
24
|
+
}
|
package/test/cli.test.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
const CLI_PATH = path.resolve(process.cwd(), 'bin/orbit.js');
|
|
6
|
+
|
|
7
|
+
describe('Orbit-DevOps CLI', () => {
|
|
8
|
+
it('should display help information', () => {
|
|
9
|
+
const output = execSync(`node ${CLI_PATH} --help`).toString();
|
|
10
|
+
expect(output).toContain('Usage: orbit');
|
|
11
|
+
expect(output).toContain('Options:');
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('should have the doctor command', () => {
|
|
15
|
+
const output = execSync(`node ${CLI_PATH} --help`).toString();
|
|
16
|
+
expect(output).toContain('doctor');
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should have the sync command', () => {
|
|
20
|
+
const output = execSync(`node ${CLI_PATH} --help`).toString();
|
|
21
|
+
expect(output).toContain('sync');
|
|
22
|
+
});
|
|
23
|
+
});
|
package/FullRAMReport_Local.txt
DELETED
|
Binary file
|