Imported from remigiuszdabrowski104-png/My-project (
AGENTS.md). Install upstream withnpx skills add remigiuszdabrowski104-png/My-project. Copyright stays with the author.
AGENTS.md - Biblia Zasad
To jest najważniejszy plik w całym repo. Każdy agent AI czyta go na początku każdej sesji i MUSI się do niego stosować.
Zasada zapadki (ratchet): Dopisuj tu KAŻDĄ zasadę, która pochodzi z konkretnego błędu agenta. Nie usuwaj zasad, dopóki jakiś naprawdę mądry model nie udowodni, że są już niepotrzebne.
🔒 ŻELAZNE ZASADY (nigdy nie łam)
Kod i pliki
- NIGDY nie usuwaj testów. Jeśli test nie przechodzi - napraw go, nie komentuj, nie usuwaj.
- NIGDY nie komentuj kodu produkcyjnego żeby "tymczasowo obejść" błąd. Napraw przyczynę.
- NIGDY nie zmieniaj plików poza zakresem zadania. Jeśli musisz - zapytaj najpierw.
- NIGDY nie używaj
git push --forceanigit reset --hardnamain/master. - NIGDY nie instaluj pakietów bez podania dokładnej wersji (
npm install express@4.19.2, nienpm install express). - NIGDY nie zapisuj sekretów (klucze API, hasła) w kodzie. Używaj
.env+.env.example. - Zawsze pracuj na nowym branchu Git. Nigdy bezpośrednio na
main.
Komunikacja
- Sukces cichy, błędy głośne. Jak testy przechodzą - nie pisz eseju, tylko "gotowe". Jak padają - pokaż dokładny błąd.
- Zawsze podaj listę zmienionych plików na końcu odpowiedzi.
- Jeśli czegoś nie wiesz, powiedz że nie wiesz. Nie zgaduj, nie halucynuj.
- Pytaj zanim zrobisz destrukcyjną operację (kasowanie plików, migracja bazy, reset).
Kontekst
- Nie czytaj całego projektu, jeśli nie musisz. Czytaj tylko pliki istotne dla zadania.
- Używaj
rg(ripgrep) lubgrepzamiastfindkiedy szukasz w kodzie. - Jeśli output komendy jest długi (>100 linii), zapisz go do pliku w
/tmp/i pokaż tylko nagłówek + stopkę.
📋 PROCEDURY (workflow)
Przed rozpoczęciem zadania
- Przeczytaj
AGENTS.md(ten plik) - Przeczytaj
PROJECT_BRIEF.mdjeśli istnieje - Sprawdź czy istnieje
TASK.mdopisujący zadanie - Zrób
git statusżeby zobaczyć stan repo - Stwórz nowy branch:
git checkout -b feat/nazwa-zadania
Podczas pracy
- Pisz małe commity (jedna zmiana = jeden commit)
- Commit message po polsku, w stylu:
feat: dodanie logowania użytkowników - Po każdej większej zmianie uruchom testy i linter
- Jeśli zmieniasz zależności - zaktualizuj lock file
Po skończeniu zadania
- Uruchom wszystkie testy (
npm test/pytest/ itd.) - Uruchom linter (
eslint,ruff, itd.) - Sprawdź czy nie zostawiłeś
console.log,print(),TODObez wyjaśnienia - Napisz krótkie podsumowanie zmian
- NIE rób push sam - czekaj aż user powie "push"
🎭 PODZIAŁ RÓL
W tym projekcie pracuje 4 agentów. Każdy ma swoje zadanie i NIE WCHODZI innym w paradę:
| Rola | Odpowiedzialność | Co robi | Czego NIE robi |
|---|---|---|---|
| Architekt | Plan i decyzje | Tworzy PROJECT_BRIEF.md, dzieli na TASK.md |
Nie pisze kodu |
| Programista | Implementacja | Pisze kod na podstawie TASK.md |
Nie zmienia architektury bez pytania |
| Reviewer | Kontrola jakości | Czyta kod, wytyka błędy, sprawdza czy zgodny z AGENTS.md |
Nie pisze kodu, tylko komentuje |
| Tester | Weryfikacja | Pisze i uruchamia testy, sprawdza pokrycie | Nie zmienia logiki biznesowej |
Szczegóły w roles/.
🧠 PAMIĘĆ I KONTEKST
Kiedy zapisywać informacje na dysku
Agent powinien offloadować do plików (zamiast trzymać w kontekście):
- Wyniki długich komend →
/tmp/output-NAZWA.log - Notatki z researchu →
docs/research/NAZWA.md - Decyzje architektoniczne →
docs/decisions/ADR-NNN.md(Architecture Decision Record) - Zidentyfikowane bugi →
docs/bugs/NAZWA.md
Kiedy czytać pliki
- Zawsze czytaj
AGENTS.mdna starcie - Zawsze czytaj
PROJECT_BRIEF.mdjeśli istnieje - Czytaj
TASK.mdzanim zaczniesz kodować - Pliki kodu tylko te, które są istotne dla zadania
📁 STRUKTURA REPO - wiele projektów
To repo (centrum-kodu) to HUB, nie pojedynczy projekt. W projekty/ znajdują się osobne projekty - każdy ma własny PROJECT_BRIEF.md, tasks/, kod.
Struktura:
centrum-kodu/ ← główne repo (hub)
├── AGENTS.md ← ten plik (wspólny dla wszystkich projektów)
├── .roomodes ← wspólna konfiguracja agentów
├── roles/ ← wspólne system prompts
├── templates/ ← wspólne szablony
├── docs/ ← dokumentacja hubu
└── projekty/ ← OSOBNE PROJEKTY
├── allegro-reminder-bot/
│ ├── PROJECT_BRIEF.md
│ ├── pomysly.md
│ ├── tasks/
│ └── [kod projektu]
└── [inny-projekt]/
└── ...
Zasady dla agenta
KRYTYCZNE: Agent MUSI rozumieć w którym projekcie pracuje. User zawsze mówi nazwę projektu (np. "nowy projekt" albo "allegro-reminder-bot").
-
Gdy user mówi o nowym projekcie:
- Twórz pliki w
projekty/[nazwa-projektu]/, NIE w katalogu głównym - Nigdy nie miesz kontekstu z innych projektów
PROJECT_BRIEF.mddanego projektu = w folderze tego projektu
- Twórz pliki w
-
Gdy user mówi o istniejącym projekcie:
- Czytaj
projekty/[nazwa]/PROJECT_BRIEF.mddla kontekstu - Czytaj
projekty/[nazwa]/tasks/TASK-NNN.mddla konkretnego zadania - Nie czytaj plików z innych projektów
- Czytaj
-
AGENTS.md, roles/, templates/, .roomodes to WSPÓLNE dla wszystkich projektów - nie duplikuj ich wewnątrz
projekty/[nazwa]/. -
Nazwa folderu projektu:
- Małe litery, bez spacji (np.
allegro-reminder-bot,ksiazko-tracker) - Architekt proponuje nazwę w
PROJECT_BRIEF.md - User może zmienić przed finalnym zatwierdzeniem
- Małe litery, bez spacji (np.
-
Ścieżki w TASK.md:
- Relatywne do folderu projektu (np.
src/main.py, nieprojekty/xxx/src/main.py) - Programista pracuje w
projekty/[nazwa]/jako katalog główny taska
- Relatywne do folderu projektu (np.
🛠️ NARZĘDZIA I KOMENDY
Zawsze preferowane (zamiast alternatyw)
rg "wzorzec"zamiastgrep -r "wzorzec"(szybsze)fd nazwazamiastfind . -name nazwa(szybsze, czytelniejsze)bat plik.pyzamiastcat plik.py(kolorowanie)git status -sbzamiastgit status(zwięźlej)
Komendy wymagające zgody usera
rm -rf(cokolwiek)git push(w tym force push)npm publish/pip publish- Modyfikacje plików systemowych (
/etc/,~/.ssh/, itd.) - Instalacja globalnych pakietów
🚫 CZARNA LISTA BŁĘDÓW (historycznie popełnione)
Ta sekcja rośnie z czasem. Za każdym razem gdy agent coś spierdoli, dopisz tu regułę. To jest zapadka - nigdy się nie cofa.
(Sekcja jest pusta - to starter kit. Pierwszy wpis pojawi się gdy agent zrobi pierwszy błąd.)
📖 FORMAT ODPOWIEDZI
Agent kończy każde zadanie w tym formacie:
## ✅ Zrobione
**Co zmieniłem**: (1-2 zdania)
**Zmienione pliki**:
- `src/auth/login.ts` - dodano walidację emaila
- `tests/auth/login.test.ts` - dodano 3 nowe testy
**Testy**: ✅ 47/47 przechodzi
**Linter**: ✅ 0 błędów, 0 ostrzeżeń
**Uwagi**: (opcjonalnie - jakieś decyzje, kompromisy, rzeczy do zrobienia później)
Jeśli zadanie niezakończone:
## ⚠️ W trakcie / zablokowane
**Co udało się zrobić**:
- ...
**Na czym utknąłem**:
- ... (konkretny problem)
**Co dalej**:
- Potrzebuję od Ciebie: ... (decyzja / info / dostęp)
🔄 AKTUALIZACJA TEGO PLIKU
Kiedy user prosi o dodanie reguły:
- Dopisz ją do odpowiedniej sekcji
- Jeśli pochodzi z konkretnego błędu - dodaj do "Czarna lista błędów" z datą
- Zrób commit:
docs(agents): dodano regułę o XYZ - NIE usuwaj starych reguł bez wyraźnej zgody
Wersja: 1.0 (starter kit) Ostatnia aktualizacja: 2026-05-10