dev-soft-agent · diff

v0.1.0 to v0.1.0

59 added, 80 removed. Audit A to A.

---
name: dev-soft-agent
version: 0.1.0
type: agent
author: BACH Team
created: 2026-02-21
updated: 2026-03-12
- description: >
- Automatisierte Software-Entwicklungspipeline. Scannt Projekte,
- priorisiert Tasks, analysiert Code und orchestriert Entwicklungsschleifen.
- Zero Dependencies (nur Python stdlib).
+ description: Automated software development pipeline. Scans projects, prioritizes tasks, analyzes code, and orchestrates development loops. Zero dependencies (Python stdlib only).
- # Kompatibilitaet
standalone: true
anthropic_compatible: true
bach_compatible: true
bach_origin: true
-
- # Kategorisierung
category: dev
tags: [development, code-analysis, task-management, automation, pipeline]
language: de
status: active
-
- # Abhaengigkeiten
- dependencies:
- tools: []
- services: []
- protocols: []
- python: []
-
- # Provenance
- provenance:
- origin: "bach"
- origin_path: "MODULAR_AGENTS/devSoftAgent"
- origin_version: "0.1.0"
- origin_repo: "github.com/ellmos-ai/bach"
- last_sync_from_origin: "2026-03-12"
- last_sync_to_origin: null
- local_changes_since_sync: false
+ dependencies: {'tools': [], 'services': [], 'protocols': [], 'python': []}
+ provenance: {'origin': 'bach', 'origin_path': 'MODULAR_AGENTS/devSoftAgent', 'origin_version': '0.1.0', 'origin_repo': 'github.com/ellmos-ai/bach', 'last_sync_from_origin': '2026-03-12', 'last_sync_to_origin': None, 'local_changes_since_sync': False}
---
- <img src="banner.png" width="100%" alt="dev-soft-agent banner">
+ > **Deutsch** — Offizielle Deutsch-Version / Documento Oficial en Deutsch.
- # Dev Soft Agent
- Automatisierte Software-Entwicklungspipeline. Extrahiert aus BACHs ATI-Agent,
- laeuft vollstaendig standalone mit reiner Python-Standardbibliothek.
+ # Dev Soft Agent (Deutsch)
- ## Komponenten
+ Automated software development pipeline. Extracted from BACH's ATI agent,
+ runs fully standalone with pure Python standard library.
+ ## Components
+
```
scripts/
- config.py Konfiguration (Scan-Ordner, Naming-Prefixes, Gewichte)
- project_manager.py Projekt-Scan + Klassifizierung nach Naming-Konvention
- task_engine.py AUFGABEN.txt Parser + Code-Scanner (TODO/FIXME)
- code_analyzer.py Statische Analyse (LOC, Imports, Klassen, Funktionen)
+ config.py Configuration (scan folders, naming prefixes, weights)
+ project_manager.py Project scan + classification by naming convention
+ task_engine.py TASKS.txt parser + code scanner (TODO/FIXME)
+ code_analyzer.py Static analysis (LOC, imports, classes, functions)
dev_loop.py Orchestrator (DevLoop)
policies/
- naming.py snake_case / PascalCase / SCREAMING_SNAKE Pruefung
- encoding.py UTF-8 Enforcement + BOM Detection
- paths.py Hardcoded-Path-Erkennung
+ naming.py snake_case / PascalCase / SCREAMING_SNAKE validation
+ encoding.py UTF-8 enforcement + BOM detection
+ paths.py Hardcoded path detection
prompt_templates/
- task_prompt.txt LLM-Prompt fuer Task-Bearbeitung
- review_prompt.txt LLM-Prompt fuer Code-Review
- analysis_prompt.txt LLM-Prompt fuer Projekt-Analyse
+ task_prompt.txt LLM prompt for task processing
+ review_prompt.txt LLM prompt for code review
+ analysis_prompt.txt LLM prompt for project analysis
```
- ## Nutzung als Python-Library
+ ## Usage as Python Library
```python
from scripts.dev_loop import DevLoop
from scripts.config import Config
config = Config()
loop = DevLoop(config)
- # Projekte scannen
+ # Scan projects (Deutsch)
projects = loop.scan_projects()
- # Projekt auswaehlen (gewichtete Zufallsauswahl nach Naming-Konvention)
+ # Select project (weighted random selection by naming convention) (Deutsch)
project = loop.select_project()
- # Code analysieren
+ # Analyze code (Deutsch)
analysis = loop.analyze_project()
print(f"{analysis.total_loc} LOC, {analysis.todo_count} TODOs")
- # Tasks laden und priorisieren
+ # Load and prioritize tasks (Deutsch)
tasks = loop.get_tasks()
for task in tasks:
print(f"[{task.task_type.name}] {task.description} (Prio: {task.priority})")
- # Komplette Dev-Session
+ # Complete dev session (Deutsch)
result = loop.run_session()
loop.save_session()
```
- ## Nutzung als CLI
+ ## Usage as CLI
```bash
cd scripts
python -m devSoftAgent scan ~/projects
python -m devSoftAgent select
- python -m devSoftAgent analyze /pfad/zum/projekt
- python -m devSoftAgent tasks /pfad/zum/projekt
- python -m devSoftAgent session --project mein-projekt
+ python -m devSoftAgent analyze /path/to/project
+ python -m devSoftAgent tasks /path/to/project
+ python -m devSoftAgent session --project my-project
python -m devSoftAgent status
```
- ## Naming-Konvention (Projekt-Klassifizierung)
+ ## Naming Convention (Project Classification)
- Projekte werden anhand ihres Ordnernamens klassifiziert:
+ Projects are classified based on their folder name:
- | Prefix | Label | Gewicht | Bedeutung |
- |--------|-------|---------|-----------|
- | `RDY` | Ready | 1.0 | Hoechste Prioritaet |
- | `RDY_FAST` | Fast Ready | 0.5 | Schnell erledigbar |
- | `FAST` | Fast | 0.33 | Kleine Aufgabe |
- | `DEV` | Development | 0.17 | In Entwicklung |
- | `REL` | Released | 0.0 | Fertig, keine Arbeit |
- | `ARC` | Archived | 0.0 | Archiviert |
+ | Prefix | Label | Weight | Meaning |
+ |--------|-------|--------|---------|
+ | `RDY` | Ready | 1.0 | Highest priority |
+ | `RDY_FAST` | Fast Ready | 0.5 | Quick to complete |
+ | `FAST` | Fast | 0.33 | Small task |
+ | `DEV` | Development | 0.17 | In development |
+ | `REL` | Released | 0.0 | Done, no work needed |
+ | `ARC` | Archived | 0.0 | Archived |
- Gewicht bestimmt die Wahrscheinlichkeit bei zufaelliger Auswahl.
+ Weight determines the probability in random selection.
- ## AUFGABEN.txt Format
+ ## TASKS.txt Format
```markdown
- # AUFGABEN - Projektname
- # Stand: 2026-03-12
+ # TASKS - ProjectName (Deutsch)
+ # As of: 2026-03-12 (Deutsch)
- ## OFFEN
- - [ ] [BUG] Beschreibung des Fehlers
- - [ ] [FEATURE] Neues Feature
+ ## OPEN
+ - [ ] [BUG] Description of the bug
+ - [ ] [FEATURE] New feature
- ## IN ARBEIT
- - [-] [REFACTOR] Code-Umbau
+ ## IN PROGRESS
+ - [-] [REFACTOR] Code restructuring
- ## ERLEDIGT
- - [x] [BUG] Behobener Fehler -- DONE 2026-03-01
+ ## DONE
+ - [x] [BUG] Fixed bug -- DONE 2026-03-01
```
## Policies
- Qualitaets-Policies die automatisch gegen Code geprueft werden koennen:
+ Quality policies that can be automatically checked against code:
- - **NamingPolicy:** snake_case fuer Module/Funktionen, PascalCase fuer Klassen
- - **EncodingPolicy:** UTF-8 erzwingen, BOM erkennen, CRLF markieren
- - **PathPolicy:** Hardcoded absolute Pfade erkennen und melden
+ - **NamingPolicy:** snake_case for modules/functions, PascalCase for classes
+ - **EncodingPolicy:** Enforce UTF-8, detect BOM, flag CRLF
+ - **PathPolicy:** Detect and report hardcoded absolute paths
- ## Changelog
+ ## Änderungsprotokoll
### 0.1.0 (2026-03-12)
- - Migration aus MODULAR_AGENTS/devSoftAgent in Skillbibliothek
- - Projekt-Scanner, Task-Engine, Code-Analyzer, DevLoop
- - 3 Policies (Naming, Encoding, Paths)
- - 3 Prompt-Templates (Task, Review, Analysis)
-
+ - Migration from MODULAR_AGENTS/devSoftAgent to skill library
+ - Project scanner, task engine, code analyzer, DevLoop
+ - 3 policies (naming, encoding, paths)
+ - 3 prompt templates (task, review, analysis)