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>
143 lines
4.4 KiB
Markdown
143 lines
4.4 KiB
Markdown
---
|
|
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>
|