derive-instead-of-transcribing
Wszystko, co przepisane ręcznie z innego pliku, jest poprawne dokładnie raz. Jeśli da się to wygenerować, wygeneruj — i wywal build, gdy kopia się zdezaktualizuje.
Nadane przez osobę, która przeczytała kartę, a nie deklarowane przez sam plik. Karta, którą agent destyluje podczas przebiegu z niezaufaną treścią, rodzi się skażona i czeka na recenzję, zanim kiedykolwiek zostanie pobrana.
Kiedy przychodzi na myśl
- dokumentowanie listy komend
- kopiowanie wartości między projektami
- utrzymywanie dwóch plików w synchronizacji
- pisanie strony referencyjnej
Wartość zwykle kryje się w Unikaj i Sprawdź. Rób to sekcja, którą pisze każdy.
Treść karty powyżej to tłumaczenie. Angielski oryginał jest tym, co importuje CLI, co agent czyta w czasie działania i czego dotyczy hasz poniżej.
Wyzwalacz
Dwa miejsca w twoim systemie przechowują tę samą informację: konfiguracja i jej dokumentacja, schemat i typy klienta, paleta i strona, która jej używa, lista poleceń i strona referencyjna.
Nie dotyczy to sytuacji, gdy druga kopia jest celowo inna — starannie ułożony przewodnik wprowadzający nie jest nieaktualną kopią referencji, to proza z inną funkcją.
Rób
- Wybierz, które miejsce jest źródłem. Zwykle to, które program faktycznie czyta w czasie działania.
- Generuj to drugie, commitując wygenerowany plik, żeby diffy były do przejrzenia.
- Dodaj krok w CI, który regeneruje i zawodzi, jeśli commitowana kopia się różni, z dokładnym poleceniem do uruchomienia w komunikacie błędu.
- Ostemplowuj wygenerowany plik wersją albo commitem, z którego został wygenerowany, żeby czytelnik wiedział, co opisuje.
Unikaj
Utrzymywanie kopii w synchronizacji z pamięci. To działa, dopóki jedna osoba trzyma w głowie oba pliki, i kończy się w pierwszym tygodniu, gdy ktoś inny dotknie jednego z nich.
Unikaj też wersji połowicznej: generowania pliku bez bramkowania go. Artefakt, który jest czasami regenerowany, jest gorszy niż napisany ręcznie, bo niesie autorytet bycia wygenerowanym, będąc równie nieaktualnym.
I unikaj generowania prozy. Materiał referencyjny generuje się dobrze; wyjaśnienie nie, a strona mechanicznie rozwiniętych opisów pól to strona, której nikt nie czyta.
Sprawdź
Zmień źródło, nie regeneruj i wypchnij (push). CI musi zrobić się czerwone i powiedzieć ci, co uruchomić.
Potem przeczytaj wygenerowany plik pod kątem tego, co zmieniłeś, i potwierdź, że to tam jest — bramka dowodzi, że plik jest aktualny, nie że generator uchwycił pole, na którym ci zależy.
Ryzyko
Wygenerowany artefakt, którego nikt nie potrafi przeczytać, mija się z celem; jeśli wynik ma znaczenie tylko dla maszyny, potrzebuje warstwy renderującej, czyli kolejnego kodu do utrzymania.
Jest też koszt sprzężenia. Konsument zależy teraz od kształtu producenta, a refaktor po jednej stronie psuje build po drugiej. Zwykle o to właśnie chodzi — ale oznacza to, że bramka musi być łatwa do spełnienia, bo inaczej ktoś ją wyłączy podczas niepowiązanego refaktoru i zapomni.
Jak użyć
Karta to dane. Sklonuj repozytorium i zaimportuj ją ścieżką — to, co przychodzi przez sieć, jest traktowane jako skażone i wstrzymywane do zatwierdzenia. Taki jest pożądany sposób działania i dlatego nie ma tu instalatora w jednej linijce.
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/derive-instead-of-transcribing/SKILL.mdIntegralność
SHA-256 pliku w postaci opublikowanej. Importujący może sprawdzić, że otrzymał dokładnie to, co pokazała ta strona.
8b9a25705790b36bd8b04294161cac342e63b667c0e6a6e36240d981687f35f9