feat(01-sonarqube-baseline): SonarQube configuration and quality baseline
Phase 1 complete: - sonar-project.properties configured for crmPRO - First scan: 88 files, 9356 LoC, 58 bugs, 1649 code smells, 0% coverage - Baseline documented with prioritized recommendations for Phase 2 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
142
.paul/phases/01-sonarqube-baseline/01-01-PLAN.md
Normal file
142
.paul/phases/01-sonarqube-baseline/01-01-PLAN.md
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
phase: 01-sonarqube-baseline
|
||||
plan: 01
|
||||
type: execute
|
||||
wave: 1
|
||||
depends_on: []
|
||||
files_modified: [sonar-project.properties]
|
||||
autonomous: false
|
||||
---
|
||||
|
||||
<objective>
|
||||
## Goal
|
||||
Skonfigurować projekt crmPRO w SonarQube, uruchomić pierwszy skan i udokumentować baseline jakości kodu.
|
||||
|
||||
## Purpose
|
||||
Uzyskanie obiektywnej oceny stanu kodu — lista bugów, vulnerabilities, code smells i duplikacji. Baseline posłuży jako punkt odniesienia dla kolejnych faz naprawczych.
|
||||
|
||||
## Output
|
||||
- `sonar-project.properties` — konfiguracja projektu dla SonarQube
|
||||
- `.paul/phases/01-sonarqube-baseline/01-01-SUMMARY.md` — udokumentowany baseline
|
||||
</objective>
|
||||
|
||||
<context>
|
||||
## Project Context
|
||||
@.paul/PROJECT.md
|
||||
@.paul/ROADMAP.md
|
||||
@.paul/STATE.md
|
||||
|
||||
## Source Files
|
||||
@index.php
|
||||
@autoload/ (główny kod PHP)
|
||||
@templates/ (szablony)
|
||||
@tests/ (testy)
|
||||
</context>
|
||||
|
||||
<acceptance_criteria>
|
||||
|
||||
## AC-1: Konfiguracja SonarQube
|
||||
```gherkin
|
||||
Given projekt crmPRO bez konfiguracji SonarQube
|
||||
When utworzony zostanie plik sonar-project.properties z poprawnymi ścieżkami źródeł
|
||||
Then SonarQube Scanner może przeskanować projekt bez błędów konfiguracji
|
||||
```
|
||||
|
||||
## AC-2: Pierwszy skan zakończony
|
||||
```gherkin
|
||||
Given skonfigurowany projekt w SonarQube
|
||||
When użytkownik uruchomi sonar-scanner
|
||||
Then skan zakończy się sukcesem i wyniki będą widoczne w SonarQube
|
||||
```
|
||||
|
||||
## AC-3: Baseline udokumentowany
|
||||
```gherkin
|
||||
Given zakończony pierwszy skan
|
||||
When wyniki zostaną przeanalizowane
|
||||
Then SUMMARY.md zawiera liczbę bugów, vulnerabilities, code smells, pokrycie i duplikacje
|
||||
```
|
||||
|
||||
</acceptance_criteria>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Utworzenie sonar-project.properties</name>
|
||||
<files>sonar-project.properties</files>
|
||||
<action>
|
||||
Utworzyć plik sonar-project.properties w katalogu głównym projektu:
|
||||
- projectKey: crmPRO (zgodny z .paul/config.md)
|
||||
- projectName: crmPRO
|
||||
- sources: autoload, templates (główne katalogi z kodem PHP)
|
||||
- tests: tests
|
||||
- exclusions: vendor/**, node_modules/**, .paul/**, *.min.js, *.min.css
|
||||
- sourceEncoding: UTF-8
|
||||
- language: php
|
||||
- php.version: 7.4
|
||||
</action>
|
||||
<verify>Plik sonar-project.properties istnieje i zawiera poprawne ścieżki</verify>
|
||||
<done>AC-1 satisfied: Konfiguracja SonarQube gotowa do skanu</done>
|
||||
</task>
|
||||
|
||||
<task type="checkpoint:human-action" gate="blocking">
|
||||
<what-to-do>
|
||||
Uruchom skan SonarQube:
|
||||
1. Upewnij się, że serwer SonarQube działa (http://localhost:9000 lub Twój adres)
|
||||
2. Utwórz projekt "crmPRO" w SonarQube UI jeśli nie istnieje
|
||||
3. Uruchom w katalogu projektu: sonar-scanner
|
||||
4. Poczekaj na zakończenie skanu
|
||||
5. Podaj wyniki z dashboardu SonarQube (lub wklej output skanera)
|
||||
</what-to-do>
|
||||
<resume-signal>Wklej wyniki skanu lub podaj link do dashboardu. Wpisz "done" jeśli skan zakończony.</resume-signal>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 3: Dokumentacja baseline w SUMMARY.md</name>
|
||||
<files>.paul/phases/01-sonarqube-baseline/01-01-SUMMARY.md</files>
|
||||
<action>
|
||||
Na podstawie wyników skanu od użytkownika:
|
||||
- Udokumentować metryki baseline (bugs, vulnerabilities, code smells, coverage, duplications)
|
||||
- Wylistować issues pogrupowane po severity (CRITICAL, MAJOR, MINOR)
|
||||
- Zidentyfikować pliki z największą liczbą problemów
|
||||
- Zapisać rekomendacje dla Phase 2 (co naprawić najpierw)
|
||||
</action>
|
||||
<verify>SUMMARY.md zawiera kompletne metryki i rekomendacje</verify>
|
||||
<done>AC-3 satisfied: Baseline udokumentowany z rekomendacjami</done>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<boundaries>
|
||||
|
||||
## DO NOT CHANGE
|
||||
- autoload/** (żaden kod źródłowy nie jest modyfikowany w tej fazie)
|
||||
- templates/** (żadne szablony nie są modyfikowane)
|
||||
- config.php (konfiguracja aplikacji)
|
||||
- index.php (punkt wejścia)
|
||||
|
||||
## SCOPE LIMITS
|
||||
- Ta faza to TYLKO konfiguracja i analiza — żadne naprawy kodu
|
||||
- Nie modyfikujemy istniejącego kodu
|
||||
- Nie dodajemy nowych zależności
|
||||
|
||||
</boundaries>
|
||||
|
||||
<verification>
|
||||
Before declaring plan complete:
|
||||
- [ ] sonar-project.properties istnieje z poprawnymi ścieżkami
|
||||
- [ ] Skan SonarQube zakończony sukcesem
|
||||
- [ ] SUMMARY.md zawiera metryki baseline
|
||||
- [ ] Zidentyfikowane priorytety dla Phase 2
|
||||
- [ ] All acceptance criteria met
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- sonar-project.properties skonfigurowany poprawnie
|
||||
- Pierwszy skan zakończony bez błędów
|
||||
- Baseline udokumentowany w SUMMARY.md
|
||||
- Rekomendacje dla Phase 2 przygotowane
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
After completion, create `.paul/phases/01-sonarqube-baseline/01-01-SUMMARY.md`
|
||||
</output>
|
||||
Reference in New Issue
Block a user