Rules - komendy dozwolone poza sandboksem
prefix_rule() pozwala kontrolować, które polecenia Codex może uruchamiać poza sandboksem. Reguły są eksperymentalne, więc ich zachowanie może się zmienić. Pole pattern jest wymagane i musi zawierać niepustą listę określającą prefiks polecenia do dopasowania.
Elementy pattern mogą być literałami albo listami alternatyw dla danej pozycji argumentu. Codex porównuje listę argumentów polecenia z pattern, dlatego kolejność elementów prefiksu ma znaczenie. Decyzja domyślna to allow; można też wymagać potwierdzenia albo zablokować pasujące wywołanie bez pytania. Jeśli pasuje kilka reguł, Codex stosuje najbardziej restrykcyjną decyzję: forbidden, potem prompt, a na końcu allow.
Przy starcie Codex skanuje foldery rules/ aktywnych warstw, a reguły lokalne projektu ładuje tylko wtedy, gdy warstwa .codex/ projektu jest zaufana. Pola match i not_match pozwalają podać przykłady, które Codex sprawdza podczas ładowania reguł.
Proste łańcuchy poleceń złożone ze zwykłych słów i bezpiecznych operatorów Codex dzieli na osobne polecenia przed oceną reguł. Dla bardziej zaawansowanych konstrukcji, takich jak przekierowania lub podstawienia, cała inwokacja jest traktowana jako pojedyncze bash -lc i oceniana jako całość. Reguły można sprawdzić poleceniem codex execpolicy check, które pokazuje najbardziej restrykcyjną decyzję i pasujące reguły.
gh pr view poza sandboksem.prefix_rule(pattern = ["gh", "pr", "view"], decision = "prompt")
gh pr view bez pytania.prefix_rule(pattern = ["gh", "pr", "view"], decision = "allow")
Zastosowanie w praktyce
Użyj decyzji prompt, gdy chcesz dopuścić oglądanie PR-ów, ale wymagać zatwierdzenia każdego pasującego wywołania. Dodaj przykłady do match i not_match, aby wychwycić błędne dopasowania podczas ładowania reguły. Przed zastosowaniem reguł przetestuj je poleceniem codex execpolicy check i sprawdź wskazaną decyzję oraz dopasowania.