Vielen Dank für Ihr Interesse, zu diesem Projekt beizutragen!
- Bug melden: Erstellen Sie ein Issue mit dem Label
bug - Feature vorschlagen: Erstellen Sie ein Issue mit dem Label
enhancement - Code beitragen: Erstellen Sie einen Pull Request
- Forken Sie das Repository
- Erstellen Sie einen Feature-Branch:
git checkout -b feature/mein-feature - Committen Sie Ihre Änderungen:
git commit -m "Beschreibung der Änderung" - Pushen Sie den Branch:
git push origin feature/mein-feature - Erstellen Sie einen Pull Request
Dieses Projekt verwendet den Developer Certificate of Origin (DCO).
Bitte signieren Sie jeden Commit mit --signoff:
git commit --signoff -m "Beschreibung der Änderung"
Damit bestätigen Sie, dass Sie das Recht haben, den Code unter der Projektlizenz einzureichen.
- Python: PEP 8 Stil mit
ruff check . - Tests: Vollständige Suite muss grün sein (
python -m pytest -ra -v) - Bytecode: Kompilierung muss fehlerfrei sein (
python -m compileall -q .) - Encoding: UTF-8 für alle Dateien ohne BOM
- Sprache: Code und Kommentare auf Deutsch oder Englisch
- Sicherheit & Egress: Keine hardcodierten Pfade, API-Keys oder Egress-Lecks; striktes
RunAsInvoker(keine Admin-/UAC-Rechte) - Invarianten: Einhaltung der 10 Governance-Invarianten
INV-LOCAL-01bisINV-SLA-10
| Invariante | Name | Spezifikation |
|---|---|---|
INV-LOCAL-01 |
Zero-Egress Default | 100% Offline-Betrieb standardmäßig; keine Hintergrund-Telemetrie oder Pingbacks. |
INV-OPTIN-02 |
Opt-In AI Boundary | Anthropic/Claude-API-Anfragen werden ausschließlich auf explizite Nutzerinteraktion versendet. |
INV-KEYRING-03 |
Keyring Secret Vault | Optionale API-Schlüssel werden verschlüsselt im Betriebssystem-Schlüsselspeicher (Keyring) gehalten; kein Klartext auf Datenträgern. |
INV-EXPORT-04 |
Redacted Workspace Export | Bereinigter Workspace-Export (devcenter-workspace-v1.json) entfernt Passwörter, Secrets und private Pfade. |
INV-STATIC-05 |
Inert AST Inspection | Statische Codeanalyse parst AST-Knoten ohne Ausführung des analysierten Nutzer-Codes. |
INV-SECURITY-06 |
Vulnerability Floors | Durchsetzung geprüfter Sicherheitsmindestversionen (Pillow>=12.3.0, keyring>=25.0.0, pytest>=9.1.1). |
INV-PERM-07 |
100% Permissive / Separation | GPLv3-Suite mit dynamischer PySide6 LGPL-Verlinkung und PyInstaller Bootloader Special Exception. |
INV-USER-08 |
Unprivileged RunAsInvoker | Strikt unprivilegierte Ausführung im regulären Benutzerkontext ohne Administrator-/UAC-Rechte. |
INV-MULTI-09 |
Multi-Host Sync Discipline | Plan D Git-Hygiene; .gitignore blockiert Sync-Konfliktdateien, Host-Nebenstände und Locks. |
INV-SLA-10 |
48h / 5d Security SLA | Verbindliche Sicherheitsreaktionszeiten mit 48h Erstprüfung und 5 Tagen Triage. |
- Kanonischer Arbeitsort (Source of Truth):
C:\_Local_DEV\repos\DevCenter(lokaler Klon) und GitHuborigin. - OneDrive-Rolle: Nur gitloser Projektions- und Lesespiegel (
<OneDrive>/.TOPICS/.SOFTWARE/DEV/REL-PUB_DevCenter_SUITE;<OneDrive>bezeichnet die OneDrive-Wurzel des jeweiligen Hosts). Entwicklung und Commits erfolgen niemals direkt auf Cloud-gemounteten Datenträgern, um Locking-Konflikte zu vermeiden.
Da dieses Softwareprojekt unentgeltlich als Open-Source-Software bereitgestellt wird, haftet der Anbieter gemäß § 521 BGB nur für Vorsatz und grobe Fahrlässigkeit. Es wird keine Gewähr für Mängelfreiheit oder ununterbrochenen Betrieb übernommen.
Verbindliche Sicherheits-SLA: 48 Stunden Reaktionszeit auf Meldungen, 5 Tage Triage-Frist. Sicherheitsrelevante Schwachstellen bitte vertraulich melden an:
security@dev-bricks.orgsecurity@open-bricks.orgsupport@lukasgeiger.comlukas@open-bricks.org
- Die Version
1.0.3ist in allen Manifesten (pyproject.toml, Quelltexten) eingefroren. - Releasewechsel und Versionserhöhungen sind separaten Veröffentlichungszyklen vorbehalten.
- Alle neuen Features, Fehlerbehebungen und Hygiene-Korrekturen werden unter
## [Unreleased]inCHANGELOG.mddokumentiert.
git clone https://github.com/dev-bricks/DevCenter.git
cd DevCenter
pip install -r requirements.txt
python -m pytest -ra -v
python main.pyThank you for your interest in contributing to this project!
- Report bugs: Create an issue with the
buglabel - Suggest features: Create an issue with the
enhancementlabel - Contribute code: Create a Pull Request
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Description of change" - Push the branch:
git push origin feature/my-feature - Create a Pull Request
This project uses the Developer Certificate of Origin (DCO).
Please sign off every commit with --signoff:
git commit --signoff -m "Description of change"
This certifies that you have the right to submit the code under the project license.
- Python: PEP 8 style enforced with
ruff check . - Tests: Test suite must pass 100% (
python -m pytest -ra -v) - Bytecode: Clean compilation without errors (
python -m compileall -q .) - Encoding: UTF-8 without BOM for all files
- Language: Code and comments in German or English
- Security & Egress: No hardcoded paths, API keys, or network leaks; strict
RunAsInvoker(no admin/UAC elevation) - Invariants: Strict compliance with all 10 governance invariants
INV-LOCAL-01throughINV-SLA-10
| Invariant | Name | Specification |
|---|---|---|
INV-LOCAL-01 |
Zero-Egress Default | 100% offline operation by default; zero telemetry or pingbacks. |
INV-OPTIN-02 |
Opt-In AI Boundary | Anthropic/Claude API requests dispatched strictly upon explicit user interaction. |
INV-KEYRING-03 |
Keyring Secret Vault | Optional API keys encrypted in native OS credential manager; zero plaintext on disk. |
INV-EXPORT-04 |
Redacted Workspace Export | Sanitized workspace export (devcenter-workspace-v1.json) strips secrets and private paths. |
INV-STATIC-05 |
Inert AST Inspection | Static analysis parses AST tokens inertly without executing target user code. |
INV-SECURITY-06 |
Vulnerability Floors | Enforced security floors (Pillow>=12.3.0, keyring>=25.0.0, pytest>=9.1.1). |
INV-PERM-07 |
100% Permissive / Separation | GPLv3 suite with dynamic PySide6 LGPL linking and PyInstaller Bootloader Special Exception. |
INV-USER-08 |
Unprivileged RunAsInvoker | Strictly unprivileged execution in user space without administrator/UAC elevation. |
INV-MULTI-09 |
Multi-Host Sync Discipline | Plan D Git hygiene; .gitignore blocks cloud-sync conflicts, host-specific tokens and locks. |
INV-SLA-10 |
48h / 5d Security SLA | Binding security commitments: 48h initial response, 5-day triage commitment. |
- Canonical Working Directory (Source of Truth):
C:\_Local_DEV\repos\DevCenterand GitHuborigin. - OneDrive Role: Derived read surface and gitless projection only (
<OneDrive>/.TOPICS/.SOFTWARE/DEV/REL-PUB_DevCenter_SUITE;<OneDrive>denotes the current host's OneDrive root). Development never occurs directly inside cloud-mounted folders to avoid lock collisions.
As this open-source software project is provided free of charge, liability under German law (§ 521 BGB Gefälligkeitsrecht) is strictly limited to intent and gross negligence. No warranty for defect-free operation is assumed.
Binding Security SLA: 48-hour initial response to vulnerability reports, 5-day triage deadline. Report security concerns confidentially to:
security@dev-bricks.orgsecurity@open-bricks.orgsupport@lukasgeiger.comlukas@open-bricks.org
- Version
1.0.3is frozen across manifests (pyproject.toml, source code). - Production releases and version bumps are managed in separate authorized release cycles.
- All new features, bug fixes, and repository hygiene changes are documented under
## [Unreleased]inCHANGELOG.md.
git clone https://github.com/dev-bricks/DevCenter.git
cd DevCenter
pip install -r requirements.txt
python -m pytest -ra -v
python main.py