# Development Standards

# Development Standards

## Workflow — PARALLEL TESTER
- **NIKAD delegiraj i zaboravi** — uvijek prati rezultat
- **Za bug fixes i feature dev:** Pokreni TESTER agenta u paraleli
- **John radi, Tester verificira** — kontinuirani feedback loop
- **Workflow:**
  1. John edituje kod
  2. John pusha/deploya
  3. Tester agent testira API/funkcionalnost
  4. Tester javlja rezultate
  5. John popravlja ako treba

## Testing — ZAKON (CEO directive 2026-02-13)

**→ FULL STANDARD: ~/system/rules/testing.md**

**5 obaveznih nivoa za SVAKI projekat:**
1. **Unit** — svaka funkcija izolovano (80% coverage min)
2. **Integration** — API + DB (svaki endpoint HTTP testiran)
3. **E2E** — Playwright full user flows
4. **Regression** — test za svaki fixani bug
5. **Performance** — latency, load, concurrent

**5 iteracija prije shippinga. Nema izuzetaka.**
**Pipeline NE NAPREDUJE iz Testing faze bez svih 5 nivoa.**

### Automated Testing Tools
- **Smoke:** `node ~/system/tools/smoke-test.js` (system health)
- **UI:** Playwright MCP (`@playwright/mcp@latest` u `~/.claude/mcp.json`)
- **Project:** `npm test` / `vitest` / `pytest`

### Test Protocol — OBAVEZNO
Prije nego kažeš "testirano":
1. Pokreni `npm test` za code promjene
2. Koristi Playwright MCP za vizuelne/UI promjene
3. Pokreni `smoke-test.js` za infrastrukturne promjene
4. Provjeri coverage (80%+ lines)
5. Ako nema test → napiši ga PRVI, pa onda implementiraj

## Spec Indexing Rule
After creating any spec, analysis, or research document, OBAVEZNO post to HiveMind:
```bash
node ~/system/agents/hivemind/hivemind.js post <agent> analysis "Created: <path> — <summary>"
```
This ensures all knowledge is discoverable.

## Approval Gates — OBAVEZNO
**Research → Spec → APPROVAL → Build.** Nema preskakanja.

| Faza | Ko radi | Ko odobrava |
|------|---------|-------------|
| Research | John/agenti | Auto (slobodno) |
| Spec/Proposal draft | John/agenti | Auto (slobodno) |
| **BUILD** | John/agenti | **CEO (Alem) MORA odobriti spec** |

- Self-generated spec ≠ Approved spec. NIKAD.
- Ako Alem nije vidio i odobrio spec, NE POČINJI BUILD.
- Pokaži Alemu: scope, opcije, preporuku. Čekaj "GO".
- Incident ref: DROP projekat 2026-02-12 (24K LOC bez odobrenja)

## Code Standards
- Always check `~/system/tools/manifest.md` before writing a new script
- Verify tool output format before chaining into another tool
- Don't assume APIs support batch operations — check first
- When a workflow fails mid-execution, preserve intermediate outputs before retrying
- Read the full goal before starting a task — don't skim

## Git
- Sve ide u DB + GitHub backup
- Commit messages treba da budu jasni i opisni