Docstructor ist ein Validator und Reorganizer für Markdown-basierte Projektdokumentation.
Das Tool prüft die Struktur unter docs/, validiert Regeln aus STRUCTURE_RULES.yaml, erstellt Reorganisationspläne und kann Dokumente kontrolliert mit Rollback verschieben.
- Validierung von
docs/-Strukturen anhand vonSTRUCTURE_RULES.yaml - Kategorisierung per Dateimuster
- Reorganisationsplan vor Anwendung (
plan) - Optionales Anwenden mit Rollback und Locking
- JSON-Ausgabe für CI- und Automatisierungsszenarien
- Schema-Validierung für die Rules-Datei
pip install -e .pip install -e ".[dev]"docstructor validate --projects .docstructor plan --projects .docstructor apply --projects .python scripts/validate_docs_structure.py validate --projects .pytest -qpython -m pre_commit install
python -m pre_commit run --all-filesHinweis: In restriktiven Windows-Umgebungen kann pre-commit.exe durch Gruppenrichtlinien blockiert sein. In dem Fall funktioniert in der Regel der Aufruf über python -m pre_commit.
.
├── .pre-commit-config.yaml
├── .github/
│ └── workflows/
│ └── ci.yml
├── docs/
│ ├── DOKUMENTATIONS_GOVERNANCE_TOOL.md
│ ├── STRUCTURE_RULES.yaml
│ └── VALIDATE_DOCS_JSON_SCHEMA.json
├── scripts/
│ └── validate_docs_structure.py
├── src/
│ ├── __init__.py
│ └── validate_docs_structure.py
├── tests/
│ └── test_validate_docs_structure.py
├── .gitignore
├── LICENSE
├── pyproject.toml
└── README.md
Für Pushes auf main und Pull Requests läuft eine minimale GitHub-Actions-Pipeline, die das Paket installiert und pytest -q ausführt.
Standardmäßig empfiehlt sich HTTPS:
git init
git add .
git commit -m "chore: initialize Docstructor project"
git branch -M main
git remote add origin https://github.com/databap/docstructor.git
git push -u origin mainWenn origin schon existiert:
git remote set-url origin https://github.com/databap/docstructor.gitOptional mit SSH, wenn dein Netzwerk GitHub-SSH erlaubt:
git remote set-url origin [email protected]:databap/docstructor.gitdocs/DOKUMENTATIONS_GOVERNANCE_TOOL.mddocs/STRUCTURE_RULES.yamldocs/VALIDATE_DOCS_JSON_SCHEMA.json
MIT — siehe LICENSE.