Step-by-Step Guide
Od nuly k prvnímu reportu
10 kroků, které vás provedou celým EDPA frameworkem — od instalace po kalibrovaný výkaz hodin.
Začít průvodcePrerekvizity
EDPA je local-first — stačí Python 3.10+ a Git. Claude Code uživatelé: Python deps se instalují automaticky přes SessionStart hook. Ostatní prostředí: pip install manuálně. GitHub CLI je volitelný, jen pokud chcete PR-signal CI workflow (--with-ci).
# Python 3.10+ musí být v PATH
python3 --version # >= 3.10
# Git pro verzování .edpa/ (auto-commity)
git --version
# Python závislosti se nainstalují automaticky
# při prvním spuštění Claude Code v projektu (SessionStart hook) Python 3.12.1
git version 2.44.0
# Local-first: žádný org, žádný PAT, žádné GitHub
# Projects pro základní běh. Vše žije v .edpa/. Vytvořit repo
EDPA žije uvnitř Git repozitáře. Stačí libovolný repo — osobní i organizační, na GitHubu i čistě lokální git init. Žádné Issue Types ani GitHub Projects se nevyžadují.
# Varianta A — nový GitHub repo
gh repo create project-name \
--private --clone
cd project-name
# Varianta B — čistě lokálně (bez GitHubu)
mkdir project-name && cd project-name
git init ✓ Created repository project-name on GitHub
✓ Cloned to ./project-name
# nebo lokálně:
Initialized empty Git repository in ./project-name/.git/ Nainstalovat EDPA
V Claude Code: /plugin install přes marketplace. Jiné prostředí (Cursor, Codex CLI): curl|sh. Oba způsoby vendorují engine do .edpa/engine/ a připraví .edpa/ strukturu.
/plugin install edpa@technomaton-edpa
# Claude Code stáhne plugin z marketplace EDPA Installer
==============
Downloading EDPA plugin...
✓ Engine vendored to .edpa/engine/
✓ Created .edpa/ structure:
.edpa/engine/ ← skripty, šablony, schémata
.edpa/config/ ← konfigurace týmu a projektu
.edpa/backlog/ ← work items (per-item YAML)
.edpa/reports/ ← generované výkazy
✓ Created .edpa/config/people.yaml (upravte tým)
✓ Created .edpa/config/edpa.yaml (upravte projekt)
Next: /edpa setup "Název projektu" /edpa:setup
Jeden příkaz vendoruje engine do .edpa/engine/ a naseeduje konfigurace — tým, projekt a id_counters.yaml. Local-first: žádné provisioning GitHub Projectů. Volitelně --with-ci přidá PR-signal workflow.
/edpa:setup "Název projektu"
# Claude Code provede vše interaktivně
# Volitelně — přidat PR-signal CI workflow:
/edpa:setup "Název projektu" --with-ci ✓ Engine vendored: .edpa/engine/{scripts,templates,schemas}
✓ Team: 3 members configured (2.8 FTE)
✓ Config: .edpa/config/edpa.yaml (projekt + kadence)
✓ Config: .edpa/config/people.yaml (tým)
✓ Seeded: .edpa/config/id_counters.yaml
✓ CW heuristics: .edpa/config/cw_heuristics.yaml
# S --with-ci navíc:
✓ Workflow: .github/workflows/edpa-contribution-sync.yml
→ PR-thread signály → evidence[] na items
✓ Git hooks installed (commit-msg: feat(<ID>): …)
# Pod lefthookem (lefthook.yml přítomen): EDPA nepíše do .git/hooks/,
# ale vytiskne snippet → vlož do lefthook.yml a spusť: lefthook install
# Ověření kdykoli: project_setup.py --check-hooks
# Local-first: žádný org, žádný PAT, žádné GitHub Projects. Volitelné — PR-signal CI
JEDINÁ volitelná GitHub integrace ve V2. Workflow edpa-contribution-sync.yml čte signály z PR vláken (review, approve, komentáře) a zapisuje je do evidence[] u jednotlivých items. Žádný PAT ani Projects v2 — používá default GITHUB_TOKEN. Můžete přeskočit, EDPA běží i čistě lokálně.
# Workflow se nainstaluje přes /edpa:setup --with-ci.
# Pokud jste ho nepřidali při setupu, doplňte ho kdykoli:
/edpa:setup --with-ci
# Workflow běží automaticky při každém uzavření PR
# a obohatí evidence[] u dotčených items o PR-thread signály. ✓ Workflow: .github/workflows/edpa-contribution-sync.yml
✓ Auth: default GITHUB_TOKEN (žádný PAT, žádný secret)
✓ Trigger: pull_request closed
PR #42 closed → sync_pr_contributions.py:
evidence[] += pr_reviewer(pkral), pr_approver(pkral)
→ .edpa/backlog/stories/S-1.md aktualizováno
→ commit: "feat(S-1): sync PR #42 contribution signals"
# Bez --with-ci: tento krok přeskočte, EDPA běží local-first. Naplnit backlog
Items přidávejte přes backlog.py add — ID se alokuje z id_counters.yaml, hierarchie se validuje a soubor .md se zapíše do .edpa/backlog/ a auto-commitne jako feat(<ID>):. Hierarchie: Initiative > Epic > Feature > Story (+ Defect na úrovni Story). WSJF se počítá automaticky.
# V Claude Code stačí napsat:
/edpa:add Story "Implementovat login endpoint" \
--parent F-1 --js 5 --bv 8 --tc 5 --rr-oe 3 \
--assignee jnovak --iteration PI-2026-1.1
# Claude přes MCP edpa_item_create:
# • alokuje ID z id_counters.yaml (S-1)
# • zvaliduje rodiče (F-1 musí existovat)
# • zapíše .edpa/backlog/stories/S-1.md
# • auto-commit: feat(S-1): add story
# Pak: "Zvaliduj backlog a ukaž mi strom" ✓ feat(S-1): add story (auto-commit)
✓ Backlog valid (12 items, 0 errors)
I-1: Medical Platform
└── E-1: Data Processing Pipeline
├── F-1: Authentication (JS=8, WSJF=2.0)
│ ├── S-1: Login endpoint (JS=5) ← jnovak
│ └── S-2: Token refresh (JS=3) ← emala
└── F-2: Data Import (JS=13, WSJF=1.8)
├── S-3: CSV parser (JS=5) ← emala
└── S-4: Validation (JS=3) ← pkral Tým začne pracovat
Tým pracuje standardním Git flow — branch naming konvence, commity s referencemi na items (feat(<ID>):), PR a code review. EDPA evidenci čte lokálně z Git historie; pokud běží PR-signal CI (--with-ci), doplní se navíc signály z PR vláken do evidence[].
# Branch naming (CI kontroluje formát)
git checkout -b feature/S-1-login-endpoint
# Commit s referencí na item
git commit -m "feat(S-1): implement JWT login"
# Pull Request
gh pr create \
--title "S-1: Login endpoint" \
--body "Implements JWT auth flow" \
--assignee jnovak Branch: feature/S-1-login-endpoint
Commits: 4 (linked to S-1)
PR #42: "S-1: Login endpoint"
→ Review requested: pkral
→ Status: Approved ✓ → Merged
Evidence (signal weights → contribution_score):
jnovak: commit_author 4.00 = 4.00
pkral: pr_reviewer 2.17 = 2.17
→ cw[jnovak, S-1] = 4.00 / 6.17 = 0.65
→ cw[pkral, S-1] = 2.17 / 6.17 = 0.35
Timestamps (lokálně z Git historie):
S-1: created_at=2026-05-10, updated_at=2026-05-15, closed_at=2026-05-15
Flow metrics (MCP tool edpa_flow_metrics):
S-1 cycle time: 5d | Throughput: 4 items/iter Konec iterace
Na konci iterace EDPA engine načte evidenci z backlog souborů v .edpa/backlog/ a proporcionálně alokuje hodiny podle skutečné práce.
/edpa:close-iteration PI-2026-1.1
# Claude Code načte evidenci a spočítá alokaci EDPA Engine v2.11.1 — PI-2026-1.1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Team: 3 members, 2.8 FTE
Capacity: 448 hours (2 weeks)
Allocation:
jnovak │████████████████░░│ 178.2h (39.8%)
emala │█████████████░░░░░│ 142.6h (31.8%)
pkral │████████████░░░░░░│ 127.2h (28.4%)
Total: 448.0h ✓
Invariants: ALL PASSED Výkazy a reporty
EDPA generuje per-person výkazy, per-item cost allocation, JSON export a frozen snapshot. Vše auditovatelné a reprodukovatelné.
/edpa:reports
# Claude Code vygeneruje všechny reporty a výkazy Per-person výkaz (vykaz-jnovak.md):
┌──────────┬────────┬────────┬────────┐
│ Person │ Hours │ Share │ Items │
├──────────┼────────┼────────┼────────┤
│ jnovak │ 178.2 │ 39.8% │ 7 │
│ emala │ 142.6 │ 31.8% │ 5 │
│ pkral │ 127.2 │ 28.4% │ 6 │
├──────────┼────────┼────────┼────────┤
│ TOTAL │ 448.0 │ 100% │ 18 │
└──────────┴────────┴────────┴────────┘ Retrospektiva + kalibrace
Kalibrujte signal weights proti syntetickému Monte Carlo korpusu. calibrate_signals.py spustí MC random sampling + coordinate descent a hlásí MAD baseline vs. calibrated.
/edpa:calibrate
# Claude Code spustí MC kalibraci a zobrazí MAD výsledky Calibration: 1000 scenarios, seed=42
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 1 (random sample): MAD baseline = 0.0861
Phase 2 (coord descent): MAD calibrated = 0.0805
Improvement: +6.5%
Verdict: GOOD (defaults are already near optimum) Další PI
Opakujte pro každou iteraci. S každým cyklem se kalibrace zpřesňuje. Cíl: prediktabilita > 80 %, MAD < 0.05 do třetího PI.
/edpa:close-iteration PI-2026-1.2
# Další iterace — stejný postup Trend: PI-2026-1.1 → PI-2026-1.4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAD: 0.032 → 0.018 ↓ improving
Predictability: 78% → 91% ↑ on target
Correlation: 0.94 → 0.98 ↑ strong
Status: Mature — framework calibrated.