{"id":31176,"date":"2026-10-21T07:41:49","date_gmt":"2026-10-21T07:41:49","guid":{"rendered":"https:\/\/umang.pk\/2026\/10\/21\/%da%a9%d9%88%da%88%d9%86%da%af-%d8%a7%db%8c%d8%ac%d9%86%d9%b9-%da%a9%d9%88-%d8%a8%d8%b1%d8%a7%d8%a4%d8%b2%d8%b1-%d9%85%db%8c%da%ba-%d8%a7%d8%b3-%da%a9%db%92-%da%a9%d8%a7%d9%85-%da%a9%db%8c-%d8%aa\/"},"modified":"2026-10-21T07:41:49","modified_gmt":"2026-10-21T07:41:49","slug":"%da%a9%d9%88%da%88%d9%86%da%af-%d8%a7%db%8c%d8%ac%d9%86%d9%b9-%da%a9%d9%88-%d8%a8%d8%b1%d8%a7%d8%a4%d8%b2%d8%b1-%d9%85%db%8c%da%ba-%d8%a7%d8%b3-%da%a9%db%92-%da%a9%d8%a7%d9%85-%da%a9%db%8c-%d8%aa","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/10\/21\/%da%a9%d9%88%da%88%d9%86%da%af-%d8%a7%db%8c%d8%ac%d9%86%d9%b9-%da%a9%d9%88-%d8%a8%d8%b1%d8%a7%d8%a4%d8%b2%d8%b1-%d9%85%db%8c%da%ba-%d8%a7%d8%b3-%da%a9%db%92-%da%a9%d8%a7%d9%85-%da%a9%db%8c-%d8%aa\/","title":{"rendered":"\u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u06d2 \u06a9\u0627\u0645 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc \u062c\u0627\u0626\u06d2\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0645\u06cc\u06ba \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0633\u06d2 \u06cc\u06c1 \u06a9\u06c1\u06c1 \u06a9\u0631 \u062a\u06be\u06a9 \u06af\u06cc\u0627 \u06c1\u0648\u06ba \u06a9\u06c1 \u0627\u0646 \u06a9\u0627 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0627\u0645 \u0627\u0633 \u0648\u0642\u062a \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06a9\u0633\u06cc \u0646\u06d2 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u06be\u0648\u0644\u0627 \u06c1\u0648\u06d4<\/p>\n<p>\u0622\u067e \u0646\u06d2 \u0634\u0627\u06cc\u062f \u0631\u0648\u0679\u06cc\u0646 \u062f\u06cc\u06a9\u06be\u06cc \u06c1\u0648\u06af\u06cc\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0686\u06be \u06a9\u0648\u0688 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0641\u0627\u0631\u0645\u06cc\u0679\u0631\u0632\u060c \u0679\u0627\u0626\u067e \u0686\u06cc\u06a9\u0631\u0632 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0628 \u06a9\u0686\u06be \u0633\u0628\u0632 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0622\u067e \u06a9\u0648 \u06a9\u0686\u06be \u0648\u0631\u0698\u0646 \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u0627 \u062c\u0633 \u0645\u06cc\u06ba \u06a9\u06c1\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u06a9\u06c1 &quot;\u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u0627\u0648\u0631 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1&#8221;\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 \u0627\u0633 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc\u0633\u06d2 \u06c1\u0648\u0626\u06cc\u061f \u067e\u0627\u0633 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u0627 \u0645\u062c\u0645\u0648\u0639\u06c1 \u0645\u0641\u06cc\u062f \u062b\u0628\u0648\u062a \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0627\u06cc\u067e \u06a9\u06be\u0648\u0644\u0646\u06d2 \u0627\u0648\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0645\u062a\u0631\u0627\u062f\u0641 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0648 \u0627\u0628\u06be\u06cc \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u0633\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u062a\u06be\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0627\u0633 \u06a9\u0627 \u0627\u062d\u0633\u0627\u0633 \u06c1\u0648\u0627 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u067e\u0627\u0633 \u06c1\u0648 \u06af\u0626\u06d2\u060c \u0644\u06cc\u06a9\u0646 UI \u0645\u06cc\u06ba \u0627\u0628 \u0628\u06be\u06cc \u0627\u06cc\u0633\u06d2 \u0645\u0633\u0627\u0626\u0644 \u062a\u06be\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u0627\u0646\u0633\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 3 \u0633\u06cc\u06a9\u0646\u0688 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06a9\u0646\u0679\u0631\u0648\u0644 \u062c\u0648 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0648 \u0627\u0648\u0648\u0631 \u0644\u06cc\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0645\u0646\u062a\u062e\u0628 \u062d\u0627\u0644\u062a \u062c\u0648 \u0627\u0633\u0679\u0648\u0631 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u0644\u06cc\u06a9\u0646 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u0646\u0645\u0627\u06cc\u0627\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0626\u06cc \u06c1\u06d2\u06d4 \u0639\u0645\u0644 \u06a9\u0648 \u0627\u06cc\u06a9 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u06cc \u0633\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0646\u06c1 \u06a9\u06c1 \u062f\u0648\u0633\u0631\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0627\u06cc\u06a9 \u0641\u0644\u0679\u0631 \u062c\u0648 \u0627\u0633\u0679\u06cc\u0679\u0633 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0644\u06cc\u06a9\u0646 \u0635\u0641\u062d\u06c1 \u067e\u0631 \u067e\u0631\u0627\u0646\u0627 \u0688\u06cc\u0679\u0627 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0622\u067e \u0627\u0633\u06d2 \u062a\u0627\u0632\u06c1 \u0646\u06c1 \u06a9\u0631 \u0644\u06cc\u06ba\u06d4 \u0646\u0642\u0634\u06d2 \u06a9\u06cc \u067e\u0631\u062a\u06cc\u06ba \u063a\u0644\u0637 \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u06a9\u06be\u06cc\u0646\u0686\u06cc \u06af\u0626\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0645\u0627\u0688\u0644 \u06c1\u06d2 \u062c\u0648 \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06be\u0644\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u0641\u0679 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0646\u06d2 \u06a9\u0648\u0688 \u06a9\u0627 \u062a\u062c\u0631\u0628\u06c1 \u06a9\u06cc\u0627\u060c \u0644\u06cc\u06a9\u0646 \u06a9\u0633\u06cc \u0646\u06d2 \u0628\u06be\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u06d4 \u0627\u0633 \u0644\u06cc\u06d2 \u0645\u06cc\u06ba \u0646\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u0648\u06ba \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0622\u0646\u06d2 \u0648\u0627\u0644\u06cc \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0627 \u062d\u0635\u06c1 \u0628\u0646\u0627\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u062f\u06cc\u0627\u060c \u0627\u0648\u0631 \u0686\u0646\u062f \u06c1\u0641\u062a\u0648\u06ba \u06a9\u06d2 \u0628\u0639\u062f \u06cc\u06c1 \u0639\u0627\u062f\u062a \u0627\u06cc\u06a9 \u0679\u0648\u0644 \u0645\u06cc\u06ba \u0628\u062f\u0644 \u06af\u0626\u06cc\u06d4 \u06c1\u0645 \u0627\u062e\u062a\u062a\u0627\u0645 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u0627\u0633 \u062d\u0635\u06d2 \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0622\u0631\u0679\u06cc\u06a9\u0644 \u0645\u06cc\u06ba\u060c \u0622\u067e \u0633\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u062d\u0642\u06cc\u0642\u06cc \u0628\u0631\u0627\u0624\u0632\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 MCP \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06cc\u0633\u06d2 \u0644\u06a9\u06be\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0635\u0641\u062d\u06c1 \u0644\u0648\u0688 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0622\u067e \u06a9\u06cc \u062c\u0627\u0646\u0628 \u0633\u06d2 \u0627\u0628\u06be\u06cc \u06a9\u06cc \u06af\u0626\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u0626\u06cc\u06d2 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0627\u06cc\u067e \u06a9\u0648 \u0627\u0633 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06cc\u0633\u06d2 \u062d\u0627\u0635\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0634\u0631\u0648\u0639 \u06c1\u0648 \u0686\u06a9\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0646 \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u062f\u0648 \u06af\u0631\u0648\u067e\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u06a9\u06cc\u0633\u06d2 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 <code>AGENTS.md<\/code> \u062f\u0648\u0628\u0627\u0631\u06c1 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u062a\u06a9\u0646\u06cc\u06a9\u06cc\u06ba\u060c \u0627\u0644\u06af \u0627\u0644\u06af \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u0627\u06cc\u0633\u06d2 \u06a9\u06cc\u0691\u06d2 \u06a9\u06cc\u0648\u06ba \u067e\u06a9\u0691\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0645\u0635\u0646\u0641\u06cc\u0646 \u0633\u06d2 \u0686\u06be\u0648\u0679 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u06cc\u0633\u06d2 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0635\u0631\u0641 \u0648\u06c1\u06cc\u06ba \u0633\u06d2 \u0635\u0627\u0641 \u06a9\u0631\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0633\u06d2 \u0627\u0646\u06c1\u0648\u06ba \u0646\u06d2 \u0634\u0631\u0648\u0639\u0627\u062a \u06a9\u06cc\u06d4<\/p>\n<p>\u0622\u062e\u0631\u06cc \u062d\u0635\u06d2 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0627\u0648\u067e\u0646 \u0633\u0648\u0631\u0633 \u0679\u0648\u0644 \u06a9\u06cc\u0679\u06cc\u0644\u06cc\u067e\u0633\u0633 \u067e\u0631 \u0646\u0638\u0631 \u0688\u0627\u0644\u06cc\u06ba \u06af\u06d2\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u0628\u06be\u06cc \u0634\u0627\u0645\u0644 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0648\u0627\u0642\u0639\u06cc \u0686\u06cc\u06a9 \u067e\u0627\u0633 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<p>\u06cc\u06c1 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u06cc\u06c1 \u0622\u067e \u06a9\u06cc \u0645\u062f\u062f \u06a9\u0631\u06d2 \u06af\u0627:<\/p>\n<ul>\n<li>\n<p>\u0645\u0627\u0688\u0644 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 (MCP) \u062c\u06cc\u0633\u06d2 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688\u060c \u06a9\u0648\u0688\u06cc\u06a9\u0633\u060c \u06cc\u0627 \u06a9\u0631\u0633\u0631 \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u062c\u0631\u0628\u06c1 \u0627\u0648\u0631 \u0631\u06c1\u0646\u0645\u0627\u0626\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062e\u06cc\u0627\u0644\u0627\u062a\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0648\u06cc\u0628 \u0627\u06cc\u067e \u062c\u0648 JavaScript \u06cc\u0627 TypeScript \u0645\u06cc\u06ba \u0644\u06a9\u06be\u06cc \u06c1\u0648\u0626\u06cc \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u0627\u0633\u06a9\u0631\u067e\u0679\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0686\u0644\u0627\u0626\u06cc \u062c\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0645\u062b\u0627\u0644 \u0646\u0648\u0688 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 <code>pnpm<\/code>\u062a\u0627\u06c1\u0645\u060c \u06a9\u0633\u06cc \u0645\u062e\u0635\u0648\u0635 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0627\u0646\u062d\u0635\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u06a9\u0627 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0639\u0644\u0645: \u0679\u06cc\u0633\u0679\u060c \u0644\u0648\u06a9\u06cc\u0679\u0631\u060c \u062f\u0644\u0627\u0626\u0644 \u06a9\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u0646\u0638\u0631 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u067e\u06c1\u0644\u06d2 \u06c1\u0627\u0641 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u0648 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0679\u06cc\u0633\u0679 \u0633\u0648\u0679 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>Node.js 20 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 MCP \u06a9\u06d2 \u0644\u06cc\u06d2\u060c Node.js 22.12 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06af\u0631 \u0622\u067e katalepsis\u060c \u0627\u0648\u0631 Git \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u062c\u0646\u0679 \u0639\u0645\u0644 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u0679\u0631\u0645\u06cc\u0646\u0644 \u0627\u0648\u0631 \u06af\u0679 \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u06cc\u06ba\u06d4 <code>git status<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"heading-the-loop-agents-are-missing\">\u0644\u0648\u067e \u0627\u06cc\u062c\u0646\u0679 \u063a\u0627\u0626\u0628 \u06c1\u06d2\u06d4<\/h2>\n<p>\u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679\u0633 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u06a9\u0627\u0631\u0622\u0645\u062f \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0646 \u06a9\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u06a9\u0648\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u0641\u06cc\u0688 \u0628\u06cc\u06a9 \u0644\u0648\u067e \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0641\u0627\u0631\u0645\u06cc\u0679\u0631 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u067e\u0691\u06be\u06cc\u06ba\u060c \u0627\u0646 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0646\u06c1\u06cc\u06ba \u0686\u0644\u0627\u0626\u06cc\u06ba\u060c \u0646\u0627\u06a9\u0627\u0645\u06cc\u0648\u06ba \u06a9\u0648 \u067e\u0691\u06be\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0648\u0634\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u0628\u06c1\u0627\u062f\u0631\u0627\u0646\u06c1 \u06a9\u0648\u0634\u0634 \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u062f\u0631\u0633\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<p>\u062c\u0628 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0627\u0645 \u06a9\u06cc \u0628\u0627\u062a \u0622\u062a\u06cc \u06c1\u06d2 \u062a\u0648 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u063a\u0627\u0626\u0628 \u0627\u0646 \u067e\u0679 \u062e\u0648\u062f \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06c1\u06cc \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba \u062c\u0648 \u0644\u0648\u067e \u0686\u0627\u06c1\u062a\u0627 \u06c1\u0648\u06ba \u0648\u06c1 \u062a\u06be\u0648\u0691\u0627 \u0622\u06af\u06d2 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u067e\u0646\u06d2 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u0626\u06cc\u06ba\u060c \u0627\u06cc\u067e \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u060c \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u06c1 \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0648\u0627\u060c \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0648\u0642\u0641\u06d2 \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u062e\u0631\u06cc \u0645\u0631\u062d\u0644\u06c1 \u0622\u067e \u06a9\u06d2 \u062e\u06cc\u0627\u0644 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06cc\u06c1 \u06a9\u06c1\u06c1 \u06a9\u0631 \u0628\u06c1\u062a \u0622\u0631\u0627\u0645 \u0633\u06d2 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u06a9\u0648 &quot;\u0627\u0628\u06be\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2&#8221; \u0627\u0648\u0631 \u0648\u06c1 \u0686\u0627\u06c1\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0635\u0641\u062d\u06c1 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u06be\u0648\u0644\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 MCP \u0627\u0646\u06c1\u06cc\u06ba \u06cc\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba \u067e\u06c1\u0644\u06d2 \u06c1\u06cc E2E \u0679\u06cc\u0633\u0679\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0686\u06a9\u0627 \u06c1\u0648\u06ba\u060c \u0644\u06cc\u06a9\u0646 MCP \u0633\u0631\u0648\u0631 \u062f\u0648\u0633\u0631\u06cc \u0648\u062c\u0648\u06c1\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0641\u06cc\u062f \u06c1\u06cc\u06ba\u06d4 \u06cc\u0639\u0646\u06cc \u06cc\u06c1 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u06cc\u062c\u0646\u0679 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0644\u0648\u06a9\u0644 \u06c1\u0648\u0633\u0679 \u06a9\u06be\u0648\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0635\u0641\u062d\u0627\u062a \u067e\u0691\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0646\u0679\u0631\u0648\u0644\u0632 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0644\u06a9 \u0627\u0648\u0631 \u0679\u0627\u0626\u067e \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633 \u0644\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u06a9\u0633\u06cc \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u06a9\u0686\u06be \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u0646\u06d2 \u062c\u06cc\u0633\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>pnpm playwright test<\/code>. \u0627\u06cc\u06a9 \u0679\u06cc\u0633\u0679 \u0633\u0648\u06cc\u0679 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u0626\u06d2 \u06af\u0627 \u06a9\u06c1 \u06a9\u06cc\u0627 \u0622\u067e \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0644\u06a9\u06be\u0627 \u06c1\u0648\u0627 \u06a9\u0648\u0626\u06cc \u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u067e\u0646\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u067e\u0648\u0686\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0633 \u062e\u0627\u0635 \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u0627 \u06a9\u06cc\u0627 \u0627\u062b\u0631 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0686\u06be \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u062a\u06c1\u06c1 \u06a9\u06cc \u0627\u0641\u0627\u062f\u06cc\u062a \u06a9\u0648 \u0631\u06cc\u0641\u06cc\u06a9\u0679\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u06a9\u06d2 \u0679\u06cc\u0633\u0679 \u0645\u06cc\u06ba \u0686\u0646\u062f \u0645\u062f\u062f\u06af\u0627\u0631 \u0634\u0627\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0627\u06c1\u0645\u060c \u0641\u0631\u0642 \u06a9\u0648\u0688 \u06a9\u0648 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0631\u06cc\u0646\u0688\u0631\u0646\u06af\u060c \u0633\u0644\u06cc\u06a9\u0634\u0646\u060c \u0641\u0644\u0679\u0631\u0646\u06af\u060c \u0627\u0648\u0631 \u0631\u06cc \u0633\u06cc\u0679 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0648 \u0622\u0632\u0645\u0627\u0646\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0686\u0644\u0646\u06d2 \u06a9\u06cc \u0628\u06be\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633 \u0633\u06d2 \u0628\u06c1\u062a \u0642\u0631\u06cc\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0627\u0645 \u06a9\u0627 \u06a9\u06cc\u0633\u06d2 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u062a\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u0686\u06be\u0648\u0679\u06cc \u06c1\u06cc\u06ba\u06d4 \u0646\u0648\u0688 20 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u0648\u0631 \u0627\u06cc\u06a9 MCP- \u0641\u0639\u0627\u0644 \u06a9\u0644\u0627\u0626\u0646\u0679 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-json\">{\n  \"mcpServers\": {\n    \"playwright\": {\n      \"command\": \"npx\",\n      \"args\": [\"@playwright\/mcp@latest\"]\n    }\n  }\n}\n<\/code><\/pre>\n<p>\u0641\u0648\u0631\u06cc \u0635\u062d\u062a \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0679\u0648\u0688\u0648 \u0627\u06cc\u0645 \u0648\u06cc \u0633\u06cc \u0688\u06cc\u0645\u0648 \u06a9\u06be\u0648\u0644\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u06d2\u060c &quot;\u0628\u0631\u0627\u0624\u0632\u0631 QA&#8221; \u0646\u0627\u0645\u06cc \u0679\u0648\u0688\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u06cc\u06c1 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u0633 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u0628\u0631\u0627\u0624\u0632\u0631 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0645\u0634\u06a9\u0644 \u062d\u0635\u06c1 \u06c1\u06d2.<\/p>\n<h2 id=\"heading-why-a-browser-on-its-own-falls-short\">\u0628\u0631\u0627\u0624\u0632\u0631 \u0645\u06cc\u06ba \u06c1\u06cc \u06a9\u06cc\u0648\u06ba \u06a9\u0645\u06cc \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u062f\u06cc\u0646\u06d2 \u0633\u06d2 \u0627\u0646\u06c1\u06cc\u06ba \u0635\u0631\u0641 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u0628\u062a\u0627\u062a\u0627 \u06a9\u06c1 \u06a9\u06cc\u0627 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u060c \u06a9\u062a\u0646\u06cc \u062f\u0648\u0631 \u062c\u0627\u0646\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u062b\u0628\u0648\u062a \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0627 \u0634\u0645\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u06cc\u06c1 \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0633\u0628 \u0633\u06d2 \u0633\u0633\u062a\u06cc \u0686\u06cc\u0632 \u067e\u0631 \u0648\u0627\u067e\u0633 \u0622\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u06c1\u06d2\u06d4 \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u06a9\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0628 \u0628\u06be\u06cc \u06c1\u0646\u0633\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06a9\u0645\u0632\u0648\u0631 QA \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0645\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u0631\u067e\u0648\u0631\u0679\u0633 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u0626\u06cc \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">Opened \/route.\nPage loaded successfully.\nBrowser verification complete.\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0635\u0641\u062d\u06c1 \u06a9\u06be\u0644\u0646\u06d2 \u067e\u0631 \u0627\u06cc\u06a9 \u0631\u067e\u0648\u0631\u0679 \u06c1\u06d2\u060c \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u0646\u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0622\u063a\u0627\u0632 \u0633\u06d2 \u0627\u0628 \u062a\u06a9 \u06a9\u0648\u0626\u06cc \u06a9\u06cc\u0691\u06d2 \u0646\u06c1\u06cc\u06ba \u0645\u0644\u06d2 \u06c1\u0648\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u0648 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0631\u06c1\u0646\u0645\u0627\u0626\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u062a\u06be\u06cc\u06d4 \u06cc\u06c1 \u06a9\u0686\u06be \u0627\u0635\u0648\u0644 \u06c1\u06cc\u06ba \u062c\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0644\u06a9\u06be\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0627\u067e\u0646\u06d2 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0627\u0645 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u06a9\u06cc\u0633\u06d2 \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba: \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0686\u0646\u0627 \u06c1\u06d2\u060c \u06a9\u06cc\u0627 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u06cc\u0627 \u062b\u0628\u0648\u062a \u06a9\u06be\u06cc\u0646\u0686\u0646\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062a\u06a9\u0646\u06cc\u06a9 \u0686\u0646\u062f \u0633\u0637\u0631\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06c1\u0648\u0626\u06cc \u062c\u0633\u06d2 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u0631\u0627\u0645\u067e\u0679 \u0645\u06cc\u06ba \u0628\u0627\u0631 \u0628\u0627\u0631 \u062f\u06c1\u0631\u0627\u06cc\u0627\u060c \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u06a9\u06cc \u062a\u06a9\u0646\u06cc\u06a9 \u0628\u0646 \u06af\u0626\u06cc \u062c\u0633\u06d2 \u06c1\u0645 \u0627\u06af\u0644\u06d2 \u062d\u0635\u06d2 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u0627 \u0627\u0635\u0648\u0644 \u062c\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u0633\u06cc\u0679 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0648\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06af\u0631 \u0641\u0644\u0679\u0631 \u0628\u062f\u0644 \u06af\u06cc\u0627 \u06c1\u06d2 \u062a\u0648 \u0627\u0633 \u0641\u0644\u0679\u0631 \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0631\u06cc \u0633\u06cc\u0679 \u06a9\u06cc \u0645\u0646\u0637\u0642 \u0628\u062f\u0644 \u06af\u0626\u06cc \u06c1\u06d2 \u062a\u0648 \u067e\u06c1\u0644\u06d2 \u06a9\u0686\u06be \u062d\u0627\u0644\u062a \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0645\u0633\u062a\u0642\u0644 \u0645\u0632\u0627\u062c\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06af\u0691\u0628\u0691 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u0635\u0641\u062d\u06c1 \u06a9\u0648 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 \u0645\u0648\u0688\u0644 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0645\u0648\u0688\u0644\u0632 \u06a9\u0648 \u06a9\u06be\u0648\u0644\u06cc\u06ba \u0627\u0648\u0631 \u0628\u0646\u062f \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062c\u0648\u0627\u0628\u06cc \u0644\u06d2 \u0622\u0624\u0679 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679 \u06a9\u0627 \u0633\u0627\u0626\u0632 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u062c\u0628 \u06a9\u0648\u0626\u06cc \u0627\u0646\u0633\u0627\u0646 \u06cc\u06c1 \u06a9\u06c1\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06cc\u06c1 \u0633\u0628 \u0648\u0627\u0636\u062d \u0646\u0638\u0631 \u0622\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06af\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u0635\u0631\u0641 \u06cc\u06c1 \u06a9\u06c1\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06c1 &quot;\u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0627\u06cc\u067e \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2&#8221; \u062a\u0648 \u06cc\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u0648\u0627\u0636\u062d \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0641\u0631\u0642 \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0635\u0631 \u0679\u06cc\u0633\u0679 \u067e\u0644\u0627\u0646 \u0645\u06cc\u06ba \u0628\u062f\u0644 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0641\u0644\u0679\u0631 \u0628\u0627\u0631 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u0622\u067e \u0627\u0633 \u06a9\u06cc \u062a\u0648\u0642\u0639 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">Changed: src\/features\/projects\/FilterBar.tsx, src\/features\/projects\/useFilters.ts\n\nPlan:\n1. Open \/projects and note how many rows are showing.\n2. Filter by Status: Active. Every row should say Active.\n3. Add Owner: me on top. The list should narrow again.\n4. Clear filters. The original row count should come back.\n5. Apply a filter and refresh. The filter lives in the URL, so it should survive.\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u0622\u067e \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 MCP \u06a9\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0628\u0631\u0627\u0624\u0632\u0631 \u0679\u0648\u0644\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0633 \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u067e\u06c1\u0644\u06d2 \u0686\u0646\u062f \u0645\u0631\u0627\u062d\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0644\u0632 \u06a9\u0627 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0648\u0631\u0698\u0646 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">browser_navigate   { \"url\": \"http:\/\/localhost:5173\/projects\" }\nbrowser_snapshot   {}                      \u2192 table with 40 rows\nbrowser_click      { \"element\": \"Status filter\", \"ref\": \"e14\" }\nbrowser_click      { \"element\": \"Active option\", \"ref\": \"e31\" }\nbrowser_snapshot   {}                      \u2192 table with 12 rows, all \"Active\"\nbrowser_click      { \"element\": \"Clear filters\", \"ref\": \"e15\" }\nbrowser_snapshot   {}                      \u2192 table with 40 rows\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>ref<\/code> \u0642\u062f\u0631\u06cc\u06ba \u0642\u0627\u0628\u0644 \u0631\u0633\u0627\u0626\u06cc \u0627\u0633\u0646\u06cc\u067e \u0634\u0627\u0679 \u0633\u06d2 \u0644\u06cc \u06af\u0626\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0637\u0631\u062d \u0627\u06cc\u062c\u0646\u0679 CSS \u0633\u0644\u06cc\u06a9\u0679\u0631\u0632 \u06a9\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0644\u06af\u0627\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644\u0632 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 PR \u0645\u06cc\u06ba \u0627\u062f\u0627 \u06c1\u0648\u0627\u060c \u062c\u0633 \u0646\u06d2 \u0627\u06cc\u06a9 \u0645\u0633\u0626\u0644\u06c1 \u062d\u0644 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u06c1\u0627\u06ba \u06a9\u0631\u0633\u0631 \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u0646\u0642\u0634\u0648\u06ba \u0645\u06cc\u06ba \u06c1\u0648\u0648\u0631 \u067e\u0631 \u067e\u06be\u0646\u0633 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 PR \u06a9\u06d2 \u0646\u0626\u06d2 \u06cc\u0648\u0646\u0679 \u0679\u06cc\u0633\u0679 \u0628\u06be\u06cc \u067e\u0631\u0627\u0646\u06d2 \u06a9\u0648\u0688 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u06af\u0632\u0631\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u06c1 \u062b\u0627\u0628\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0627 \u06a9\u06c1 \u0641\u06a9\u0633 \u0646\u06d2 \u06a9\u0686\u06be \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0638\u0627\u06c1\u0631 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0646\u06d2 \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u06be\u0648\u0644\u0627\u060c \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u067e\u0631\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0622\u06af\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0686\u0644\u0627 \u06af\u06cc\u0627\u060c \u0627\u0648\u0631 \u0628\u0627\u0644\u06a9\u0644 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u06cc\u0627 \u06a9\u06c1 \u06a9\u0631\u0633\u0631 \u06a9\u0648 \u06a9\u0628 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 \u0627\u0635\u0648\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062a\u0639\u0627\u0645\u0644 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062d\u062a\u0645\u06cc \u0646\u062a\u06cc\u062c\u06c1 \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u06cc\u06ba\u06d4 &quot;\u0645\u06cc\u06ba \u0646\u06d2 \u0631\u06cc \u0633\u06cc\u0679 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u06cc\u0627 \u0627\u0648\u0631 \u0627\u0633 \u0646\u06d2 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u067e\u06be\u06cc\u0646\u06a9\u0627&#8221; \u0622\u067e \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0646\u06c1\u06cc\u06ba \u0628\u062a\u0627\u062a\u0627\u06d4 \u0622\u067e \u06a9\u0648 \u0648\u0627\u0642\u0639\u06cc \u062c\u0633 \u0686\u06cc\u0632 \u06a9\u06cc \u067e\u0631\u0648\u0627\u06c1 \u06c1\u06d2 \u0648\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0631\u06cc \u0633\u06cc\u0679 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0627\u0633\u06cc \u0637\u0631\u062d \u0648\u0627\u067e\u0633 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0637\u0631\u062d\u06d4 \u0627\u0635\u0644 \u062f\u0644\u06cc\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0633\u06cc\u0679\u0646\u06af\u0632 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0646\u06c1\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0648 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0648\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0648\u06c1\u06cc \u0631\u06c1\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u06d2 \u0679\u06cc\u0633\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0644\u06a9\u06be\u06cc \u06af\u0626\u06cc \u062f\u0644\u06cc\u0644 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06d2: \u0627\u06c1\u0645 \u0644\u0627\u0626\u0646 \u0648\u06c1 \u0622\u062e\u0631\u06cc \u0644\u0627\u0626\u0646 \u06c1\u06d2 \u062c\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0639\u0645\u0644 \u0645\u06cc\u06ba \u0644\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-ts\">import { test, expect } from \"@playwright\/test\";\n\ntest(\"weekly digest setting survives a reload\", async ({ page }) => {\n  await page.goto(\"\/settings\/notifications\");\n  await page.getByRole(\"switch\", { name: \"Weekly digest\" }).click();\n  await page.getByRole(\"button\", { name: \"Save\" }).click();\n\n  await page.reload();\n\n  await expect(page.getByRole(\"switch\", { name: \"Weekly digest\" })).toBeChecked();\n});\n<\/code><\/pre>\n<p>\u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0642\u0648\u0627\u0639\u062f \u067e\u0631 \u0639\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0679\u06cc\u0633\u0679 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0648\u06c1\u06cc \u06a9\u0627\u0645 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 MCP \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u060c \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u060c <code>browser_navigate<\/code> \u0627\u0633\u06cc URL \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0626\u06d2 \u0627\u0633\u0646\u06cc\u067e \u0634\u0627\u0679 \u0633\u06d2 \u0633\u0648\u0626\u0686 \u06a9\u06cc \u062d\u0627\u0644\u062a \u067e\u0691\u06be\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0648\u0627\u0644 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2\u060c \u062f\u06cc\u06af\u0631 \u062b\u0628\u0648\u062a\u0648\u06ba \u06a9\u06cc \u0628\u06be\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0622\u06cc\u0627 \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644 \u0628\u062f\u0644 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u0628\u0679\u0646 \u063a\u06cc\u0631 \u0641\u0639\u0627\u0644 \u06a9\u0631 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u0688\u0627\u0626\u06cc\u0644\u0627\u06af \u06a9\u06be\u0648\u0644\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u06cc\u06c1 DOM \u0627\u0648\u0631 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06cc \u062d\u0627\u0644\u062a \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0627\u0644 \u06c1\u06d2\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679 \u0646\u06c1\u06cc\u06ba\u06d4 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633 \u0645\u0641\u06cc\u062f \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0628\u0635\u0631\u06cc \u0633\u0648\u0627\u0644\u0627\u062a \u06c1\u06cc\u06ba\u060c \u0686\u0627\u06c1\u06d2 \u0627\u06cc\u06a9 \u0688\u0627\u0626\u06cc\u0644\u0627\u06af \u0628\u0627\u06a9\u0633 \u06a9\u0679 \u06af\u06cc\u0627 \u06c1\u0648\u060c \u062f\u0648 \u0686\u06cc\u0632\u06cc\u06ba \u0627\u0648\u0648\u0631\u0644\u06cc\u067e \u06c1\u0648 \u062c\u0627\u0626\u06cc\u06ba\u060c \u06cc\u0627 \u0641\u0648\u0646 \u067e\u0631 \u0679\u06cc\u06a9\u0633\u0679 \u06a9\u0648 \u063a\u0644\u0637 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u0648\u06d4 \u06a9\u0686\u06be \u0635\u0648\u0631\u062a\u0648\u06ba \u0645\u06cc\u06ba\u060c \u0622\u067e \u06a9\u0648 \u062f\u0648\u0646\u0648\u06ba \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u0648\u0688\u0644 \u06a9\u0648 \u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u0644\u06cc\u06a9\u0646 DOM \u0645\u06cc\u06ba \u062a\u0633\u0644\u06cc \u0628\u062e\u0634 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06d2 \u0622\u0624\u0679 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0633\u0627\u0626\u0632 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u0627 \u0627\u0648\u0631 \u0627\u0633 \u0645\u0648\u0627\u062f \u06a9\u0648 \u06a9\u06cc\u067e\u0686\u0631 \u06a9\u0631\u0646\u0627 \u062c\u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0634\u062e\u0635 \u062d\u0642\u06cc\u0642\u062a \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">browser_resize            { \"width\": 375, \"height\": 812 }\nbrowser_click             { \"element\": \"Export button\", \"ref\": \"e22\" }\nbrowser_take_screenshot   { \"filename\": \"export-dialog-375.png\" }\nbrowser_resize            { \"width\": 1440, \"height\": 900 }\nbrowser_take_screenshot   { \"filename\": \"export-dialog-1440.png\" }\n<\/code><\/pre>\n<p>\u0648\u06c1\u0627\u06ba \u0631\u06c1\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0646\u0633\u0648\u0644 \u06a9\u0648 \u0628\u06be\u06cc \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631\u060c \u0627\u06af\u0631 \u0627\u0633 \u06a9\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a API \u06a9\u0627\u0644\u0632 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u0648 \u0628\u06be\u06cc \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u06cc\u06a9\u0646 \u0645\u06cc\u06ba \u0635\u0631\u0641 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u063a\u0644\u0637\u06cc\u0648\u06ba \u0645\u06cc\u06ba \u062f\u0644\u0686\u0633\u067e\u06cc \u0631\u06a9\u06be\u062a\u0627 \u06c1\u0648\u06ba\u06d4 \u0627\u0646\u062a\u0628\u0627\u06c1 \u062c\u0648 \u062c\u0627\u0631\u06cc \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 <code>main<\/code> \u062a\u0645\u0627\u0645 \u062c\u0627\u0626\u0632\u0648\u06ba \u06a9\u0648 \u0686\u06be \u0645\u0627\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u0648\u06a9\u0627 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0648\u0631 \u0635\u0631\u0641 \u06a9\u0644\u0627\u0626\u0646\u0679 \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u0622\u0688\u0679 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0648\u06c1 \u0628\u0686\u062a \u062c\u0633 \u0646\u06d2 \u0627\u0635\u0644 \u0645\u06cc\u06ba &quot;\u06a9\u0627\u0645 \u06a9\u06cc\u0627&#8221; <code>500<\/code>\u0645\u06cc\u06ba \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0646\u0646\u0627 \u0686\u0627\u06c1\u0648\u06ba \u06af\u0627\u06d4<\/p>\n<p><code>browser_console_messages<\/code>    \u0627\u0648\u0631 <code>browser_network_requests<\/code> \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0627\u06af\u0631 UI \u0679\u06be\u06cc\u06a9 \u0644\u06af \u0631\u06c1\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0635\u0641\u062d\u06c1 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u0633 \u0686\u06cc\u0632 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u06af\u0626\u06cc \u062a\u06be\u06cc \u0627\u0633\u06d2 \u0648\u0627\u067e\u0633 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0646\u0627\u06a9\u0627\u0645 \u0633\u06cc\u0648 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u0644\u0627\u0626\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062f\u06a9\u06be\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627:<\/p>\n<pre><code class=\"language-text\">[PUT] http:\/\/localhost:5173\/api\/settings => [500] Internal Server Error\n<\/code><\/pre>\n<p>\u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0644\u06d2 \u06a9\u0631\u060c \u0642\u0648\u0627\u0639\u062f \u0627\u0633 \u062d\u0635\u06d2 \u06a9\u06d2 \u0634\u0631\u0648\u0639 \u0645\u06cc\u06ba \u06a9\u0645\u0632\u0648\u0631 \u0631\u067e\u0648\u0631\u0679 \u06a9\u0648 \u06a9\u0633\u06cc \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u0645\u06cc\u06ba \u0628\u062f\u0644 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633 \u06a9\u06cc \u062d\u0642\u06cc\u0642\u062a \u0645\u06cc\u06ba \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">Route: \/settings\/notifications\nDid: turned on \"Weekly digest\", clicked Save, reloaded the page.\nChecked: switch still on after reload (aria-checked=\"true\");\n  PUT \/api\/settings returned 200; no new console errors.\nScreenshots: settings-375.png, settings-1440.png (label wraps cleanly on mobile)\nTests: pnpm test settings (14 passed)\nFound and fixed: Save stayed disabled after the first save. Fixed in\n  SettingsForm.tsx, then went through the flow again.\n<\/code><\/pre>\n<h2 id=\"heading-how-to-start-the-real-app\">\u0627\u0635\u0644 \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u06cc\u062c\u0646\u0679 \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u06a9\u0633\u06cc \u0686\u06cc\u0632 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0627\u06cc\u067e \u0646\u06c1\u06cc\u06ba \u0686\u0644\u062a\u06cc\u060c \u0627\u0648\u0631 \u0634\u0627\u0631\u0679 \u06a9\u0679\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u0631\u06a9\u0634\u0634 \u062d\u0635\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u06cc\u06ba &quot;\u0631\u0646&#8221; \u0646\u06c1\u06cc\u06ba \u0644\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u062a\u0627 \u062a\u06be\u0627 <code>pnpm dev<\/code>&quot;\u062a\u0645\u0627\u0645 \u0630\u062e\u06cc\u0631\u0648\u06ba \u0645\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u06cc\u06c1 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc\u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 <code>dev<\/code> \u0633\u06a9\u0631\u067e\u0679 <code>package.json<\/code> \u067e\u06c1\u0644\u06d2 README \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u067e\u0631 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0644\u06af\u0627\u0626\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0635\u0631\u0641 \u0645\u0648\u062c\u0648\u062f\u06c1 Docker \u0633\u06cc\u0679\u0646\u06af\u0632 \u067e\u0631 \u0648\u0627\u067e\u0633 \u062c\u0627\u0626\u06cc\u06ba \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0645\u0639\u0642\u0648\u0644 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u0686\u0644 \u0633\u06a9\u062a\u06cc\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0628\u0631\u0627\u0624\u0632\u0631 \u0631\u06cc\u0648\u06cc\u0648 \u0679\u06cc\u06a9\u0646\u06cc\u06a9 \u06a9\u06d2 &quot;\u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u06a9\u0627 \u0622\u063a\u0627\u0632&#8221; \u0633\u06cc\u06a9\u0634\u0646 \u0633\u06d2 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u06af\u0644\u06d2 \u062d\u0635\u06d2 \u0645\u06cc\u06ba \u0645\u06a9\u0645\u0644 \u067e\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0639\u0627\u0645 Vite \u06cc\u0627 Next.js \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba\u060c \u06cc\u06c1 \u06c1\u0648\u06af\u0627:<\/p>\n<pre><code class=\"language-bash\"># 1. How does this project start?\njq .scripts package.json\n# {\n#   \"dev\": \"vite\",\n#   \"build\": \"vite build\",\n#   \"test\": \"vitest run\",\n#   \"e2e\": \"playwright test\"\n# }\n\n# 2. Start the dev server in the background, in a temp folder the agent owns,\n#    and record the PID so it can stop exactly this process later.\nQA_DIR=$(mktemp -d)\npnpm dev --port 5173 > \"$QA_DIR\/dev.log\" 2>&1 &\necho $! > \"$QA_DIR\/dev.pid\"\n\n# 3. Wait until the server answers before opening a browser.\nuntil curl -sf http:\/\/localhost:5173 > \/dev\/null; do sleep 1; done\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0646\u06c1\u06cc\u06ba <code>dev<\/code> \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u06d2 \u0628\u0639\u062f README \u06c1\u06d2\u06d4 \u0627\u06af\u0631 README \u06a9\u06c1\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648 Postgres \u0627\u0648\u0631 Redis \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 <code>docker compose up<\/code>\u0627\u06cc\u062c\u0646\u0679 \u0627\u0633 \u06a9\u0645\u067e\u0648\u0632 \u0641\u0627\u0626\u0644 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u06a9\u0646\u0679\u06cc\u0646\u0631\u0632 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0646\u06cc\u0627 \u0646\u06c1\u06cc\u06ba \u0644\u06a9\u06be \u0631\u06c1\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u0645\u06cc\u06ba \u0648\u0627\u0642\u0639\u06cc \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0627\u06cc\u067e \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06d2 \u062a\u0627\u06a9\u06c1 \u062c\u0627\u0646\u0686 \u0645\u06cc\u06ba \u0622\u0633\u0627\u0646\u06cc \u06c1\u0648\u06d4 \u0628\u0627\u0626\u06cc \u067e\u0627\u0633 \u0639\u0627\u0631\u0636\u06cc \u062a\u0635\u062f\u06cc\u0642\u060c \u06a9\u0648\u0626\u06cc \u062c\u0639\u0644\u06cc \u0633\u0631\u0648\u0631\u060c \u06a9\u0648\u0626\u06cc \u062a\u0631\u0645\u06cc\u0645 \u0646\u06c1\u06cc\u06ba\u06d4 <code>.env<\/code>\u06cc\u06c1\u0627\u06ba \u06a9\u0648\u0626\u06cc \u0648\u0627\u062d\u062f \u0631\u0627\u0633\u062a\u06c1 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u0627\u0635\u0644 \u0633\u06cc\u0679 \u0627\u067e \u06a9\u0648 \u062d\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0646\u0642\u0637\u06c1 \u0627\u0633 \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u06a9\u0648 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u0627 \u06c1\u06d2 \u062c\u0648 \u0645\u06cc\u06ba \u0627\u0635\u0644 \u0645\u06cc\u06ba \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u0633 \u0642\u0633\u0645 \u06a9\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc \u06c1\u06d2 \u062c\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u06cc\u06ba \u0628\u0627\u062a \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06ba\u060c \u0627\u0648\u0631 \u0627\u06cc\u062c\u0646\u0679 \u062f\u0631\u0627\u0635\u0644 \u0627\u0633 \u0633\u06d2 \u0631\u062c\u0648\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0628 \u0644\u0627\u06af \u0627\u0646 \u0635\u0641\u062d\u06c1 \u062f\u062e\u0644 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-diff\">- if (!session) redirect(\"\/login\");\n+ if (!session && process.env.NODE_ENV !== \"development\") redirect(\"\/login\");\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u062c\u0646\u0679 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u06cc \u0679\u06cc\u0633\u0679 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06cc\u0627 \u0628\u06cc\u062c \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0648\u062b\u06cc\u0642 \u067e\u0627\u0633 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0642\u0627\u0635\u0631 \u06c1\u06d2\u060c \u062a\u0648 \u062f\u0631\u0633\u062a \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u06a9\u0648 \u0628\u0644\u0627\u06a9 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06a9\u0648 \u0631\u0648\u06a9 \u06a9\u0631 \u0631\u067e\u0648\u0631\u0679 \u06a9\u0631\u06cc\u06ba\u06d4 \u0628\u0644\u0627\u06a9 \u0634\u062f\u06c1 \u062c\u0627\u0626\u0632\u06d2 \u0627\u06cc\u0645\u0627\u0646\u062f\u0627\u0631 \u06c1\u06cc\u06ba\u06d4 \u062a\u0648\u062b\u06cc\u0642 \u0628\u0646\u062f \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-where-the-instructions-live\">\u062c\u06c1\u0627\u06ba \u06c1\u062f\u0627\u06cc\u062a \u06c1\u06d2<\/h2>\n<p>\u0645\u06cc\u0631\u06cc \u067e\u06c1\u0644\u06cc \u062c\u0628\u0644\u062a \u06cc\u06c1 \u062a\u06be\u06cc \u06a9\u06c1 \u0645\u0648\u0627\u062f \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u0631\u06c1\u06cc\u06ba\u06d4 <code>AGENTS.md<\/code>. \u06c1\u0645\u0627\u0631\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0627\u06cc\u0633\u06d2 \u0642\u0648\u0627\u0639\u062f \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u062c\u0627\u0646\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2: \u0633\u0627\u062e\u062a\u060c \u0642\u0648\u0627\u0639\u062f\u060c \u0679\u06cc\u0633\u0679\u0646\u06af \u0641\u0644\u0633\u0641\u06c1\u060c \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06cc \u062c\u0631\u0627\u062d\u06cc \u06a9\u06cc \u062f\u06cc\u06a9\u06be \u0628\u06be\u0627\u0644\u060c \u0628\u06d2 \u06c1\u0648\u062f\u06c1 \u0648\u0636\u0627\u062d\u062a\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u067e \u06a9\u0648 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2\u060c \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a\u060c \u06a9\u0633 \u0686\u06cc\u0632 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633\u060c \u06a9\u0646\u0633\u0648\u0644 \u06a9\u06cc \u063a\u0644\u0637\u06cc\u0627\u06ba \u0627\u0648\u0631 \u0679\u06cc\u0631 \u0688\u0627\u0624\u0646 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u0632\u06cc\u062f \u0633\u0648 \u0644\u0627\u0626\u0646\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u06cc\u060c \u0644\u06cc\u06a9\u0646 \u06a9\u0633\u06cc \u0648\u0642\u062a \u0641\u0627\u0626\u0644 \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0686\u06be\u0648\u0679\u06d2 \u0645\u0630\u06c1\u0628\u06cc \u0645\u062a\u0646 \u0645\u06cc\u06ba \u0628\u062f\u0644 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u062c\u0627\u0646\u0646\u0627 \u0645\u062f\u062f\u06af\u0627\u0631 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0648 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u06a9\u0633 \u0637\u0631\u062d \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>AGENTS.md<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0645\u0627\u0631\u06a9 \u0688\u0627\u0624\u0646 \u0641\u0627\u0626\u0644 \u06c1\u06d2 \u062c\u0633\u06d2 \u06a9\u0648\u0688\u06cc\u06a9\u0633 \u062c\u06cc\u0633\u0627 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0627\u0633 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u067e\u0631 \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u0648\u06c1\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>CLAUDE.md<\/code>. \u0627\u0633 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u060c \u0686\u0627\u06c1\u06d2 \u0622\u067e\u0631\u06cc\u0634\u0646 CSS \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648 \u06cc\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06d4 \u0644\u06c1\u0630\u0627 \u062c\u0628 \u0628\u06be\u06cc \u0622\u067e \u0627\u0633\u06d2 \u0686\u0644\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u0633\u06d2 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u062c\u06af\u06c1 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u06c1\u0627\u0631\u062a\u06cc\u06ba \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u0641\u0648\u0644\u0688\u0631\u0632 \u06c1\u06cc\u06ba: <code>SKILL.md<\/code> \u0645\u062e\u062a\u0635\u0631 \u062d\u0631\u0648\u0641 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba\u06d4 <code>name<\/code> \u0627\u0648\u0631 <code>description<\/code>. \u062c\u0628 \u0633\u06cc\u0634\u0646 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u062c\u0646\u0679 \u0635\u0631\u0641 \u0646\u0627\u0645 \u0627\u0648\u0631 \u062a\u0641\u0635\u06cc\u0644 \u062f\u06cc\u06a9\u06be\u062a\u0627 \u06c1\u06d2 (\u0627\u06cc\u06a9 \u06cc\u0627 \u062f\u0648 \u0633\u0637\u0631\u06cc\u06ba \u0641\u06cc \u0645\u06c1\u0627\u0631\u062a)\u06d4 \u0627\u06af\u0631 \u06a9\u0627\u0645 \u062a\u0641\u0635\u06cc\u0644 \u0633\u06d2 \u0645\u06cc\u0644 \u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u062f\u06cc\u06af\u0631 \u06c1\u062f\u0627\u06cc\u0627\u062a \u0627\u0633 \u0645\u06c1\u0627\u0631\u062a \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0627\u06cc\u062c\u0646\u0679 \u0628\u0627\u0642\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0637\u0648\u06cc\u0644\u060c \u062a\u0641\u0635\u06cc\u0644\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u0648 \u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u0642\u06cc\u0645\u062a \u06a9\u06d2 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1 \u06c1\u0648\u06d4<\/p>\n<p>\u062c\u0633 \u0686\u06cc\u0632 \u067e\u0631 \u0645\u06cc\u06ba \u0627\u062a\u0631\u0627 \u0648\u06c1 \u0634\u0641\u0627 \u062a\u06be\u0627\u06d4 <code>AGENTS.md<\/code> \u067e\u0644\u06d2 \u0628\u06a9 \u06a9\u06cc \u0637\u0631\u062d \u0622\u0626\u06cc\u0646 \u0627\u0648\u0631 \u0645\u06c1\u0627\u0631\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4 \u0622\u0626\u06cc\u0646 \u0645\u062e\u062a\u0635\u0631 \u06c1\u06d2\u060c \u06c1\u0631 \u0686\u06cc\u0632 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u06c1\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u0633\u0686 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u06cc\u06c1 \u0628\u062a\u0627\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u06c1 \u0627\u0633\u06d2 \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u06cc\u06a9 \u067e\u0644\u06d2 \u0628\u06a9 \u0627\u06cc\u06a9 \u0642\u0633\u0645 \u06a9\u06cc \u0635\u0648\u0631\u062a \u062d\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u0627\u0633\u06d2 \u0635\u0631\u0641 \u0627\u0633 \u0648\u0642\u062a \u0646\u06a9\u0627\u0644\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0628 \u0622\u067e \u062e\u0648\u062f \u06a9\u0648 \u0627\u0633 \u0635\u0648\u0631\u062a \u062d\u0627\u0644 \u0645\u06cc\u06ba \u067e\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba <code>AGENTS.md<\/code> \u0635\u0627\u0631\u0641 \u06a9\u0648 \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0639\u0645\u0644 \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u0645\u06a9\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06d2 \u0627\u0633 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0646\u06c1 \u06c1\u0648 \u062c\u0627\u0626\u06d2\u060c \u0627\u0648\u0631 \u0628\u0631\u0627\u0624\u0632\u0631 \u0631\u06cc\u0648\u06cc\u0648 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u0633\u0627 \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">\/\n\u251c\u2500\u2500 AGENTS.md\n\u2514\u2500\u2500 .agents\/\n    \u2514\u2500\u2500 skills\/\n        \u251c\u2500\u2500 browser-review\/\n        \u2502   \u2514\u2500\u2500 SKILL.md\n        \u251c\u2500\u2500 pr-review\/\n        \u2502   \u2514\u2500\u2500 SKILL.md\n        \u2514\u2500\u2500 grill-me\/\n            \u2514\u2500\u2500 SKILL.md\n<\/code><\/pre>\n<p>\u062d\u06a9\u0645\u0631\u0627\u0646\u06cc <code>AGENTS.md<\/code> \u0627\u0633\u06d2 \u0645\u062e\u062a\u0635\u0631 \u0631\u06a9\u06be\u06cc\u06ba \u0627\u0648\u0631 \u06c1\u0645\u06cc\u0634\u06c1 \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-md\">## Browser Verification\n\nUser-visible work is not complete until the affected behavior has been\nverified in the running application.\n\nFor user-visible changes, follow `.agents\/skills\/browser-review\/SKILL.md`.\n\nA successful build, type check, unit test suite, or E2E test suite does\nnot replace browser verification.\n\nDo not commit browser-verification artifacts. Stop anything you started\nfor verification and clean up before hand-off.\n<\/code><\/pre>\n<p>\u06c1\u0646\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0635\u0631\u0641 \u0636\u0631\u0648\u0631\u062a \u06a9\u06d2 \u0648\u0642\u062a \u0644\u0648\u0688 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba Codex \u0627\u0648\u0631 Claude Code \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0645\u06cc\u0631\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u0639\u0627\u0644\u0645\u06cc \u06c1\u06d2\u06d4 <code>AGENTS.md<\/code> \u0648\u06c1 \u06a9\u0644\u0627\u0688 <code>CLAUDE.md<\/code> \u062f\u0648\u0646\u0648\u06ba \u0633\u06d2 \u062f\u0631\u0622\u0645\u062f \u0627\u0648\u0631 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u0641\u0648\u0644\u0688\u0631\u06d4 \u0627\u0633 \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0641\u0631\u0642 \u0646\u06c1\u06cc\u06ba \u067e\u0691\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0645\u06cc\u06ba \u0627\u0633 \u062f\u0646 \u06a9\u0633 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u0648\u06ba\u060c \u06cc\u06c1 \u0627\u0633\u06cc \u067e\u0644\u06d2 \u0628\u06a9 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u0645\u06cc\u06ba\u060c \u062f\u0631\u0622\u0645\u062f \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2: <code>CLAUDE.md<\/code> \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0641\u0627\u0626\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u06cc\u06ba: <code>@<\/code>:<\/p>\n<pre><code class=\"language-md\">@~\/.codex\/AGENTS.md\n<\/code><\/pre>\n<p>\u062c\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u0644\u06a9\u06be\u0627 \u062a\u06be\u0627 \u0627\u0633 \u06a9\u0627 \u0645\u062e\u062a\u0635\u0631 \u0648\u0631\u0698\u0646 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-md\">---\nname: browser-review\ndescription: Verify user-visible changes in the running application with Playwright MCP.\n---\n\n# Browser Review\n\n## Before verification\n\nRun `git status --short` and remember what was already there. Don't touch\npre-existing work.\n\nRead the task and the diff. Work out the affected routes, the changed flow,\nthe loading, empty, error, selected and disabled states that matter,\nwhether anything needs to survive a refresh, and what nearby behavior\ncould regress.\n\n## Start the application\n\nUse the repository's dev script, then its documented local setup, then its\nexisting Docker setup. Don't invent a new startup config and don't change\napp behavior to make QA easier. Record every process and container you start.\n\n## Exercise the change\n\nDon't stop once the page loads. Go through the whole changed flow and check\nthe final result. Use browser or DOM state for functional claims and\nscreenshots for visual ones. Report new relevant console errors and failed\nrequests, not old warnings.\n\nIf something is broken, fix the smallest cause, rerun the affected tests\nand go through the flow again. Don't assume the fix works.\n\n## Cleanup\n\nTeardown is required even when verification fails. Close browsers, stop\nservers and containers, and delete screenshots, traces and other artifacts,\nbut only the ones you created. Run `git status --short` again before\nhand-off. Never run `git add`, `git commit` or `git push`.\n\n## Report\n\nSay which routes you tested, what you did, which states you checked, what\ntests you ran and what you found and fixed. If you couldn't finish, say why.\n<\/code><\/pre>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u06c1\u0648\u0634\u06cc\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0642\u062f\u0631 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u062a\u0648\u0642\u0639 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06a9\u06c1 \u0648\u06c1 \u062e\u0648\u062f \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0627\u0633\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06be\u0648\u0644\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h2 id=\"heading-why-the-reviewer-should-work-independently\">\u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06a9\u0648 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06a9\u06cc\u0648\u06ba \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u06a9\u0645\u0632\u0648\u0631\u06cc \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0648\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u062c\u0648 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u06a9\u0627\u0645 \u0645\u06a9\u0645\u0644 \u06c1\u0648\u0627 \u06c1\u06d2 \u0648\u06c1\u06cc \u0627\u06cc\u062c\u0646\u0679 \u06c1\u06d2 \u062c\u0633 \u0646\u06d2 \u0627\u0633 \u06a9\u0627\u0645 \u06a9\u0648 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0642\u06cc\u0645\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0645\u06cc\u0631\u06d2 \u06a9\u0648\u0688 \u06a9\u06cc \u0628\u06be\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633 \u06a9\u0627 \u0622\u063a\u0627\u0632 \u0627\u0633 \u0646\u0638\u0631\u06cc\u06c1 \u0633\u06d2 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc\u0633\u06d2 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u0638\u0631\u06cc\u06c1 \u0633\u06d2\u060c \u0645\u06cc\u0631\u06cc \u0645\u0631\u0627\u062f \u0645\u0635\u0646\u0641 \u06a9\u0627 \u0627\u067e\u0646\u0627 \u0630\u06c1\u0646\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc \u06c1\u06d2\u06d4 \u0627\u06c1\u0645 \u0628\u0627\u062a \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0633 \u06a9\u0648\u0688 \u06a9\u0648 \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0633 \u06a9\u0648\u0688 \u067e\u0631 \u0627\u062b\u0631 \u0627\u0646\u062f\u0627\u0632 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0648\u0646 \u0633\u0627 \u06a9\u0648\u0688 \u0645\u062a\u0627\u062b\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0679\u06cc\u0633\u0679 \u067e\u0644\u0627\u0646 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u0633 \u0645\u0627\u0688\u0644 \u0633\u06d2 \u0622\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u06c1\u0630\u0627 \u0622\u067e \u062c\u0633 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06cc\u06c1 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0627\u0646 \u0631\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u062f\u06cc\u06a9\u06be\u062a\u0627 \u062c\u0646 \u06a9\u0648 \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u067e\u06c1\u0686\u0627\u0646\u062a\u0627 \u06a9\u06c1 \u0648\u06c1 \u0645\u062a\u0639\u0644\u0642\u06c1 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0648\u06c1\u06cc \u0646\u0627\u0628\u06cc\u0646\u0627 \u062f\u06be\u0628\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0644\u0648\u06af \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u062a\u062c\u0631\u0628\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0648\u06c1 \u06a9\u06cc\u0691\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u062c\u0627\u0626\u0632\u06d2 \u0633\u06d2 \u0628\u0686 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627\u060c \u062c\u0628 \u062f\u0648\u0633\u0631\u0627 \u0627\u06cc\u062c\u0646\u0679 \u0628\u0631\u0627\u0646\u0686 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0648\u06c1 \u0627\u0633\u06d2 \u062e\u0648\u062f \u0679\u06cc\u0633\u0679 \u06a9\u0648\u0631\u06cc\u062c \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u0631\u06d2 \u0639\u0627\u0644\u0645\u06cc \u0642\u0648\u0627\u0646\u06cc\u0646 \u06a9\u0648 \u0627\u0628 \u0627\u06cc\u06a9 \u0646\u0626\u06d2 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u062a\u0627\u0631\u06cc\u062e \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0648 \u0627\u0635\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u060c \u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a\u060c \u0627\u0648\u0631 \u062c\u0627\u0626\u0632\u06d2 \u06a9\u06cc \u062a\u06a9\u0646\u06cc\u06a9 \u0645\u0644\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u0635\u0646\u0641 \u06a9\u06d2 \u062e\u06cc\u0627\u0644 \u0645\u06cc\u06ba \u06cc\u06c1 \u06a9\u06cc\u0648\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u0645\u0644\u062a\u0627\u06d4 \u0645\u0635\u0646\u0641 \u06a9\u06d2 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633\u060c QA \u0646\u0648\u0679\u0633\u060c \u06cc\u0627 \u06af\u0631\u06cc\u0646 \u0679\u06cc\u0633\u0679 \u0631\u0646\u0632 \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u0627\u0648\u0631 \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u06a9\u06cc\u0627 \u0627\u062b\u0631 \u0627\u0646\u062f\u0627\u0632 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0634\u0627\u0631\u06c1 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0645\u062e\u062a\u0635\u0631 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">You are reviewing a branch you did not write.\n\nOriginal request:\n  Make the E2E app URL configurable through E2E_BASE_URL so the\n  tests can run against any port.\n\nRun `git diff main...HEAD` to see the change. Follow the browser-review\nskill. Work out for yourself what this change could affect, test that,\nand report what you checked with evidence.\n<\/code><\/pre>\n<p>\u0627\u0628 \u062a\u06a9 \u06a9\u06cc \u0633\u0628 \u0633\u06d2 \u0627\u0686\u06be\u06cc \u0686\u06cc\u0632 \u0627\u06cc\u06a9 PR \u0633\u06d2 \u0622\u0626\u06cc \u06c1\u06d2 \u062c\u0633 \u0646\u06d2 \u0627\u06cc\u0646\u0688 \u0679\u0648 \u0627\u06cc\u0646\u0688 \u0679\u06cc\u0633\u0679 \u0633\u06cc\u0679 \u0627\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u067e \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644 \u06a9\u0648 \u0642\u0627\u0628\u0644 \u062a\u0631\u062a\u06cc\u0628 \u0628\u0646\u0627 \u062f\u06cc\u0627\u06d4 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0646\u06d2 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u06cc\u0627 \u06a9\u06c1 \u0633\u06cc\u0688\u0688 \u0679\u06cc\u0633\u0679 \u0688\u06cc\u0679\u0627 \u0627\u0628 \u0628\u06be\u06cc \u067e\u0631\u0627\u0646\u06cc \u067e\u0648\u0631\u0679 \u0645\u06cc\u06ba \u062a\u0635\u0648\u06cc\u0631\u06cc \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644 \u06a9\u0648 \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u06a9\u0631 \u0631\u06c1\u0627 \u062a\u06be\u0627\u060c \u0627\u0648\u0631 \u0627\u0633 \u0646\u06d2 \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u0633\u06cc \u0645\u062e\u062a\u0644\u0641 \u067e\u0648\u0631\u0679 \u067e\u0631 \u0686\u0644\u0627 \u06a9\u0631 \u0627\u0633 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc\u06d4 \u062a\u06cc\u0646 \u062a\u0635\u0648\u06cc\u0631\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0626\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u063a\u0644\u0637 \u067e\u0648\u0631\u0679 \u067e\u0631 \u06af\u0626\u06cc \u062a\u06be\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0635\u0641\u062d\u06c1 \u0646\u06d2 \u062e\u0627\u0645\u0648\u0634\u06cc \u0633\u06d2 \u0627\u06cc\u06a9 \u0645\u062a\u0628\u0627\u062f\u0644 \u06a9\u0627\u0631\u0688 \u067e\u06cc\u0634 \u06a9\u06cc\u0627 \u062c\u06c1\u0627\u06ba \u062a\u0635\u0627\u0648\u06cc\u0631 \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u0626\u06cc\u06ba \u062a\u06be\u06cc\u06ba\u06d4 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u067e\u06be\u06cc\u0646\u06a9\u0627 \u06af\u06cc\u0627\u06d4<\/p>\n<p>\u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06d2 \u0628\u0639\u062f \u0622\u0633\u0627\u0646 \u0639\u0627\u0644\u0645\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u0627\u0633 \u0637\u0631\u062d \u0646\u0638\u0631 \u0622\u0626\u06cc\u06ba \u06af\u06cc:<\/p>\n<pre><code class=\"language-ts\">\/\/ e2e\/global-setup.ts\nconst baseURL = process.env.E2E_BASE_URL ?? \"http:\/\/localhost:8080\";\n\nawait seedDatabase({\n  media: [\n    { id: \"m1\", url: \"http:\/\/localhost:8080\/test-media\/cover-1.jpg\" },\n    { id: \"m2\", url: \"http:\/\/localhost:8080\/test-media\/cover-2.jpg\" },\n    { id: \"m3\", url: \"http:\/\/localhost:8080\/test-media\/cover-3.jpg\" },\n  ],\n});\n<\/code><\/pre>\n<p>\u0645\u0635\u0646\u0641 \u06a9\u0627 \u0646\u0638\u0631\u06cc\u06c1 \u06c1\u06d2\u060c &quot;\u0627\u0628 \u0627\u06cc\u067e \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644 \u06c1\u06d2\u06d4 <code>E2E_BASE_URL<\/code>&quot;\u060c \u0627\u0648\u0631 \u0686\u0644\u0627\u0626\u06d2 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u062a\u0645\u0627\u0645 \u0679\u06cc\u0633\u0679\u0648\u06ba \u0645\u06cc\u06ba \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u067e\u0648\u0631\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062c\u06c1\u0627\u06ba \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0634\u062f\u06c1 URL \u062f\u0631\u0633\u062a \u062a\u06be\u0627\u06d4 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u0633\u0627 \u06a9\u0648\u0626\u06cc \u0646\u0638\u0631\u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u062a\u06be\u0627\u06d4 Diff \u0646\u06d2 \u067e\u0648\u0631\u0679 8081 \u067e\u0631 \u0627\u06cc\u067e \u06a9\u0648 \u0686\u06be\u0648\u0646\u06d2 \u0627\u0648\u0631 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u067e\u0648\u0631\u06cc \u06a9\u0646\u0641\u06af \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06cc\u06c1 \u0627\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0648\u0627\u067e\u0633 \u0622\u06cc\u0627:<\/p>\n<pre><code class=\"language-text\">Found: seeded media URLs in e2e\/global-setup.ts still point at :8080.\nRan the app with E2E_BASE_URL=http:\/\/localhost:8081.\nNetwork: 3 requests to http:\/\/localhost:8080\/test-media\/... failed\n  (net::ERR_CONNECTION_REFUSED).\nScreen: the gallery rendered 3 fallback cards instead of images\n  (gallery-8081.png).\nSuggested fix: build the seeded URLs from E2E_BASE_URL, or make them\n  relative.\n<\/code><\/pre>\n<p>\u0641\u06a9\u0633 \u0641\u06cc \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u062a\u06be\u06cc\u06d4<\/p>\n<pre><code class=\"language-ts\">{ id: \"m1\", url: new URL(\"\/test-media\/cover-1.jpg\", baseURL).href },\n<\/code><\/pre>\n<p>\u0686\u0648\u0646\u06a9\u06c1 \u0645\u062a\u0628\u0627\u062f\u0644 \u06a9\u0627\u0631\u0688 \u0627\u0628 \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0688 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0627\u0631\u0688 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u06cc\u0627 \u0646\u06c1\u06cc\u06ba\u060c \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0637\u0631\u062d \u0633\u06d2 \u06af\u0632\u0631 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u0648 \u0635\u0631\u0641 \u0635\u0641\u062d\u0627\u062a \u0627\u0648\u0631 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06d2 \u0679\u06cc\u0628\u0632 \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u0646\u0627 \u06c1\u0648\u06af\u0627\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06cc \u067e\u0648\u0631\u06cc \u062f\u0644\u06cc\u0644 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-clean-up-after-yourself-and-only-yourself\">\u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648 \u0627\u0648\u0631 \u0635\u0631\u0641 \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648 \u0635\u0627\u0641 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0627\u06cc\u062c\u0646\u0679 \u0633\u0631\u0648\u0631\u0632 \u0627\u0648\u0631 \u0628\u0631\u0627\u0624\u0632\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0635\u0641\u0627\u0626\u06cc \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u0627 \u062d\u0635\u06c1 \u0628\u0646 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u0627\u06cc\u06af\u0632\u0679 \u0646\u0648\u0688 \u067e\u0631\u0648\u0633\u06cc\u0633\u060c \u06a9\u0631\u0648\u0645\u06cc\u0645 \u0648\u0646\u0688\u0648\u0632\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633\u060c \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0679\u0631\u06cc\u0633\u060c \u0639\u0627\u0631\u0636\u06cc \u062a\u0635\u062f\u06cc\u0642\u06cc \u0641\u0627\u0626\u0644\u0632\u060c \u06cc\u0627 \u0688\u0648\u06a9\u0631 \u06a9\u0646\u0679\u06cc\u0646\u0631\u0632 \u06a9\u06cc \u062a\u06c1\u0648\u06ba \u06a9\u0648 \u067e\u06cc\u0686\u06be\u06d2 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 &quot;\u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0635\u0627\u0641 \u06a9\u0631\u0646\u0627&#8221; \u063a\u0644\u0637 \u0641\u06a9\u0633 \u06c1\u06d2\u06d4 <code>pkill node<\/code> \u06cc\u06c1 \u06a9\u0648\u0626\u06cc \u0635\u0641\u0627\u0626\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u06cc\u062c\u0646\u0679 \u06c1\u06d2 \u062c\u0648 \u062a\u06be\u0648\u0691\u0627 \u0633\u0627 \u0627\u0645\u0648\u06a9 \u0686\u0644\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1 \u062e\u0648\u0634\u06cc \u0633\u06d2 \u0627\u0633 \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u0633\u0631\u0648\u0631 \u06a9\u0648 \u0628\u0646\u062f \u06a9\u0631 \u062f\u06d2 \u06af\u0627 \u062c\u0633\u06d2 \u0645\u06cc\u06ba \u0646\u06d2 \u062f\u0648\u0633\u0631\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u0627 \u062a\u06be\u0627\u06d4 <code>git clean -fd<\/code> \u063a\u06cc\u0631 \u0679\u0631\u06cc\u06a9 \u0634\u062f\u06c1 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0642\u0627\u0639\u062f\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0646\u06d2 \u062c\u0648 \u06a9\u0686\u06be \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2 \u0627\u0633\u06d2 \u0635\u0627\u0641 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0628\u0627\u0642\u06cc \u0633\u0628 \u06a9\u0686\u06be \u0627\u0633\u06cc \u0637\u0631\u062d \u0686\u06be\u0648\u0691 \u062f\u06cc\u06ba\u06d4 <code>git status<\/code> \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0628\u0631\u0627\u0624\u0632\u0631 QA \u062e\u0627\u0645\u0648\u0634\u06cc \u0633\u06d2 \u0627\u06af\u0644\u06cc \u06a9\u0645\u0679 \u067e\u0631 \u062e\u062a\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u06cc \u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0645\u0631\u062d\u0644\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 PID \u06a9\u0648 \u0627\u06cc\u06a9 \u0639\u0627\u0631\u0636\u06cc \u0641\u0648\u0644\u0688\u0631 \u0645\u06cc\u06ba \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0628 \u0646\u0638\u0631\u06cc\u06c1 \u062f\u0631\u0633\u062a \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\"># Not cleanup\npkill node\ngit clean -fd\n\n# Cleanup\nkill \"$(cat \"$QA_DIR\/dev.pid\")\"\nrm -rf \"$QA_DIR\"\n<\/code><\/pre>\n<p>\u062c\u0627\u0626\u0632\u06c1 \u06a9\u06d2 \u0627\u062e\u062a\u062a\u0627\u0645 \u062a\u06a9 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u062a\u0648\u0642\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba:<\/p>\n<pre><code class=\"language-text\">Cleanup\n- Stopped the dev server I started (pid 48213, pnpm dev --port 5173).\n- Closed the Playwright MCP browser.\n- Deleted export-dialog-375.png and export-dialog-1440.png.\n- Left running: pid 39102 (pnpm dev on :3000). It was already running\n  before I started, so it isn't mine.\n\ngit status --short before review:\n M src\/features\/export\/ExportDialog.tsx\n?? notes\/todo.md\n\ngit status --short after cleanup:\n M src\/features\/export\/ExportDialog.tsx\n?? notes\/todo.md\n<\/code><\/pre>\n<p>\u062f\u0648 <code>git status<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u0628\u0644\u0627\u06a9\u0633 \u0645\u0645\u0627\u062b\u0644 \u06c1\u06cc\u06ba\u060c \u062c\u0627\u0626\u0632\u06d2 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0648\u0631\u06a9\u0646\u06af \u0679\u0631\u06cc \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u0646\u06a9\u0644\u062a\u0627\u060c \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u063a\u06cc\u0631 \u0679\u0631\u06cc\u06a9 \u0634\u062f\u06c1 \u0646\u0648\u0679 \u0641\u0627\u0626\u0644\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u062a\u06be\u06cc\u06ba \u0648\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0628\u0627\u0642\u06cc \u0631\u06c1\u06cc\u06ba \u06af\u06cc\u06d4<\/p>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0646 \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u0648 \u062e\u0644\u0627\u0635\u06c1 \u0646\u06c1\u06cc\u06ba \u0628\u0646\u0627\u06cc\u0627\u06d4 \u0627\u0633 \u0679\u0648\u0644 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u062c\u0633 \u06a9\u06cc \u0645\u06cc\u06ba \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u0648\u06ba \u06af\u0627\u060c \u0627\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u0646\u06d2 \u0627\u06cc\u06a9 \u06a9\u0644\u06cc\u0646 \u0627\u067e \u06a9\u0645\u0627\u0646\u0688 \u0686\u0644\u0627\u0626\u06cc \u062c\u0633 \u0646\u06d2 \u0645\u06cc\u0631\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 \u062a\u0645\u0627\u0645 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0628\u0631\u0627\u0624\u0632\u0631\u0632 \u06a9\u0648 \u0628\u0646\u062f \u06a9\u0631 \u062f\u06cc\u0627\u060c \u0646\u06c1 \u0635\u0631\u0641 \u0627\u0633 \u06a9\u0627 \u0627\u067e\u0646\u0627 \u0628\u0631\u0627\u0624\u0632\u0631\u06d4 \u0645\u0646\u0635\u0641\u0627\u0646\u06c1 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2\u060c \u0627\u0633 \u0646\u06d2 \u0633\u0645\u0631\u06cc \u0645\u06cc\u06ba \u0627\u067e\u0646\u0627 \u06c1\u06cc \u0631\u06a9\u06be\u0627\u06d4<\/p>\n<h2 id=\"heading-when-a-skill-stopped-being-enough\">\u062c\u0628 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u06a9\u0627\u0641\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/h2>\n<p>\u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u0646\u06d2 \u0627\u0633 \u0645\u0639\u0646\u06cc \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u06cc\u0627 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0646\u06d2 \u062f\u0631\u0627\u0635\u0644 \u0627\u06cc\u067e \u06a9\u06be\u0648\u0644\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062f\u06cc\u06d4 \u0644\u06cc\u06a9\u0646 \u062c\u0648 \u0645\u062c\u06be\u06d2 \u0648\u0627\u067e\u0633 \u0645\u0644\u0627 \u0648\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0646\u062b\u0631 \u062a\u06be\u0627\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u0646\u06d2 \u06a9\u06c1\u0627 \u06a9\u06c1 \u0627\u06af\u0631 \u0645\u06cc\u06ba \u0646\u06d2 \u0635\u0641\u062d\u06c1 \u06a9\u06be\u0648\u0644\u0627 \u0627\u0648\u0631 \u0628\u06c1\u0627\u0624 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0644\u06a9 \u06a9\u06cc\u0627 \u062a\u0648 \u0633\u0628 \u06a9\u0686\u06be \u062f\u0631\u0633\u062a \u0646\u0638\u0631 \u0622\u06cc\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0645\u062c\u06be\u06d2 \u0627\u0633 \u06a9\u06cc \u0628\u0627\u062a \u0645\u0627\u0646\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0648\u06c1\u06cc \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2 \u062c\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u06cc\u06ba \u0646\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u0627 \u062a\u06be\u0627\u06d4 \u0622\u067e \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u062f\u0631\u062c\u06d2 \u0627\u0648\u067e\u0631 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u06cc\u06ba \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u0633\u06d2 \u0628\u06c1\u062a\u0631 \u062c\u0645\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u0645\u0627\u0646\u06af \u0633\u06a9\u062a\u0627 \u062a\u06be\u0627\u06d4 \u0645\u062c\u06be\u06d2 \u062b\u0628\u0648\u062a \u0686\u0627\u06c1\u06cc\u06d2 \u062a\u06be\u0627\u06d4 \u0645\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627 \u062a\u06be\u0627 \u06a9\u06c1 \u0645\u06cc\u06ba \u0646\u06d2 \u06a9\u06cc\u0627 \u0686\u06cc\u06a9 \u06a9\u06cc\u0627\u060c \u06a9\u06cc\u0627 \u067e\u0627\u0633 \u06c1\u0648\u0627\u060c \u06a9\u06cc\u0627 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0627\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u0628\u06cc\u06a9 \u0627\u067e \u0644\u06cc\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633 \u0627\u0648\u0631 \u0646\u0634\u0627\u0646\u0627\u062a\u060c \u0627\u0633 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba \u062c\u0648 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 PR \u0645\u06cc\u06ba \u0688\u0627\u0644 \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u06a9 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0644\u06a9\u06be\u0627 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u06c1\u0641\u062a\u06d2 \u06a9\u06d2 \u062f\u0646 \u0628\u0646\u0627\u06cc\u0627\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0633\u0646\u06af \u0645\u06cc\u0644 \u0627\u0648\u0631 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u062c\u0627\u0626\u0632\u06c1 \u0631\u0627\u0624\u0646\u0688\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0648\u0691\u0627 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627\u06d4 \u0627\u0633\u06d2 \u06a9\u0679\u0627\u0644\u06cc\u067e\u0633\u0633 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0633\u0679\u0648\u06a9 \u0644\u0641\u0638 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0686\u06be \u0627\u0633 \u0642\u062f\u0631 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u063a\u0644\u0637 \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0646\u0627\u0633\u0628 \u0645\u0639\u06cc\u0627\u0631 \u06a9\u06cc \u0637\u0631\u062d \u0645\u062d\u0633\u0648\u0633 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0635\u0631\u0641 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 URL \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0631\u067e\u0648\u0631\u0679 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0627 (HTML\u060c Markdown \u062c\u0633\u06d2 \u0622\u067e \u0627\u067e\u0646\u06d2 PR\u060c \u06cc\u0627 JSON \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0645\u06cc\u06ba \u067e\u06cc\u0633\u0679 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba)\u06d4<\/p>\n<p>\u06cc\u06c1 \u062f\u0648 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>katalepsis run<\/code> \u06c1\u0645 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0645\u0648\u062c\u0648\u062f\u06c1 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u062d\u062a\u0645\u06cc \u06c1\u06cc\u06ba\u06d4 katalepsis \u0627\u0646 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0646 \u067e\u0631 \u0646\u0638\u0631 \u062b\u0627\u0646\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0646 \u06a9\u0648 \u0622\u067e\u0633 \u0645\u06cc\u06ba \u062c\u0648\u0691\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0628\u06be\u06cc \u0628\u06be\u06cc \u062f\u0644\u0627\u0626\u0644 \u06a9\u06cc \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0634\u0631\u06cc\u062d \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>katalepsis verify<\/code>    \u06cc\u06c1 \u0627\u0646 \u0637\u0631\u0632 \u0639\u0645\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0627\u062f\u06c1 \u0627\u0646\u06af\u0631\u06cc\u0632\u06cc \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0633\u06cc \u0646\u06d2 \u0679\u06cc\u0633\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u0627\u0688\u0644 \u0622\u067e \u06a9\u06cc \u0627\u067e\u0646\u06cc Anthropic\u060c OpenAI\u060c \u06cc\u0627 OpenRouter \u06a9\u06cc\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0628\u0631\u0627\u0624\u0632\u0631 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 MCP \u0633\u0631\u0648\u0631 \u0628\u06be\u06cc \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06c1\u0645 \u0646\u06d2 \u062c\u0633 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0648\u06c1 \u062e\u0648\u062f \u0633\u0631\u0648\u0631 \u0686\u0644\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0631\u067e\u0648\u0631\u0679\u0633 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u067e\u0691\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-try-katalepsis\">Catalepsis \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0622\u0632\u0645\u0627\u0626\u06cc\u06ba<\/h2>\n<p>katalepsis \u0627\u0628\u06be\u06cc npm \u067e\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u0646\u0633\u0679\u0627\u0644\u0631 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u0648 \u06a9\u0644\u0648\u0646 \u06a9\u0631\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0627\u06d4 Node 22.12 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1\u060c Git\u060c \u0627\u0648\u0631 pnpm 10 (\u06cc\u0627 corepack \u062c\u0648 Node \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u062a\u0627 \u06c1\u06d2) \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/www.katalepsis.glamboyosa.xyz\/install.sh | sh\n<\/code><\/pre>\n<p>\u062f\u0648 \u0644\u0627\u0646\u0686\u0631 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u060c <code>katalepsis<\/code> \u0627\u0648\u0631 <code>katalepsis-mcp<\/code>\u0645\u06cc\u06ba <code>~\/.local\/bin<\/code>.<\/p>\n<p>\u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06cc \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u06cc\u06ba katalepsis \u06a9\u06d2 \u067e\u0627\u0633 \u06a9\u0631\u062f\u06c1 URL \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u062b\u0628\u0648\u062a \u06a9\u0648 \u0622\u0646 \u06a9\u0631\u0646\u0627 \u0628\u06be\u06cc \u0627\u0686\u06be\u0627 \u062e\u06cc\u0627\u0644 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u067e\u0646\u06cc \u0631\u067e\u0648\u0631\u0679\u0633 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0686\u06be \u06c1\u0648\u06d4<\/p>\n<pre><code class=\"language-ts\">\/\/ playwright.config.ts\nuse: {\n  baseURL: process.env.KATALEPSIS_BASE_URL ?? \"http:\/\/localhost:3000\",\n  screenshot: \"only-on-failure\",\n  video: \"retain-on-failure\",\n  trace: \"retain-on-failure\",\n},\n<\/code><\/pre>\n<p>\u0630\u062e\u06cc\u0631\u06c1 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06cc \u0688\u06cc\u0645\u0648 \u0627\u06cc\u067e \u0627\u0648\u0631 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0686\u06be\u0648\u0679\u06cc \u0686\u06be\u0648\u0679\u06cc \u0633\u0627\u0626\u0646 \u0627\u067e \u0641\u0627\u0631\u0645 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4 \u062c\u0628 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0641\u0627\u0631\u0645 \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u063a\u0644\u0637\u06cc \u062f\u06a9\u06be\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627\u06d4 \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u06a9\u06d2 \u062a\u06cc\u0646 \u0679\u06cc\u0633\u0679 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1\u0627\u06ba \u0627\u0633 \u06a9\u0627 \u0627\u0635\u0644 \u0646\u0641\u0627\u0630 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">$ katalepsis run --cwd apps\/demo-form --url http:\/\/127.0.0.1:4173\nkatalepsis: FAILED\n  2 passed, 1 failed, 0 blocked, 0 not tested\n  Preview commit: not reported, so unconfirmed\n  Report: artifacts\/katalepsis\/2026-10-19T08-21-25-288Z-3dba5a\/report.html\n  Markdown: artifacts\/katalepsis\/2026-10-19T08-21-25-288Z-3dba5a\/report.md\n<\/code><\/pre>\n<p>\u0645\u0627\u0631\u06a9 \u0688\u0627\u0624\u0646 \u0631\u067e\u0648\u0631\u0679\u0633 \u06a9\u0627 \u0645\u0642\u0635\u062f PRs \u0645\u06cc\u06ba \u0686\u0633\u067e\u0627\u06ba \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0633\u0628 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u06a9\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-md\"># katalepsis report: Failed\n\n**2 passed, 1 failed, 0 blocked** out of 3 checks run.\n\n- Preview: http:\/\/127.0.0.1:4173\/\n- Preview commit: not reported, so unconfirmed\n- Runner: katalepsis 0.1.0, Playwright 1.63.0, Node 22.22.0\n\n## Checks\n\n| Status | Check | Project | Location | Duration |\n| --- | --- | --- | --- | --- |\n| Failed | signup form \u203a empty submission shows a required-field error | chromium | signup.spec.ts:8 | 3.2 s |\n| Passed | signup form \u203a valid submission shows a confirmation | chromium | signup.spec.ts:13 | 418 ms |\n| Passed | signup form \u203a malformed email shows an email error and does not submit | chromium | signup.spec.ts:20 | 449 ms |\n\n### Failed: signup form \u203a empty submission shows a required-field error\n\n- Failure type: assertion\n- Evidence: screenshot, video, log, trace\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u06a9\u0627 \u0627\u067e\u0646\u0627 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0634\u0627\u0645\u0644 \u06c1\u06d2 (<code>getByRole('alert')<\/code> \u0627\u0633 \u0645\u06cc\u06ba \u062d\u062f\u0648\u062f \u06a9\u06cc \u0627\u06cc\u06a9 \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u0638\u0627\u06c1\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0631\u06c1\u0627 \u06c1\u06d2) \u0627\u0648\u0631 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u0628\u0644\u0679 \u06a9\u0645\u0679 \u06a9\u06cc \u0631\u067e\u0648\u0631\u0679\u0646\u06af \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0628\u063a\u06cc\u0631 \u062c\u0627\u0646\u0686 \u06a9\u06d2 \u0627\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0627\u062f\u06c1 \u0627\u0646\u06af\u0631\u06cc\u0632\u06cc \u0645\u06cc\u06ba \u0686\u06cc\u06a9 \u0645\u0627\u0631\u06a9\u0633 \u0644\u06a9\u06be\u06cc\u06ba\u06d4 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0627 \u0627\u06cc\u06a9 \u0627\u0631\u0627\u062f\u06c1 \u06c1\u06d2\u060c \u062c\u0648 \u0639\u0645\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06af\u0632\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0634\u0631\u0637 \u06c1\u06d2 \u062c\u0648 \u0622\u062e\u0631 \u0645\u06cc\u06ba \u062f\u0631\u0633\u062a \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<pre><code class=\"language-json\">{\n  \"checks\": [\n    {\n      \"id\": \"empty-form\",\n      \"name\": \"Empty form validation\",\n      \"intent\": \"Submit the signup form without filling it\",\n      \"passCondition\": \"A required-field error is visible\"\n    },\n    {\n      \"id\": \"invalid-email\",\n      \"name\": \"Invalid email\",\n      \"intent\": \"Fill the name, enter an invalid email address and submit\",\n      \"passCondition\": \"An email validation error is visible and the success confirmation is not shown\"\n    }\n  ]\n}\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 katalepsis \u06a9\u06cc \u0686\u0627\u0628\u06cc \u062f\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4 \u0686\u0627\u0628\u06cc\u0627\u06ba OS \u06a9\u06cc\u0686\u06cc\u0646 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u06cc\u0627 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u0633\u06d2 \u067e\u0691\u06be\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06a9\u0645\u0627\u0646\u0688 \u0644\u0627\u0626\u0646 \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u06af\u0632\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-text\">$ katalepsis auth set openrouter\n$ katalepsis verify --cwd apps\/demo-form --url http:\/\/127.0.0.1:4173 --checks checks.json \\\n    --provider openrouter --model anthropic\/claude-haiku-5.5\nkatalepsis: FAILED (openrouter\/anthropic\/claude-haiku-5.5)\n  2 passed, 1 failed, 0 blocked\n  Preview commit: not reported, so unconfirmed\n  Report: artifacts\/katalepsis\/2026-10-10T12-45-05-343Z-b51a0a\/report.html\n<\/code><\/pre>\n<p>\u0688\u06cc\u0645\u0648 \u0628\u06be\u0631\u0627 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4 <code>checks.json<\/code> \u062a\u06cc\u0646 \u0686\u06cc\u06a9 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u06cc\u062c\u0646\u0679 \u0686\u06cc\u06a9 \u0645\u06cc\u06ba \u0648\u06c1\u06cc \u062e\u0627\u0644\u06cc \u0642\u0633\u0645 \u06a9\u06d2 \u06a9\u06cc\u0691\u06d2 \u0645\u0644\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0679\u06cc\u0633\u0679 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u06a9\u06d2 \u0679\u06cc\u0633\u0679 \u0644\u06a9\u06be\u06d2 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba\u060c \u06c1\u0645 MCP \u0633\u0631\u0648\u0631 \u06a9\u0648 \u0631\u062c\u0633\u0679\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u06cc\u06c1 \u0633\u0628 \u06a9\u0686\u06be \u062e\u0648\u062f \u06a9\u0631 \u0633\u06a9\u06d2\u06d4 \u06a9\u0648\u0688\u06cc\u06a9\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644:<\/p>\n<pre><code class=\"language-bash\">codex mcp add katalepsis -- katalepsis-mcp --root \/path\/to\/your-app\n<\/code><\/pre>\n<p>\u0633\u0631\u0648\u0631 \u062a\u06cc\u0646 \u0679\u0648\u0644\u0632 \u06a9\u0648 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>verification_run_tests<\/code>, <code>verification_check_browser<\/code>\u0627\u0648\u0631 <code>verification_get_report<\/code>\u06cc\u06c1 \u0635\u0631\u0641 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0641\u0648\u0644\u0688\u0631\u0632 \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a\u060c \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u06cc\u06c1 \u062a\u06be\u06cc\u06ba \u06a9\u06c1 &quot;\u0633\u0627\u0626\u0646 \u0627\u067e \u0641\u0627\u0631\u0645 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u067e\u06be\u0631 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0648 \u0686\u0644\u0627\u0626\u06cc\u06ba: <code>verification_check_browser<\/code> \u0627\u067e\u0646\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0627\u0631\u06a9 \u0688\u0627\u0624\u0646 \u0631\u067e\u0648\u0631\u0679 \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u062e\u0644\u0627\u0635\u06d2 \u0645\u06cc\u06ba \u0686\u0633\u067e\u0627\u06ba \u06a9\u0631\u06cc\u06ba\u06d4&#8221;<\/p>\n<h2 id=\"heading-how-katalepsis-works-under-the-hood\">\u06a9\u06cc\u0679\u06cc\u0644\u067e\u0633\u0633 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u06a9\u0686\u06be \u0641\u06cc\u0635\u0644\u06d2 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0645\u0633\u0627\u0626\u0644 \u0633\u06d2 \u0622\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1\u0627\u06ba \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<p>katalepsis \u0627\u06cc\u06a9 TypeScript \u0648\u0627\u062d\u062f \u0630\u062e\u06cc\u0631\u06c1 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba 5 \u067e\u06cc\u06a9\u062c\u0632 \u06c1\u06cc\u06ba\u06d4<\/p>\n<ul>\n<li>\n<p><code>core<\/code>    (\u0646\u062a\u06cc\u062c\u06c1 \u062f\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0633\u06a9\u06cc\u0645\u0627\u060c \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u0627\u0648\u0631 \u0631\u067e\u0648\u0631\u0679 \u067e\u06cc\u0634 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627)<\/p>\n<\/li>\n<li>\n<p><code>agent<\/code>    (\u0628\u0631\u0627\u0624\u0632\u0631 \u0679\u0648\u0644\u0632 \u0627\u0648\u0631 \u062b\u0628\u0648\u062a \u06a9\u06d2 \u0627\u0635\u0648\u0644 <code>verify<\/code>)<\/p>\n<\/li>\n<li>\n<p><code>credentials<\/code>    (\u06a9\u0644\u06cc\u062f\u06cc\u06ba \u0627\u0648\u0631 \u062a\u0631\u062c\u06cc\u062d\u0627\u062a)<\/p>\n<\/li>\n<li>\n<p><code>mcp<\/code>    (MCP \u0633\u0631\u0648\u0631)<\/p>\n<\/li>\n<li>\n<p><code>cli<\/code><\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0646 \u062d\u0635\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u062b\u0631\u0627\u062a \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u063a\u0644\u0637\u06cc\u0627\u06ba\u060c \u0645\u0646\u0633\u0648\u062e\u06cc\u060c \u0627\u0648\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u06c1\u0645 \u06c1\u06cc\u06ba\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u0627 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u0627\u0648\u0631 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a\u060c \u0627\u0648\u0631 \u0631\u067e\u0648\u0631\u0679 \u0641\u0627\u0631\u0645\u06cc\u0679\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u0641\u06cc\u06a9\u0679 \u0633\u06a9\u06cc\u0645\u0627\u06d4 \u0645\u0627\u0688\u0644 \u0644\u0648\u067e <code>verify<\/code> \u06c1\u0645 Vercel AI SDK \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1\u06cc \u06a9\u0648\u0688 Anthropic\u060c OpenAI\u060c \u0627\u0648\u0631 OpenRouter \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-report-is-a-schema-not-a-log\">\u0631\u067e\u0648\u0631\u0679\u06cc\u06ba \u0627\u0633\u06a9\u06cc\u0645\u0627 \u06c1\u06cc\u06ba\u060c \u0644\u0627\u06af\u0632 \u0646\u06c1\u06cc\u06ba\u06d4<\/h3>\n<p>\u062a\u0645\u0627\u0645 \u067e\u06be\u0627\u0646\u0633\u06cc\u0627\u06ba\u060c \u0642\u0637\u0639 \u0646\u0638\u0631 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0648\u06c1 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0622\u062a\u06cc \u06c1\u06cc\u06ba \u06cc\u0627 \u06a9\u0633\u06cc \u0645\u0627\u0688\u0644 \u06a9\u06cc\u060c \u0627\u06cc\u06a9 \u06c1\u06cc \u0645\u0648\u0627\u062f \u067e\u0631 \u0688\u06cc \u06a9\u0648\u0688 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 <code>VerificationRun<\/code> \u06a9\u0686\u06be \u0628\u06be\u06cc \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0688\u06be\u0627\u0646\u0686\u06c1 \u06c1\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u0648\u0627\u062d\u062f \u0686\u06cc\u06a9 \u06a9\u0627 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0648\u0631\u0698\u0646 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-ts\">export const CheckStatus = Schema.Literals([\"passed\", \"failed\", \"blocked\"]);\n\nexport const VerificationCheck = Schema.Struct({\n  id: Schema.String,\n  source: Schema.Literals([\"playwright-test\", \"agent\"]),\n  title: Schema.String,\n  status: CheckStatus,\n  flaky: Schema.Boolean,\n  failure: Schema.NullOr(Schema.Struct({ code: FailureCode, message: Schema.String })),\n  attempts: Schema.Array(Attempt),\n  evidence: Schema.Array(BundlePath),\n});\n<\/code><\/pre>\n<p>\u063a\u06cc\u0631 \u0686\u0644\u0627\u0626\u06d2 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u0648 \u0627\u0644\u06af \u0627\u0644\u06af \u0679\u06cc\u0633\u0679\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>notTested<\/code> \u0648\u062c\u0648\u06c1\u0627\u062a \u062f\u0631\u062c \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0686\u0627\u0631 \u0646\u062a\u0627\u0626\u062c \u0628\u0631\u0622\u0645\u062f \u06c1\u0648\u06ba \u06af\u06d2: \u067e\u0627\u0633\u060c \u0646\u0627\u06a9\u0627\u0645\u060c \u0645\u0633\u062f\u0648\u062f\u060c \u06cc\u0627 \u0679\u06cc\u0633\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627\u06d4 \u062a\u0645\u0627\u0645 \u062b\u0628\u0648\u062a \u0641\u0627\u0626\u0644\u06cc\u06ba SHA-256 \u06c1\u06cc\u0634 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062d\u0641\u0648\u0638 \u06c1\u06cc\u06ba\u06d4 <code>BundlePath<\/code> \u0645\u0637\u0644\u0642 \u0631\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631\u06cc\u06ba\u06d4 <code>..<\/code>\u0644\u06c1\u0630\u0627\u060c \u0627\u06cc\u06a9 \u0631\u067e\u0648\u0631\u0679 \u0627\u067e\u0646\u06d2 \u0641\u0648\u0644\u0688\u0631 \u06a9\u06d2 \u0628\u0627\u06c1\u0631 \u0627\u0634\u0627\u0631\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627.<\/p>\n<h3 id=\"heading-blocked-isnt-failed\">\u0628\u0644\u0627\u06a9 \u06a9\u0631\u0646\u0627 \u0646\u0627\u06a9\u0627\u0645\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/h3>\n<p>\u0627\u06af\u0631 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u0645\u06cc\u06ba \u062e\u0644\u0644 \u067e\u0691\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u062a\u06cc\u0646 \u0646\u0627\u06a9\u0627\u0645 \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u0628\u0644\u0627\u06a9 \u0634\u062f\u06c1 \u0631\u0646 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u06d2 \u06af\u0627 \u062c\u0648 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06a9\u0679\u0627\u0644\u06cc\u067e\u0633\u0633 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 URL \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633 \u062a\u062d\u0642\u06cc\u0642\u0627\u062a \u06a9\u06cc \u06a9\u0644\u06cc\u062f \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-ts\">const UNAVAILABLE_STATUSES = new Set([502, 503, 504]);\n\nconst response = await fetch(url, {\n  redirect: \"manual\",\n  signal: AbortSignal.any([signal, AbortSignal.timeout(30_000)]),\n});\nif (UNAVAILABLE_STATUSES.has(response.status)) {\n  return { reachable: false, reason: `the preview answered with HTTP ${response.status}` };\n}\n<\/code><\/pre>\n<p>\u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc \u06cc\u0627 \u06af\u06cc\u0679 \u0648\u06d2 \u06a9\u06cc \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0645\u0646\u062a\u062e\u0628 \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u0648 \u0631\u0648\u06a9\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u0648 \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0688\u06cc\u0645\u0648 \u06a9\u0648 \u062e\u0627\u0644\u06cc \u0628\u0646\u062f\u0631\u06af\u0627\u06c1 \u067e\u0631 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u0646\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">$ katalepsis run --cwd apps\/demo-form --url http:\/\/127.0.0.1:4999\nkatalepsis: BLOCKED\n  0 passed, 0 failed, 3 blocked, 0 not tested\n  preview-unavailable: http:\/\/127.0.0.1:4999\/ did not respond (connect ECONNREFUSED 127.0.0.1:4999). Playwright was not run.\n<\/code><\/pre>\n<h3 id=\"heading-playwrights-verdict-is-final\">\u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u062d\u062a\u0645\u06cc \u06c1\u06d2\u06d4<\/h3>\n<p><code>run<\/code>    \u0645\u0646\u0635\u0648\u0628\u06d2 \u06a9\u0627 \u0622\u063a\u0627\u0632 \u0627\u0633 \u06a9\u06d2 \u0627\u067e\u0646\u06d2 \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u0633\u06d2 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <code>--reporter=json<\/code> \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u0627\u06af\u0648 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0691\u06be\u06cc\u06ba\u06d4 \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u0646\u06d2 \u0627\u0646 \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u0648 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u06cc\u0627 \u062c\u0648 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0648\u0634\u0634 \u0645\u06cc\u06ba \u06a9\u0627\u0645\u06cc\u0627\u0628 \u06c1\u0648 \u0686\u06a9\u06d2 \u062a\u06be\u06d2: <code>flaky<\/code>\u0644\u06c1\u0630\u0627 \u06a9\u06cc\u0679\u06cc\u0644\u067e\u0633\u0633 \u0627\u0633 \u062c\u06be\u0646\u0688\u06d2 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u06a9\u0648\u0634\u0634\u0648\u06ba \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0628\u0646\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u06cc\u06c1 \u062c\u0648 \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0628\u062a\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062e\u0631\u0627\u0628\u06cc\u0627\u06ba \u06a9\u06c1 \u067e\u06cc\u0634 \u0645\u0646\u0638\u0631 \u0645\u06cc\u06ba \u0645\u0627\u062e\u0630 \u0646\u0627\u0642\u0627\u0628\u0644 \u0631\u0633\u0627\u0626\u06cc \u06c1\u06d2 \u0628\u0644\u0627\u06a9 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u0644\u06cc\u06a9\u0646 \u063a\u06cc\u0631 \u0641\u0639\u0627\u0644 \u062a\u06cc\u0633\u0631\u06d2 \u0641\u0631\u06cc\u0642 APIs \u0646\u0627\u06a9\u0627\u0645 \u062d\u0627\u0644\u062a \u0645\u06cc\u06ba \u0631\u06c1\u06cc\u06ba \u06af\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u067e \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2\u06d4 \u062c\u0646 \u0628\u0631\u0627\u0624\u0632\u0631\u0632 \u06a9\u0648 \u0644\u0627\u0646\u0686 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u0648\u06c1 \u0628\u06be\u06cc \u0645\u0633\u062f\u0648\u062f \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u062f\u06cc\u06a9\u06be\u0627 \u062c\u0628 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u063a\u0644\u0637 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u0648\u0627\u0644\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u0627 \u0688\u06cc\u0645\u0648 \u0686\u0644\u0627\u06cc\u0627\u06d4<\/p>\n<h3 id=\"heading-the-model-doesnt-get-to-call-something-a-pass\">\u0645\u0627\u0688\u0644 \u06a9\u0633\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u067e\u0627\u0633 \u0646\u06c1\u06cc\u06ba \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/h3>\n<p>\u0645\u0627\u0688\u0644 \u06c1\u06d2\u06d4 <code>verify<\/code> \u0622\u067e \u0635\u0641\u062d\u0627\u062a \u067e\u0631 \u06a9\u0644\u06a9\u060c \u0679\u0627\u0626\u067e \u0627\u0648\u0631 \u067e\u0691\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u06c1\u0645 \u0627\u0633\u06d2 \u067e\u0627\u0633 \u0646\u06c1\u06cc\u06ba \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0686\u06cc\u06a9 \u0635\u0631\u0641 \u0627\u0633 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u067e\u0627\u0633 \u06c1\u0648 \u06af\u0627 \u062c\u0628 \u0645\u0627\u0688\u0644 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062f\u0639\u0648\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 katalepsis \u0628\u06be\u0627\u06af \u06af\u06cc\u0627\u060c \u06af\u0632\u0631 \u06af\u06cc\u0627\u060c \u0627\u0648\u0631 \u0627\u06cc\u0633\u0627 \u0645\u0648\u0627\u062f \u062f\u06a9\u06be\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u062c\u0648 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0686\u0644\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0635\u0641\u062d\u06c1 \u067e\u0631 \u0646\u06c1\u06cc\u06ba \u062a\u06be\u0627\u06d4 \u0648\u0631\u0646\u06c1 \u0622\u067e \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0644\u0627\u06a9 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: \u0645\u0627\u0688\u0644 \u0679\u0648\u0644\u0632 \u06a9\u06d2 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06d2 \u0633\u06cc\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u062a\u0627 \u06c1\u06d2: <code>navigate<\/code>, <code>snapshot<\/code>, <code>click<\/code>, <code>fill<\/code>, <code>press<\/code>, <code>assert<\/code>\u0627\u0648\u0631 <code>finish<\/code>. <code>assert<\/code> \u06cc\u06c1 \u0645\u0627\u0688\u0644 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u062a\u0628\u0635\u0631\u06c1 \u0648\u0627\u067e\u0633 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 katalepsis \u0628\u0631\u0627\u0624\u0632\u0631 \u0645\u06cc\u06ba \u06c1\u06cc \u0627\u0633\u06a9\u06cc\u0646 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062f\u0631\u062c \u0630\u06cc\u0644 ID \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0644\u0627\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>a3<\/code>. \u062c\u0628 \u0645\u0627\u0688\u0644 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>finish<\/code>\u0622\u067e \u06a9\u0648 \u0627\u0633 \u0622\u0626\u06cc \u0688\u06cc \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<pre><code class=\"language-ts\">finish: tool({\n  description: \"Report the verdict once, citing assertion IDs such as a1.\",\n  inputSchema: schema(\n    Schema.Struct({\n      verdict: Schema.Literals([\"passed\", \"failed\", \"blocked\"]),\n      summary: Schema.String,\n      assertionIds: Schema.Array(Schema.String),\n    }),\n  ),\n  execute: (verdict) => {\n    onFinish(verdict);\n    return \"Recorded.\";\n  },\n}),\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u062a\u0642\u0631\u06cc\u0628\u060c <code>decideOutcome<\/code>\u062f\u0639\u0648\u0648\u06ba \u0627\u0648\u0631 \u0634\u0648\u0627\u06c1\u062f \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 \u06af\u0632\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u0635\u0648\u0644 \u06a9\u0627 \u067e\u0627\u0644\u0634 \u0648\u0631\u0698\u0646:<\/p>\n<pre><code class=\"language-ts\">if (!cited.every((assertion) => assertion.passed)) {\n  return \"The agent reported a pass, but a cited assertion failed.\";\n}\nconst shown = cited.filter((assertion) => assertion.expectation === \"visible\");\nif (shown.length === 0) {\n  return \"The agent reported a pass citing only hidden or URL assertions.\";\n}\nif (!observeOnly && shown.every((assertion) => assertion.trueAtStart === true)) {\n  return \"The agent reported a pass, but everything it cited was already on the page before it acted.\";\n}\n<\/code><\/pre>\n<p>\u0627\u0646 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u0627\u06cc\u06a9 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0686\u06cc\u06a9 \u0628\u0644\u0627\u06a9 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 <code>no-evidence<\/code>. \u062f\u0639\u0648\u06cc\u0670 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0622\u0626\u06cc \u0688\u06cc\u0632 \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06cc\u0646\u0627 \u062c\u0646 \u067e\u0631 \u06a9\u0628\u06be\u06cc \u0639\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0627 \u0648\u06c1 \u0628\u06be\u06cc \u0645\u0633\u062f\u0648\u062f \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u06af\u0632\u0631\u0646\u06d2 \u06a9\u0648 \u0628\u06be\u06cc \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u06af\u0631 \u0622\u062e\u0631\u06cc \u062d\u0648\u0627\u0644\u06c1 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u062f\u0639\u0648\u06cc\u0670 \u06a9\u06d2 \u0628\u0639\u062f \u06a9\u0648\u0626\u06cc \u063a\u06cc\u0631 \u0646\u0642\u0644 \u0634\u062f\u06c1 \u062f\u0639\u0648\u06cc\u0670 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u0634\u0648\u0627\u06c1\u062f \u0641\u06cc\u0635\u0644\u06d2 \u0633\u06d2 \u0645\u062a\u0641\u0642 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>trueAtStart<\/code> \u0634\u0631\u0637 \u06a9\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0645\u06cc\u06ba \u0646\u06d2 \u062c\u0646 \u0645\u0627\u0688\u0644\u0632 \u06a9\u0627 \u062a\u062c\u0631\u0628\u06c1 \u06a9\u06cc\u0627 \u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u06d2 \u06cc\u06c1 \u062b\u0627\u0628\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u06cc \u06a9\u06c1 \u0641\u0627\u0631\u0645 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u06cc\u0644\u0688 \u06a9\u06d2 \u0644\u06cc\u0628\u0644 \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06d2 \u06a9\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06c1\u0645\u06cc\u0634\u06c1 \u0645\u0648\u062c\u0648\u062f \u062a\u06be\u0627\u06d4 \u0686\u0627\u0626\u06d2<\/p>\n<p>o \u067e\u06a9\u0691\u06d2 \u062c\u0627\u0646\u06d2 \u067e\u0631\u060c \u06c1\u0631 \u0627\u0633\u06a9\u06cc\u0646 \u0622\u063a\u0627\u0632 \u06a9\u06d2 \u0635\u0641\u062d\u06d2 \u06a9\u06cc \u062f\u0648 \u06a9\u0627\u067e\u06cc\u0627\u06ba \u0627\u0644\u06af \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u06a9\u06be\u0648\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0645\u0627\u0688\u0644 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628\u06a9\u06c1 \u062f\u0648\u0633\u0631\u0627 \u0648\u06c1\u06cc \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0645\u0627\u0688\u0644 \u0627\u0633 \u0628\u0627\u062a \u067e\u0631 \u0632\u0648\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0626\u06cc \u0686\u06cc\u0632 \u0646\u0638\u0631 \u0622 \u0631\u06c1\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06a9\u0679\u0627\u0644\u06cc\u067e\u0633\u0633 \u0627\u0633\u06cc \u0639\u0646\u0635\u0631 \u06a9\u0648 \u0627\u0686\u06be\u0648\u062a\u06cc \u06a9\u0627\u067e\u06cc \u0645\u06cc\u06ba \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u06af\u0631 \u0648\u06c1 \u0639\u0646\u0635\u0631 \u0628\u06be\u06cc \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u060c \u062a\u0648 \u062f\u0639\u0648\u06cc\u0670 \u062d\u0627\u0635\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2: <code>trueAtStart: true<\/code> \u0627\u0648\u0631 \u0622\u067e \u062e\u0648\u062f \u067e\u0627\u0633 \u0646\u06c1\u06cc\u06ba \u0631\u06a9\u06be \u0633\u06a9\u062a\u06d2\u06d4<\/p>\n<h3 id=\"heading-one-action-at-a-time\">\u0627\u06cc\u06a9 \u0648\u0642\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06a9\u0627\u0645<\/h3>\n<p>\u067e\u06c1\u0644\u06cc \u0644\u0627\u0626\u06cc\u0648 \u0631\u0646 \u06a9\u06cc\u067e\u0686\u0631 \u0634\u062f\u06c1 \u0645\u062a\u0648\u0627\u0632\u06cc \u0679\u0648\u0644 \u06a9\u0627\u0644\u0632 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u067e\u0631 \u0642\u062f\u0645 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0627\u0645 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u06cc\u0644\u0688 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06a9\u06cc\u06d2 \u062c\u0627 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u0627\u0688\u0644 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0679\u0648\u0644 \u06a9\u0627\u0644\u0632 \u0628\u06be\u06cc\u062c\u0646\u0627 \u067e\u0633\u0646\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0628\u06cc\u06a9 \u0648\u0642\u062a \u062f\u0648 \u0679\u0648\u0644 \u06a9\u0627\u0644\u0632 \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u06d2\u06d4 <code>fill<\/code> \u0648\u06c1 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u0633\u06d2 \u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0648\u06c1 \u0627\u0633 \u0641\u06cc\u0644\u0688 \u06a9\u0648 \u06a9\u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0641\u0648\u06a9\u0633 \u06c1\u0648\u06d4 \u0641\u06a9\u0633 \u0627\u06cc\u06a9 \u0648\u0639\u062f\u06c1 \u06a9\u06cc \u0642\u0637\u0627\u0631 \u06c1\u06d2 \u062c\u0633 \u0633\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06af\u0632\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-ts\">private exclusive<a>(action: () => Promise<a>): Promise<a> {\n  const next = this.queue.then(action, action);\n  this.queue = next.catch(() => undefined);\n  return next;\n}\n<\/code><\/pre>\n<p>\u06c1\u0631 \u06a9\u0627\u0645 \u067e\u0686\u06be\u0644\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u062d\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0686\u0627\u06c1\u06d2 \u06a9\u0627\u0645\u06cc\u0627\u0628 \u06c1\u0648 \u06cc\u0627 \u0646\u06c1 \u06c1\u0648\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc \u0627\u06af\u0644\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0642\u0637\u0627\u0631 \u06a9\u0648 \u0622\u0644\u0648\u062f\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06cc\u06d4<\/p>\n<h3 id=\"heading-budgets-and-boundaries\">\u0628\u062c\u0679 \u0627\u0648\u0631 \u062d\u062f\u0648\u062f<\/h3>\n<p>\u06c1\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0627\u06cc\u06a9 \u0679\u0631\u06cc\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u067e\u0646\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u0686\u0644\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u06a9\u06cc \u0631\u067e\u0648\u0631\u0679\u0633 \u0645\u06cc\u06ba \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u0679\u0631\u06cc\u0633 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u06cc \u0627\u0635\u0644 \u062a\u06a9 \u0645\u062d\u062f\u0648\u062f \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u0648 \u0628\u06be\u06cc \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u06c1\u06d2\u06d4 <code>--allow-origin<\/code>. \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u067e\u0627\u0628\u0646\u062f\u06cc\u0627\u06ba \u06c1\u06cc\u06ba (<code>--max-steps<\/code>15 \u0628\u0630\u0631\u06cc\u0639\u06c1 \u0688\u06cc\u0641\u0627\u0644\u0679)\u060c \u0679\u0648\u06a9\u0646 \u06a9\u06cc \u062d\u062f (<code>--max-tokens<\/code>200,000) \u0627\u0648\u0631 \u0648\u0642\u062a \u06a9\u06cc \u062d\u062f (<code>--check-timeout<\/code>120 \u0633\u06cc\u06a9\u0646\u0688)\u060c \u0627\u06af\u0631 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0645\u062e\u062a\u0635\u0631 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633\u06d2 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u0639\u0644\u0627\u0648\u06c1 \u062f\u06cc\u06af\u0631 \u0648\u062c\u0648\u06c1\u0627\u062a \u06a9\u06cc \u0628\u0646\u0627 \u067e\u0631 \u0628\u0644\u0627\u06a9 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0631\u067e\u0648\u0631\u0679 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0631\u067e\u0648\u0631\u0679 \u06a9\u06d2 \u06cc\u0648 \u0622\u0631 \u0627\u06cc\u0644 \u0633\u06d2 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u06d2 \u0627\u0633\u0679\u0631\u0646\u06af \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-how-it-was-built\">\u06cc\u06c1 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627<\/h3>\n<p>\u06a9\u0633\u06cc \u0628\u06be\u06cc \u06a9\u0648\u0688 \u06a9\u0648 \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06c1\u0645 \u0646\u06d2 \u0633\u0646\u06af \u0645\u06cc\u0644\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u0627\u06cc\u06a9 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u0627\u06cc\u0627\u06d4 M0 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0645\u0627\u0631\u06d2 \u062f\u0648 \u067e\u0686\u06be\u0644\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0648\u06ba \u0646\u06d2 \u0627\u0633\u0646\u0627\u062f \u0627\u0648\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u06c1\u0645\u0627\u0631\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u0627\u0648\u0631 monorepo \u0679\u0648\u0644 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u06cc\u0627\u06d4 M1 \u0688\u0631\u0627\u0645\u06c1 \u0646\u06af\u0627\u0631 \u0627\u0648\u0631 \u0631\u067e\u0648\u0631\u0679 \u062a\u06be\u0627\u060c M2 \u0627\u06cc\u062c\u0646\u0679 \u062a\u06be\u0627 \u062c\u0633 \u06a9\u06cc \u0686\u0627\u0628\u06cc\u0627\u06ba \u0686\u06cc\u06a9 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u062a\u06be\u06cc\u06ba\u060c \u0627\u0648\u0631 M3 MCP \u0633\u0631\u0648\u0631 \u062a\u06be\u0627\u06d4 \u06c1\u0631 \u0633\u0646\u06af \u0645\u06cc\u0644 \u0627\u06cc\u06a9 \u0646\u0626\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0645\u0646\u0635\u0648\u0628\u06d2 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u06a9\u0627\u0645 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627\u060c \u0648\u06c1\u06cc \u0622\u0632\u0627\u062f \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u062c\u06cc\u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u062a\u06be\u06d2\u06d4<\/p>\n<p>\u0627\u0646 \u062c\u0627\u0626\u0632\u0648\u06ba \u0646\u06d2 \u0645\u0646\u0635\u0648\u0628\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0679\u0648\u0644 \u06a9\u0648 \u0634\u06a9\u0644 \u062f\u06cc\u06d4 \u067e\u06c1\u0644\u06d2 \u0679\u06cc\u0633\u0679 \u06a9\u06d2 15 \u0646\u062a\u0627\u0626\u062c \u0628\u0631\u0622\u0645\u062f \u06c1\u0648\u0626\u06d2\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u0635\u0648\u0644 \u0628\u06be\u06cc \u0634\u0627\u0645\u0644 \u06c1\u06d2 \u06a9\u06c1 \u0635\u0631\u0641 \u0646\u0627\u0642\u0627\u0628\u0644 \u0631\u0633\u0627\u0626\u06cc \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u0648\u06ba \u06a9\u0648 \u06c1\u06cc \u0628\u0644\u0627\u06a9 \u0633\u0645\u062c\u06be\u0627 \u062c\u0627\u062a\u0627 \u062a\u06be\u0627\u060c \u062c\u0628\u06a9\u06c1 \u062f\u06cc\u06af\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0646\u0627\u06a9\u0627\u0645 \u0631\u06c1\u06d2\u06d4 M2 \u062c\u0627\u0626\u0632\u06d2 \u0633\u06d2 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u0627 \u06a9\u06c1 \u0645\u0627\u0688\u0644\u0632 \u0627\u06cc\u0633\u06d2 \u062f\u0639\u0648\u0648\u06ba \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06d2 \u06a9\u0631 \u06af\u0632\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06a9\u0686\u06be \u0628\u06be\u06cc \u062b\u0627\u0628\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u067e\u0627\u0633\u0646\u06af \u06a9\u06d2 \u0633\u062e\u062a \u0642\u0648\u0627\u0646\u06cc\u0646 \u0627\u0648\u0631 \u0635\u0641\u062d\u0627\u062a \u06a9\u06cc \u063a\u06cc\u0631 \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u06c1 \u06a9\u0627\u067e\u06cc\u0627\u06ba \u06c1\u0648\u0626\u06cc\u06ba\u06d4 M3 \u062c\u0627\u0626\u0632\u06d2 \u0633\u06d2 \u067e\u062a\u06c1 \u0686\u0644\u0627 \u06a9\u06c1 \u0627\u06af\u0631 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0648\u0642\u062a \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062e\u062a\u0645 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u0628\u0631\u0627\u0624\u0632\u0631 \u0686\u0644\u062a\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0639\u0644\u0627\u0645\u062a\u06cc \u0644\u0646\u06a9\u0633 \u0631\u067e\u0648\u0631\u0679 \u0679\u0648\u0644 \u06a9\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0645\u0627\u0645 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u0627\u0628 \u0637\u06d2 \u06a9\u0631 \u0644\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u0627\u0646\u0686 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-happened-when-i-used-it\">\u062c\u0628 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062a\u0648 \u06a9\u06cc\u0627 \u06c1\u0648\u0627\u06d4<\/h2>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u06a9\u0648 \u0628\u062a\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06d2 \u062f\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u067e\u0631 \u0686\u0644\u0627\u06cc\u0627\u06d4 Conclave&#8217;s Suite \u0648\u0627\u067e\u0633 \u0622 \u06af\u06cc\u0627 \u06c1\u06d2\u060c 95 \u067e\u0627\u0633 \u06a9\u0631 \u06a9\u06d2\u06d4 \u0628\u0691\u06cc \u0627\u06cc\u067e 137 \u067e\u0627\u0633 \u0627\u0648\u0631 1 \u0641\u06cc\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0648\u0627\u067e\u0633 \u0622\u0626\u06cc (\u0632\u0648\u0645 \u0644\u06cc\u0648\u0644 \u0633\u06d2 \u062a\u06be\u0648\u0691\u0627 \u0633\u0627 \u062f\u0648\u0631 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u062f\u0639\u0648\u06cc\u0670 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2)\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0679\u06cc\u0633\u0679 \u062a\u06be\u0627 \u062c\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u06a9\u0631 \u0644\u06cc\u0627 \u062a\u06be\u0627 \u0627\u0648\u0631 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645\u06cc \u0645\u062d\u0633\u0648\u0633 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc \u062a\u06be\u06cc\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06a9\u06cc\u0679\u06cc\u0644\u06cc\u067e\u0633\u0633 \u06a9\u0648 \u06a9\u0648\u0626\u06cc \u0627\u06cc\u0633\u0627 \u0628\u06af \u0646\u06c1\u06cc\u06ba \u0645\u0644\u0627 \u062c\u0633\u06d2 \u0645\u06cc\u06ba \u06cc\u0627\u062f \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u062a\u06be\u0627\u06d4 \u062f\u0648\u0646\u0648\u06ba \u0645\u0646\u0635\u0648\u0628\u06d2 \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0634\u062f\u06c1 \u06c1\u06cc\u06ba\u06d4 <code>baseURL<\/code>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0627 \u0645\u06cc\u0631\u06d2 \u067e\u0627\u0633 \u06a9\u0631\u062f\u06c1 URL \u067e\u0631 \u0628\u0627\u0644\u06a9\u0644 \u06a9\u0648\u0626\u06cc \u0627\u062b\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0627\u06d4 katalepsis \u0627\u0628 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062e\u0628\u0631\u062f\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2. \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u063a\u0644\u0637 \u0633\u0631\u0648\u0631 \u067e\u0631 \u0633\u0628\u0632 \u0686\u0644\u0646\u0627 \u0628\u0627\u0644\u06a9\u0644 \u0646\u06c1 \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u0628\u062f\u062a\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>LinkedIn \u067e\u0631 \u067e\u0648\u0633\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06a9\u0633\u06cc \u0646\u06d2 \u062a\u0628\u0635\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u06cc \u06a9\u06c1 \u0686\u06cc\u06a9 \u0622\u0624\u0679 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06a9\u0645\u0679\u0632 \u0636\u0631\u0648\u0631\u06cc \u0646\u06c1\u06cc\u06ba \u06a9\u06c1 \u0648\u06c1 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u0648\u06ba\u06d4 \u0648\u06c1 \u062f\u0631\u0633\u062a \u062a\u06be\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0628 \u0631\u067e\u0648\u0631\u0679 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0644\u0627\u06af \u06a9\u0631\u06d2 \u06af\u06cc \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1\u060c \u063a\u06cc\u0631 \u0645\u0645\u0627\u062b\u0644 \u06cc\u0627 \u0646\u0627\u0645\u0639\u0644\u0648\u0645 \u06a9\u06d2 \u0628\u0637\u0648\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u0631\u06d2 \u06af\u06cc\u060c \u0627\u0648\u0631 \u067e\u0631\u0627\u0646\u06d2 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u06af\u0631\u06cc\u0646 \u0631\u0646 \u0622\u067e \u06a9\u0648 \u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u0628\u062a\u0627\u0626\u06d2 \u06af\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0645\u0645\u0627\u062b\u0644\u062a \u0631\u0646 \u06a9\u0648 \u06af\u0632\u0631\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9 \u062f\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>\u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u0645\u0679 \u06a9\u06cc \u0631\u067e\u0648\u0631\u0679 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06d2: <code>x-commit-sha<\/code> \u0631\u062f\u0639\u0645\u0644 \u06c1\u06cc\u0688\u0631 \u06cc\u0627 <code><meta name=\"commit-sha\"\/><\/code> \u0679\u06cc\u06af\u0632 \u0627\u0633\u06cc \u062a\u062d\u0642\u06cc\u0642\u0627\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u067e\u0691\u06be\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u062f\u0633\u062a\u06cc\u0627\u0628\u06cc \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062f\u0648\u0646\u0648\u06ba \u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u06af\u0632\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>--preview-commit<\/code> \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648<\/p>\n<p>\u0645\u06cc\u06ba \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062f\u06c1 \u0627\u0646\u06c1\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0633\u06d2 dogfood \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06ba\u06d4 \u0627\u0628 \u0628\u0631\u0627\u0624\u0632\u0631 \u0631\u06cc\u0648\u06cc\u0648 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u0645\u06cc\u0631\u06d2 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0633\u06d2 \u06a9\u06c1\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u067e\u06c1\u0644\u06d2 \u06a9\u0679\u0627\u0644\u06cc\u067e\u0633\u0633 \u0686\u0644\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0641\u06cc\u0644\u0688 \u0648\u06cc\u0644\u06cc\u0648\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0628\u0631\u0627\u0624\u0632\u0631 \u0622\u0679\u0648\u0645\u06cc\u0634\u0646 \u067e\u0631 \u0641\u0627\u0644 \u0628\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u062d\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0633\u06a9\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633\u062a\u0642\u0627\u0645\u062a\u060c \u06a9\u0646\u0633\u0648\u0644 \u0627\u0648\u0631 \u0646\u06cc\u0679 \u0648\u0631\u06a9\u060c \u0627\u0648\u0631 \u0648\u06cc\u0648 \u067e\u0648\u0631\u0679\u0633 \u0645\u06cc\u06ba \u0644\u06d2 \u0622\u0624\u0679\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u0627 \u06a9\u0648\u0688\u06cc\u06a9\u0633 \u0633\u06cc\u0634\u0646 \u062c\u0633 \u0645\u06cc\u06ba \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u0627\u0679\u06be\u0627\u06cc\u0627\u060c \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633 \u0644\u0627\u0626\u0646 \u06a9\u0648 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 &quot;\u06a9\u06cc\u0679\u0644\u06cc\u067e\u0633\u0633 \u0627\u0633\u06a9\u0644&#8221; \u06a9\u06cc \u062a\u0644\u0627\u0634 \u06a9\u06cc\u06d4 <code>AGENTS.md<\/code>\u0645\u062c\u06be\u06d2 \u0627\u06cc\u06a9 \u0646\u06c1\u06cc\u06ba \u0645\u0644 \u0633\u06a9\u0627 \u0627\u0648\u0631 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u067e\u0631 \u0648\u0627\u067e\u0633 \u0686\u0644\u0627 \u06af\u06cc\u0627\u06d4 \u06cc\u06c1 \u06a9\u0633\u06cc \u0627\u062d\u0645\u0642\u0627\u0646\u06c1 \u0648\u062c\u06c1 \u0633\u06d2 \u063a\u0644\u0637 \u062a\u06be\u0627\u060c \u0644\u06cc\u06a9\u0646 \u0641\u0627\u0644 \u0628\u06cc\u06a9 \u0646\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u062a\u0648\u0642\u0639 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u0627 \u0645\u0638\u0627\u06c1\u0631\u06c1 \u06a9\u06cc\u0627 \u0627\u0648\u0631 \u062f\u0631\u0633\u062a\u06af\u06cc \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06c1\u06c1 \u0631\u06c1\u06cc \u062a\u06be\u06cc \u06a9\u06c1 \u06a9\u06cc\u0679\u06cc\u0644\u06cc\u067e\u0633\u0633 \u0627\u06cc\u06a9 CLI \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u0631\u0627\u0624\u0632\u0631 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0627\u06cc\u06a9 \u062a\u06a9\u0646\u06cc\u06a9 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0686\u06be \u062f\u0646\u0648\u06ba \u0628\u0639\u062f \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u0644\u0627\u0626\u06cc\u0648 \u0648\u0631\u06a9\u0646\u06af \u0628\u0631\u0627\u0646\u0686 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627\u060c \u062c\u0633 \u0646\u06d2 GeoJSON \u06a9\u0648 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u0628\u0679\u0646 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u062f\u06cc\u0627 \u0627\u0648\u0631 CSV \u0627\u0648\u0631 KML \u06a9\u0648 \u0688\u0631\u0627\u067e \u0688\u0627\u0624\u0646 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631 \u062f\u06cc\u0627\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0686\u06be \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0631\u06a9 \u06af\u06cc\u0627\u06d4 <code>verify<\/code> \u0645\u06cc\u06ba \u0635\u0641\u062d\u06c1 \u06a9\u0627 \u0645\u0648\u0627\u062f \u0645\u0627\u0688\u0644 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u0648 \u0628\u06be\u06cc\u062c \u0631\u06c1\u0627 \u06c1\u0648\u06ba \u0627\u0648\u0631 \u0645\u06cc\u0631\u06d2 \u0642\u0648\u0627\u0639\u062f \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0627\u06cc\u067e \u067e\u0631 \u06a9\u0686\u06be \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u06cc\u06c1\u06cc \u0633\u0644\u0648\u06a9 \u0645\u06cc\u06ba \u0686\u0627\u06c1\u062a\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u0686\u06cc\u06a9 \u0628\u06cc\u062c \u0634\u062f\u06c1 \u0645\u0635\u0646\u0648\u0639\u06cc \u0688\u06cc\u0679\u0627 \u0627\u0648\u0631 \u0648\u0627\u0636\u062d \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u067e\u0627\u0633 \u06c1\u0648\u0627\u06d4 \u0627\u06cc\u06a9 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0628\u0679\u0646 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u06af\u0627 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0688\u0631\u0627\u067e \u0688\u0627\u0624\u0646 \u06a9\u06be\u0644\u06d2 \u06af\u0627\u060c \u067e\u06be\u0631 \u0631\u067e\u0648\u0631\u0679 \u0645\u06cc\u06ba \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633 \u0627\u0648\u0631 \u0646\u0634\u0627\u0646\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062e\u062a\u0644\u0641 \u0641\u0627\u0631\u0645\u06cc\u0679\u0633 \u0646\u0638\u0631 \u0622\u0626\u06cc\u06ba \u06af\u06d2\u06d4 \u06cc\u06c1 \u062a\u06a9\u0646\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0688\u06cc\u0679\u0627 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0635\u0641\u062d\u0627\u062a \u06a9\u0648 \u0645\u062a\u0628\u0627\u062f\u0644 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-where-i-landed\">\u062c\u06c1\u0627\u06ba \u0645\u06cc\u06ba \u0627\u062a\u0631\u0627 \u062a\u06be\u0627\u06d4<\/h2>\n<p>\u062a\u0645\u0627\u0645 \u06a9\u0627\u0645\u0648\u06ba \u06a9\u0648 \u0627\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0644\u06d2 \u0631\u0627\u0626\u0679 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0645\u0627\u0631\u06a9 \u0688\u0627\u0624\u0646 \u0679\u0627\u0626\u067e \u06a9\u06cc \u063a\u0644\u0637\u06cc\u0648\u06ba \u06a9\u0648 \u062f\u0631\u0633\u062a \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u06a9\u0648 \u06a9\u0633\u06cc \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0631\u06cc \u0641\u06cc\u06a9\u0679\u0631\u0646\u06af \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0648 \u0627\u0633 \u0631\u06cc\u0646\u0688\u0631\u0646\u06af \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1 \u06a9\u0631 \u0633\u06a9\u06d2 \u062c\u0633 \u06a9\u06cc Chromium \u06a9\u0648 \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u062c\u0632\u0627\u0621\u060c \u0641\u0627\u0631\u0645\u060c \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646\u060c \u0688\u0627\u0626\u06cc\u0644\u0627\u06af\u060c \u06a9\u0644\u0627\u0626\u0646\u0679 \u0627\u0633\u0679\u06cc\u0679\u060c \u0646\u0642\u0634\u06d2\u060c \u0641\u0644\u0679\u0631\u0646\u06af\u060c \u0631\u06cc\u0633\u067e\u0627\u0646\u0633\u06cc\u0648 \u0644\u06d2 \u0622\u0624\u0679\u060c \u0627\u0633\u062a\u0642\u0627\u0645\u062a\u060c \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 \u06a9\u0648 \u0646\u0638\u0631 \u0622\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u06a9\u06cc\u0691\u06d2 \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u06cc\u0631\u0627 \u062a\u062c\u0631\u0628\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06af\u0631 \u0622\u067e \u06cc\u06c1 \u062f\u0639\u0648\u06cc\u0670 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0631\u0646 \u0679\u0627\u0626\u0645 \u067e\u0631 UI \u06a9\u0633 \u0637\u0631\u062d \u0628\u0631\u062a\u0627\u0624 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0631\u0646 \u0679\u0627\u0626\u0645 UI \u062b\u0628\u0648\u062a \u06a9\u0627 \u062d\u0635\u06c1 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u0686\u06be\u06cc \u062c\u0627\u0646\u0686\u060c \u06a9\u0648\u0688 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2\u060c \u06cc\u0627 \u0627\u06c1\u0645 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0648 \u062f\u06cc\u06a9\u06be \u06a9\u0631 \u0645\u06cc\u0631\u06cc \u062c\u06af\u06c1 \u0646\u06c1\u06cc\u06ba \u0644\u06d2 \u0633\u06a9\u062a\u0627\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0644\u0627\u067e\u062a\u06c1 \u0641\u06cc\u0688 \u0628\u06cc\u06a9 \u0644\u0648\u067e \u06a9\u0627 \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0627\u06cc\u06a9 \u0630\u062e\u06cc\u0631\u06c1 \u0627\u0648\u0631 \u062e\u0648\u0644 \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u06c1 \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u0628\u062f\u0644\u0627 \u06c1\u06d2\u06d4 \u0628\u0631\u0627\u0624\u0632\u0631 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0622\u067e \u0646\u06d2 \u062c\u0648 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2 \u0648\u06c1 \u062d\u0642\u06cc\u0642\u062a \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0631\u067e\u0648\u0631\u0679\u06cc\u06ba \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0646\u06c1\u06cc\u06ba \u062f\u06a9\u06be\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0645\u06cc\u06ba \u0628\u0679\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba \u06a9\u06c1 \u0628\u0679\u0646 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u06a9\u06c1\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06cc\u0627 \u06c1\u0648\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<p>katalepsis MIT \u0644\u0627\u0626\u0633\u0646\u0633 \u06cc\u0627\u0641\u062a\u06c1 \u06c1\u06d2 \u0627\u0648\u0631 GitHub \u067e\u0631 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u0627\u06cc\u0633\u06d2 \u062f\u06a9\u06be\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0646\u0627\u0642\u0627\u0628\u0644 \u06cc\u0642\u06cc\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06c1\u0645 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0646\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u06cc\u06ba \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u0633\u06d2 \u06cc\u06c1 \u06a9\u06c1\u06c1 \u06a9\u0631 \u062a\u06be\u06a9 \u06af\u06cc\u0627 \u06c1\u0648\u06ba \u06a9\u06c1 \u0627\u0646 \u06a9\u0627 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0627\u0645 \u0627\u0633 \u0648\u0642\u062a \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06a9\u0633\u06cc \u0646\u06d2 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u06be\u0648\u0644\u0627 \u06c1\u0648\u06d4 \u0622\u067e \u0646\u06d2 \u0634\u0627\u06cc\u062f \u0631\u0648\u0679\u06cc\u0646 \u062f\u06cc\u06a9\u06be\u06cc \u06c1\u0648\u06af\u06cc\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0686\u06be \u06a9\u0648\u0688 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0641\u0627\u0631\u0645\u06cc\u0679\u0631\u0632\u060c \u0679\u0627\u0626\u067e \u0686\u06cc\u06a9\u0631\u0632 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0628 \u06a9\u0686\u06be \u0633\u0628\u0632 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-31176","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/31176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=31176"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/31176\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=31176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=31176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=31176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}