{"id":27868,"date":"2026-08-17T20:04:41","date_gmt":"2026-08-17T20:04:41","guid":{"rendered":"https:\/\/umang.pk\/2026\/08\/17\/%d8%a7%d9%be%d9%86%db%92-%da%a9%d9%88%da%88%d8%a8%db%8c%d8%b3-%d9%85%db%8c%da%ba-%d8%b3%db%8c%d8%a7%d9%82-%d9%88-%d8%b3%d8%a8%d8%a7%d9%82-%da%a9%db%8c-%d9%81%d8%a7%d8%a6%d9%84%d9%88%da%ba-%da%a9%d8%a7\/"},"modified":"2026-08-17T20:04:42","modified_gmt":"2026-08-17T20:04:42","slug":"%d8%a7%d9%be%d9%86%db%92-%da%a9%d9%88%da%88%d8%a8%db%8c%d8%b3-%d9%85%db%8c%da%ba-%d8%b3%db%8c%d8%a7%d9%82-%d9%88-%d8%b3%d8%a8%d8%a7%d9%82-%da%a9%db%8c-%d9%81%d8%a7%d8%a6%d9%84%d9%88%da%ba-%da%a9%d8%a7","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/08\/17\/%d8%a7%d9%be%d9%86%db%92-%da%a9%d9%88%da%88%d8%a8%db%8c%d8%b3-%d9%85%db%8c%da%ba-%d8%b3%db%8c%d8%a7%d9%82-%d9%88-%d8%b3%d8%a8%d8%a7%d9%82-%da%a9%db%8c-%d9%81%d8%a7%d8%a6%d9%84%d9%88%da%ba-%da%a9%d8%a7\/","title":{"rendered":"\u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688\u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 AI \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u0628\u06c1\u062a\u0631 \u0622\u0624\u0679 \u067e\u0679 \u062d\u0627\u0635\u0644 \u06a9\u0631\u06cc\u06ba\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0627\u06af\u0631 \u0622\u067e \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06d2 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 90 \u0633\u06cc\u06a9\u0646\u0688 \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a \u06a9\u0648 \u067e\u0691\u06be\u0627 \u0627\u0648\u0631 \u067e\u0627\u06cc\u0627 \u06a9\u06c1 \u0627\u0633 \u0646\u06d2 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u06c1\u06d2 \u062c\u0648 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062a\u06be\u06cc\u06d4 <code>package.json<\/code>\u067e\u0686\u06be\u0644\u06cc \u0628\u06c1\u0627\u0631 \u0645\u06cc\u06ba \u0679\u06cc\u0645 \u0646\u0648\u0688 \u0679\u06cc\u0633\u0679 \u0631\u0646\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u0686\u0644\u06cc \u06af\u0626\u06cc\u060c \u0644\u06cc\u06a9\u0646 \u06c1\u0645 \u062c\u06cc\u0633\u0679 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u0679\u06cc\u0633\u0679 \u0644\u06a9\u06be \u0631\u06c1\u06d2 \u062a\u06be\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646 \u0633\u06a9\u06d2 \u06a9\u06c1 \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u06c1\u0631 \u062f\u0648\u0633\u0631\u0627 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u0633\u06cc \u0633\u0631\u0648\u0633 \u06a9\u0648 \u0688\u06cc\u0644\u06cc\u0679 \u06a9\u0631\u06d2 \u06af\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0645 \u0646\u06d2 \u0631\u0648\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648 \u0645\u0627\u0631\u0627\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u0686\u0644\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0644\u06a9\u06be\u06d2 \u06c1\u0648\u0626\u06d2 \u0679\u06cc\u0633\u0679 \u067e\u0627\u0633 \u06c1\u0648 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0622\u067e \u06a9\u0648 \u067e\u06be\u0631 \u0628\u06be\u06cc \u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u06a9\u06be\u0646\u0627 \u067e\u0691\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0645\u0627\u0688\u0644 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u062a\u06cc\u062c\u06c1 \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0645\u06cc\u06ba \u0646\u06d2 \u0645\u0633\u0626\u0644\u06c1 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0627\u060c \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u06a9 \u0645\u0639\u0642\u0648\u0644 \u062d\u0644 \u067e\u06cc\u0634 \u06a9\u06cc\u0627\u060c \u0644\u06cc\u06a9\u0646 \u0645\u06cc\u06ba \u0648\u0627\u0642\u0639\u06cc \u0645\u0633\u0626\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u0633\u0645\u062c\u06be \u0633\u06a9\u0627 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u062c\u06be\u06d2 \u06a9\u0633\u06cc \u0646\u06d2 \u0646\u06c1\u06cc\u06ba \u0628\u062a\u0627\u06cc\u0627 \u06a9\u06c1 \u06cc\u06c1 \u0645\u062e\u0635\u0648\u0635 \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u06d2 \u0642\u0648\u0627\u0639\u062f \u0622\u067e \u06a9\u06cc \u0679\u06cc\u0645 \u06a9\u06d2 \u0633\u0631\u0648\u06ba \u0645\u06cc\u06ba \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0688 \u06a9\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u06a9\u06d2 \u062a\u0628\u0635\u0631\u0648\u06ba \u0645\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0641\u06cc\u0635\u0644\u0648\u06ba \u0645\u06cc\u06ba 18 \u0645\u06c1\u06cc\u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u0633\u06cc \u0646\u06d2 \u0646\u06c1\u06cc\u06ba \u0644\u06a9\u06be\u0627 \u062a\u06be\u0627\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0627\u0628 \u062a\u06a9 \u062a\u0631\u0628\u06cc\u062a \u06cc\u0627\u0641\u062a\u06c1 \u062a\u0645\u0627\u0645 \u0688\u0628\u0648\u06ba \u06a9\u06cc \u0627\u0648\u0633\u0637 \u067e\u0631 \u0648\u0627\u067e\u0633 \u0622\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0645\u0644\u062a\u0627 \u06c1\u06d2.<\/p>\n<p>\u062a\u0631\u0645\u06cc\u0645\u0627\u062a \u06a9\u0648 \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u062f\u0648\u0628\u0627\u0631\u06c1 \u062f\u0627\u062e\u0644 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u0632\u06cc\u062f \u06a9\u0648\u0626\u06cc \u0627\u0634\u0627\u0631\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06c1\u0631 \u0679\u06cc\u0645 \u0645\u0645\u0628\u0631 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0648\u0631\u0698\u0646 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0631\u0645\u06cc\u0645 \u0627\u06cc\u06a9 \u0630\u062e\u06cc\u0631\u06c1 \u0645\u06cc\u06ba \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0627 \u0627\u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u06c1 \u06c1\u06d2 \u062c\u0648 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0644\u0648\u0688 \u0627\u0648\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u0627\u0633\u06cc \u0637\u0631\u062d \u062c\u0633 \u0637\u0631\u062d \u0622\u067e \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0622\u067e \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06cc \u0633\u0627\u062e\u062a \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u0626\u06cc \u062c\u0627\u0626\u06d2\u060c \u0686\u0627\u0631 \u06cc\u0627 \u067e\u0627\u0646\u0686 \u0645\u062e\u062a\u0644\u0641 \u0641\u0627\u0631\u0645\u06cc\u0679\u0633 \u0645\u06cc\u06ba \u0633\u0686\u0627\u0626\u06cc \u06a9\u06d2 \u0627\u06cc\u06a9 \u0645\u0627\u062e\u0630 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2 \u062c\u0633 \u06a9\u06cc \u0645\u062e\u062a\u0644\u0641 \u0679\u0648\u0644\u0632 \u062a\u0648\u0642\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645\u060c \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u062e\u0627\u0645\u0648\u0634\u06cc \u0633\u06d2 \u067e\u0631\u0627\u0646\u06d2 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u06a9\u06cc\u0633\u06d2 \u0631\u0648\u06a9\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0628\u06c1\u0631 \u062d\u0627\u0644\u060c \u0627\u06cc\u06a9 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u062c\u0648 \u0627\u06cc\u06a9 \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u0646\u06d2 \u0686\u06be \u0645\u0627\u06c1 \u0642\u0628\u0644 \u062d\u0630\u0641 \u06a9\u06cc\u0627 \u062a\u06be\u0627\u060c \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u0633\u06d2 \u0628\u062f\u062a\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0633\u0628 \u06a9\u0686\u06be \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be\u06cc \u0630\u062e\u06cc\u0631\u06c1 (github.com\/Adeniyikayodee\/MCF) \u067e\u0631 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u06a9\u0644\u0648\u0646 \u0627\u0648\u0631 \u0686\u0644\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0648\u0626\u06cc \u0627\u0646\u062d\u0635\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0646\u0648\u0688 20 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0627\u0641\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\"><strong>\u0627\u0646\u0688\u06cc\u06a9\u0633<\/strong><\/h2>\n<h2 id=\"heading-what-you-need-before-you-start\">\u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u067e \u06a9\u0648 \u06a9\u06cc\u0627 \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/h2>\n<p>\u0622\u067e \u06a9\u0648 \u06af\u0679 \u0627\u0648\u0631 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u060c \u0622\u067e \u0646\u06d2 \u0646\u0648\u0688 20 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u0646\u06d2 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06cc\u06a9 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u062c\u06cc\u0633\u06d2 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688\u060c \u06a9\u0631\u0633\u0631\u060c \u06af\u0679 \u06c1\u0628 \u06a9\u0648\u067e\u0627\u0626\u0644\u0679\u060c \u06cc\u0627 \u06a9\u0648\u0688\u06cc\u06a9\u0633 \u06a9\u0648 \u062d\u0642\u06cc\u0642\u06cc \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0633\u0628 \u06a9\u0686\u06be \u0688\u0633\u06a9 \u067e\u0631 \u0645\u0648\u062c\u0648\u062f \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0645\u0627\u0688\u0644\u0632 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-why-the-context-window-is-the-real-constraint\">\u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u06a9\u06be\u0691\u06a9\u06cc \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u062d\u062f \u06a9\u06cc\u0648\u06ba \u06c1\u06d2\u06d4<\/h2>\n<p>\u06c1\u0631 \u0648\u06c1 \u0686\u06cc\u0632 \u062c\u0648 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0633\u06cc \u06a9\u0627\u0645 \u06a9\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u06d2 \u0648\u0642\u062a \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2 \u0627\u06cc\u06a9 \u0628\u0641\u0631 \u0645\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u06a9\u06be\u0691\u06a9\u06cc \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0628\u0641\u0631 \u0645\u06cc\u06ba \u0633\u0633\u0679\u0645 \u067e\u0631\u0627\u0645\u067e\u0679\u0633\u060c \u0688\u0627\u0626\u06cc\u0644\u0627\u06af\u060c \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u06a9\u06be\u0648\u0644\u06cc \u06af\u0626\u06cc \u062a\u0645\u0627\u0645 \u0641\u0627\u0626\u0644\u06cc\u06ba\u060c \u062c\u0627\u0631\u06cc \u06a9\u0631\u062f\u06c1 \u062a\u0645\u0627\u0645 \u06a9\u0645\u0627\u0646\u0688\u0632\u060c \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u0633\u0679\u06cc\u06a9 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u067e\u0631\u0646\u0679 \u0634\u062f\u06c1 \u0627\u0646 \u06a9\u0645\u0627\u0646\u0688\u0632 \u067e\u0631 \u0646\u0638\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u06cc\u06c1 \u062c\u0627\u0646\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0645\u062d\u062f\u0648\u062f \u06c1\u06d2 \u0627\u0648\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0644\u0648\u06af\u0648\u06ba \u06a9\u06cc \u062a\u0648\u0642\u0639 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u06be\u0631 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u06a9\u0648\u0688 \u06a9\u06cc \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc \u0688\u06cc\u0628\u06af\u0646\u06af \u0633\u06cc\u0634\u0646 \u062f\u0633\u06cc\u0648\u06ba \u06c1\u0632\u0627\u0631 \u0679\u0648\u06a9\u0646\u0632 \u06a9\u0648 \u062c\u0644\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u06a9\u0627 \u0627\u06c1\u0645 \u062d\u0635\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062c\u0628 \u0628\u0641\u0631 \u0628\u06be\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06a9\u06cc\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u0646\u062a\u06be\u0631\u0648\u067e\u06a9 \u06a9\u06cc \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0679\u06cc\u0645 \u0627\u06cc\u06a9 \u0627\u062b\u0631 \u06a9\u0648 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633\u06d2 \u0648\u06c1 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u0628\u062f\u0639\u0646\u0648\u0627\u0646\u06cc \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u06c1\u0627\u06ba \u0679\u0648\u06a9\u0646\u0632 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u0628\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u06cc \u0645\u062e\u0635\u0648\u0635 \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0645\u0627\u0688\u0644 \u06a9\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a \u0628\u06af\u0691 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0645\u0627\u0688\u0644 \u0636\u062f \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0622\u067e \u06a9\u0648 \u0646\u0638\u0631 \u0627\u0646\u062f\u0627\u0632 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0631\u06c1\u06cc \u06c1\u06d2\u060c \u0648\u06c1 \u0627\u06cc\u06a9 \u062a\u0648\u062c\u06c1 \u0648\u0627\u0644\u06d2 \u0628\u062c\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u0631 \u0631\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0648\u0627\u062f \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u067e\u062a\u0644\u0627 \u06c1\u0648\u062a\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0648\u0627\u062d\u062f \u062d\u0642\u06cc\u0642\u062a \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0644\u0648\u06af\u0648\u06ba \u06a9\u06d2 \u0648\u062c\u062f\u0627\u0646 \u06a9\u0648 \u067e\u0644\u0679 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4 \u0632\u06cc\u0627\u062f\u06c1 \u0644\u06a9\u06be\u0646\u0627 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u0645\u062d\u0633\u0648\u0633 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u06cc\u06ba \u0646\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06cc\u0633\u0632 \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0648\u0642\u0639 \u06a9\u0645 \u06c1\u06cc \u0686\u06be\u0648\u0691\u0627 \u06c1\u06d2\u06d4 \u0644\u06cc\u06a9\u0646 \u0622\u067e \u062c\u0648 \u0628\u06be\u06cc \u0633\u0637\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u0645\u062d\u062f\u0648\u062f \u062a\u0648\u062c\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u0631 \u062f\u0648\u0633\u0631\u06cc \u0633\u0637\u0631 \u06a9\u0627 \u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u06a9\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0646\u062a\u0627\u0626\u062c \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u06cc\u06c1 \u0646\u0648\u0679 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06a9\u06c1 \u067e\u06be\u0648\u0644\u06cc \u06c1\u0648\u0626\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0627\u0646\u062f\u0631 \u0645\u0648\u062c\u0648\u062f \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u0646\u0638\u0631 \u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c \u0627\u06af\u0631 \u0641\u0627\u0626\u0644 \u0628\u06c1\u062a \u0644\u0645\u0628\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0644\u06a9\u06be\u06d2 \u06af\u0626\u06d2 \u0642\u0648\u0627\u0639\u062f \u06a9\u06cc \u0628\u0627\u0631 \u0628\u0627\u0631 \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc \u06a9\u06cc \u0639\u0644\u0627\u0645\u062a \u0628\u0646 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u06d2 \u0633\u06cc\u0634\u0646 \u06a9\u0627 \u0628\u062c\u0679 \u0627\u0635\u0644 \u06a9\u0627\u0645 \u067e\u0631 \u06a9\u0633 \u0637\u0631\u062d \u062e\u0631\u0686 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">system prompt and tool definitions        ~12,000 tokens\ncontext files loaded at startup            ~4,800 tokens\nthree source files the agent opened        ~9,000 tokens\none test run with a stack trace            ~3,500 tokens\n<\/code><\/pre>\n<p>\u0627\u0633 \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f 4,800 \u0679\u0648\u06a9\u0646 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u0627\u0633\u0679\u06cc\u06a9 \u0679\u0631\u06cc\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0628\u06af \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0691\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0635\u062d\u06cc\u062d \u0631\u0627\u0633\u062a\u06d2 \u06a9\u0627 \u0646\u0627\u0645 \u062f\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06cc 600 \u0679\u0648\u06a9\u0646 \u0641\u0627\u0626\u0644 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062e\u0648\u062f \u06a9\u0648\u0688 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u06af\u06c1 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0648 \u0628\u06c1\u062a \u0627\u0686\u06be\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u0628\u062c\u0679 \u0645\u062e\u062a\u0635 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06cc\u06ba \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u0648\u06c1 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u0627 \u0645\u0633\u0626\u0644\u06c1 \u06c1\u0648\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u062a\u0645\u0627\u0645 \u062a\u0631 \u0628\u06c1\u062a\u0631\u06cc \u0627\u0633\u06d2 \u0633\u0646\u062c\u06cc\u062f\u06af\u06cc \u0633\u06d2 \u0644\u06cc\u0646\u06d2 \u0633\u06d2 \u0622\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-the-three-layers\">\u062a\u06cc\u0646 \u062a\u06c1\u0648\u06ba<\/h2>\n<p>\u06a9\u0627\u0645 \u067e\u0631 \u0688\u06be\u0627\u0646\u0686\u06c1 \u0645\u062e\u062a\u0644\u0641 \u0627\u062e\u0631\u0627\u062c\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u0648 \u062a\u06cc\u0646 \u0627\u0644\u06af \u0627\u0644\u06af \u062a\u06c1\u0648\u06ba \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0627\u0646\u062a\u0627 \u06c1\u06d2:<\/p>\n<p>\u06a9\u06c1 <strong>\u067e\u0631\u062a\u06cc\u06ba \u06c1\u0645\u06cc\u0634\u06c1 \u0628\u06be\u0631\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/strong> \u06cc\u06c1 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u06d2 \u0631\u0648\u0679 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0648\u0627\u062d\u062f \u0641\u0627\u0626\u0644 \u06c1\u06d2 \u062c\u0633\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u06a9\u06d2 \u0634\u0631\u0648\u0639 \u0645\u06cc\u06ba \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0686\u0627\u06c1\u06d2 \u0648\u06c1 \u06a9\u0627\u0645 \u0679\u0627\u0626\u067e\u0646\u06af \u06a9\u06cc \u063a\u0644\u0637\u06cc \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648 \u06cc\u0627 \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06d4 \u0622\u067e \u062c\u0628 \u0628\u06be\u06cc \u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0635\u0631\u0641 \u0648\u06c1\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u0631\u06a9\u06be\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u0630\u062e\u06cc\u0631\u06d2 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc\u0648\u06ba \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u062a\u0646\u0627 \u0686\u06be\u0648\u0679\u0627 \u0628\u06be\u06cc \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0645\u0646\u0679 \u0633\u06d2 \u0628\u06be\u06cc \u06a9\u0645 \u0648\u0642\u062a \u0645\u06cc\u06ba \u0628\u0644\u0646\u062f \u0622\u0648\u0627\u0632 \u0645\u06cc\u06ba \u067e\u0691\u06be\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <strong>\u062f\u0627\u0626\u0631\u06c1 \u06a9\u0627\u0631 \u067e\u0631\u062a<\/strong> \u06cc\u06c1 \u0646\u06cc\u0633\u0679\u0688 \u0641\u0627\u0626\u0644\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0635\u0631\u0641 \u0627\u0633 \u0648\u0642\u062a \u0644\u0648\u0688 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0628 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0633\u06cc \u0645\u062e\u0635\u0648\u0635 \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631\u06cc \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 API \u067e\u0631\u062a \u06a9\u06d2 \u0642\u0648\u0627\u0639\u062f \u06cc\u06c1 \u06c1\u06cc\u06ba: <code>src\/AGENTS.md<\/code>\u0644\u06c1\u0630\u0627\u060c \u0622\u067e\u0631\u06cc\u0634\u0646 \u062c\u0648 \u0635\u0631\u0641 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0648 \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <strong>\u0622\u0646 \u0688\u06cc\u0645\u0627\u0646\u0688 \u067e\u0631\u062a<\/strong> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0639\u0627\u0645 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0631\u0648\u0679 \u0641\u0627\u0626\u0644 \u0627\u0646 \u0644\u0627\u0626\u0646 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0631\u0627\u0633\u062a\u06d2 \u067e\u0631 \u06a9\u0686\u06be \u0679\u0648\u06a9\u0646 \u0644\u0627\u06af\u062a \u0622\u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0628\u06a9\u06c1 \u0627\u0633 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0645\u0648\u062c\u0648\u062f \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u06cc \u0644\u0627\u06af\u062a 2,000 \u06c1\u0648\u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u06cc\u062c\u0646\u0679 \u0635\u0631\u0641 \u0627\u0633 \u0628\u062c\u0679 \u06a9\u0648 \u062e\u0631\u0686 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06a9\u0627\u0645 \u06a9\u0648 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0627\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06d4<\/p>\n<p>\u06cc\u06c1 \u0646\u0626\u06d2 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0632 \u06a9\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u06a9\u06cc \u0639\u06a9\u0627\u0633\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0646\u06c1\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0646 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06cc\u0627\u062f \u0646\u06c1\u06cc\u06ba \u0631\u06c1\u062a\u06cc\u06ba\u06d4 \u0627\u0646\u06c1\u06cc\u06ba \u06cc\u0627\u062f \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u0628 \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u062a\u0648 \u0627\u0633\u06d2 \u067e\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0627\u062a\u06be\u06cc \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u06cc \u0645\u06a9\u0645\u0644 \u062a\u0631\u062a\u06cc\u0628 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">MCF\/\n\u251c\u2500\u2500 AGENTS.md                          always loaded, budgeted\n\u251c\u2500\u2500 CLAUDE.md                          generated from AGENTS.md\n\u251c\u2500\u2500 .github\/copilot-instructions.md    generated from AGENTS.md\n\u251c\u2500\u2500 .cursor\/rules\/testing.mdc          glob scoped, hand written\n\u251c\u2500\u2500 .claude\/\n\u2502   \u251c\u2500\u2500 settings.json                  hook that runs the context linter\n\u2502   \u2514\u2500\u2500 skills\/add-endpoint\/SKILL.md   workflow, loaded on demand\n\u251c\u2500\u2500 docs\/\n\u2502   \u251c\u2500\u2500 architecture.md\n\u2502   \u251c\u2500\u2500 testing.md\n\u2502   \u2514\u2500\u2500 decisions\/0001-in-memory-store.md\n\u251c\u2500\u2500 scripts\/\n\u2502   \u251c\u2500\u2500 context-lint.mjs\n\u2502   \u2514\u2500\u2500 sync-context.mjs\n\u251c\u2500\u2500 src\/\n\u2502   \u251c\u2500\u2500 AGENTS.md                      scoped to the source tree\n\u2502   \u251c\u2500\u2500 api\/tasks.js\n\u2502   \u251c\u2500\u2500 services\/tasks.js\n\u2502   \u251c\u2500\u2500 lib\/validate.js\n\u2502   \u251c\u2500\u2500 router.js\n\u2502   \u2514\u2500\u2500 server.js\n\u2514\u2500\u2500 tests\/\n<\/code><\/pre>\n<h2 id=\"heading-picking-a-format-without-maintaining-four-copies\">4 \u06a9\u0627\u067e\u06cc\u0627\u06ba \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u06d2 \u0628\u063a\u06cc\u0631 \u0641\u0627\u0631\u0645\u06cc\u0679 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u06c1\u0631 \u0648\u06cc\u0646\u0688\u0631 \u0646\u06d2 \u0627\u0633\u06cc \u062e\u06cc\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0641\u0627\u0626\u0644 \u06a9\u0627 \u0646\u0627\u0645 \u0645\u0646\u062a\u062e\u0628 \u06a9\u06cc\u0627\u06d4 \u06cc\u06c1 \u0645\u0627\u06cc\u0648\u0633 \u06a9\u0646 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u06cc\u06c1 \u0637\u06d2 \u06a9\u0631 \u0644\u06cc\u06ba \u06a9\u06c1 \u0633\u0686\u0627\u0626\u06cc \u06a9\u0627 \u0645\u0627\u062e\u0630 \u06a9\u0648\u0646 \u0633\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>AGENTS.md<\/code>    \u06cc\u06c1 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u062a\u0631\u06cc\u0646 \u0686\u06cc\u0632 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0633\u0627\u062f\u06c1 \u0645\u0627\u0631\u06a9 \u0688\u0627\u0624\u0646 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0633\u06a9\u06cc\u0645\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0627\u0633 \u06a9\u06cc \u062d\u06a9\u0645\u0631\u0627\u0646\u06cc \u06a9\u0627 \u062a\u0639\u0644\u0642 \u0644\u06cc\u0646\u06a9\u0633 \u0641\u0627\u0624\u0646\u0688\u06cc\u0634\u0646 \u06a9\u06d2 \u0627\u06cc\u062c\u0646\u0679\u06cc AI \u0641\u0627\u0624\u0646\u0688\u06cc\u0634\u0646 \u0633\u06d2 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 Claude Code\u060c Codex\u060c Cursor\u060c Copilot\u060c Gemini CLI\u060c Aider\u060c Windsurf\u060c Zed \u0627\u0648\u0631 \u062f\u06cc\u06af\u0631 \u06a9\u06cc \u0627\u06cc\u06a9 \u0637\u0648\u06cc\u0644 \u0641\u06c1\u0631\u0633\u062a \u0633\u06d2 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u06cc\u0633\u0679\u0688 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0642\u06cc\u0627\u0633 \u06a9\u0627 \u062d\u0635\u06c1 \u06c1\u06cc\u06ba\u060c \u0622\u067e \u062c\u0633 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u062a\u0631\u06cc\u0646 \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0641\u0648\u0642\u06cc\u062a \u062d\u0627\u0635\u0644 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062c\u0648 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0622\u067e \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0686\u06cc\u0679 \u0645\u06cc\u06ba \u0679\u0627\u0626\u067e \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u06c1\u0631 \u0686\u06cc\u0632 \u067e\u0631 \u0641\u0648\u0642\u06cc\u062a \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0679\u0648\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062e\u0635\u0648\u0635 \u0641\u0627\u0631\u0645\u06cc\u0679\u0633 \u0627\u0628 \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u06d4 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u067e\u0691\u06be\u0646\u0627 <code>CLAUDE.md<\/code>\u06cc\u06c1 \u062a\u0645\u0627\u0645 \u067e\u0627\u0626\u06cc \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0627\u0634\u06cc\u0627\u0621 \u06a9\u0648 \u062c\u0648\u0691\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631\u06cc \u0679\u0631\u06cc \u06a9\u0648 \u0639\u0628\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>@path\/to\/file<\/code> \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u0633\u0631 \u06a9\u0627 \u0645\u0642\u0635\u062f <code>.mdc<\/code> \u0627\u0646\u062f\u0631 \u0641\u0627\u0626\u0644 <code>.cursor\/rules\/<\/code> YAML \u06c1\u06cc\u0688\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u06af\u0644\u0648\u0628 \u062a\u06a9 \u0627\u0635\u0648\u0644 \u06a9\u0648 \u062f\u0627\u0626\u0631\u06c1 \u06a9\u0627\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba: <code>tests\/**\/*.js<\/code>\u06cc\u06c1 \u0641\u0627\u0631\u0645\u06cc\u0679\u0633 \u06a9\u0627 \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0627\u062b\u0631\u0627\u062a\u06cc \u0627\u0648\u0631 \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u067e\u0648\u0631\u0679\u06cc\u0628\u0644 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0633\u06d2 \u06a9\u0631\u0633\u0631 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u067e\u0691\u06be\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 GitHub Copilot \u0645\u0648\u0627\u062f \u06a9\u0627 \u0627\u06cc\u06a9 \u062d\u0635\u06c1 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 <code>.github\/copilot-instructions.md<\/code> \u0645\u062e\u0632\u0646 \u06a9\u06cc \u062c\u0691 \u0633\u06d2\u06d4<\/p>\n<p>\u0639\u0645\u0644\u06cc \u062c\u0648\u0627\u0628 \u0644\u06a9\u06be\u0646\u0627 \u06c1\u06d2\u06d4 <code>AGENTS.md<\/code> \u067e\u06c1\u0644\u06d2 \u0628\u0627\u0642\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0635\u0631\u0641 \u0627\u0644\u06af \u0641\u0627\u0626\u0644\u06cc\u06ba \u062e\u0648\u062f \u0644\u06a9\u06be\u06cc\u06ba \u0627\u06af\u0631 \u0679\u0648\u0644 \u06a9\u0686\u06be \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0627\u0638\u06c1\u0627\u0631 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4 \u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u0631\u0633\u0631 \u06a9\u06cc \u06af\u0644\u0648\u0628 \u0627\u0633\u06a9\u0648\u067e\u0646\u06af \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u0646\u0627\u06d4 \u0639\u0644\u0627\u0645\u062a\u06cc \u0631\u0648\u0627\u0628\u0637 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u06cc\u0627 \u062c\u0627\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\">ln -s AGENTS.md CLAUDE.md\n<\/code><\/pre>\n<p>Symlinks \u0648\u0646\u0688\u0648\u0632 \u0627\u0648\u0631 \u06a9\u0686\u06be CI \u0686\u06cc\u06a9 \u0622\u0624\u0679 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u067e\u0631 \u062a\u0639\u0627\u0648\u0646 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0627 \u0628\u0627\u0639\u062b \u0628\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0633\u0628 \u0633\u06d2 \u0645\u062e\u062a\u0635\u0631 \u0631\u0627\u0633\u062a\u06c1 \u06c1\u06d2\u060c \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0633\u0627\u062a\u06be\u06cc \u0630\u062e\u06cc\u0631\u06c1 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06a9\u0631\u067e\u0679 \u062a\u062e\u0644\u06cc\u0642 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u06c1\u0631 \u0641\u0627\u0626\u0644 \u067e\u0631 \u0627\u06cc\u06a9 \u0628\u06cc\u0646\u0631 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0646\u06cc\u06a9 \u0646\u06cc\u062a \u0679\u06cc\u0645 \u06a9\u06d2 \u0627\u0631\u0627\u06a9\u06cc\u0646 \u06a9\u0648 \u06a9\u0627\u067e\u06cc \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0627\u06af\u0644\u06cc \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631\u06cc \u067e\u0631 \u0627\u067e\u0646\u0627 \u06a9\u0627\u0645 \u06a9\u06be\u0648\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-js\">\/\/ scripts\/sync-context.mjs\nconst banner = `<!-- Generated from ${SOURCE} by `npm run sync:context`. Edit ${SOURCE} instead. -->`;\n\nexport const targets = [\n  \/\/ Claude Code resolves @path imports, so its file stays a pointer plus what is specific to it.\n  { path: 'CLAUDE.md', render: () => `${banner}nn@${SOURCE}nn${CLAUDE_EXTRAS}` },\n  \/\/ Copilot has no import syntax, so the source is inlined.\n  { path: '.github\/copilot-instructions.md', render: (source) => `${banner}nn${source}` },\n];\n<\/code><\/pre>\n<p>\u0686\u0648\u0646\u06a9\u06c1 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u062f\u0631\u0622\u0645\u062f \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0641\u0627\u0626\u0644 \u067e\u0648\u0627\u0626\u0646\u0679\u0631\u0632 \u0627\u0648\u0631 \u0686\u0646\u062f \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u0635\u0631\u0641 \u0627\u0633 \u0679\u0648\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u06c1 \u067e\u0648\u0631\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0646\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 130 \u0679\u0648\u06a9\u0646\u0632 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-markdown\"><!-- Generated from AGENTS.md by `npm run sync:context`. Edit AGENTS.md instead. -->\n\n@AGENTS.md\n\n## Claude Code specific\n\n- Use plan mode for any change that touches more than three files, and skip it for a one line fix.\n- Delegate codebase exploration to a subagent so the findings come back summarised rather than as\n  a hundred file reads in the main context.\n<\/code><\/pre>\n<p>\u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0648 \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u062f\u0648\u0646\u0648\u06ba \u0641\u0627\u0626\u0644\u06cc\u06ba \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0646\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627\u06d4 \u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06c1\u06a9 \u06cc\u0627 \u06a9\u0633\u06cc \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u0633\u06d2 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u0627 CI \u0679\u0627\u0633\u06a9 \u0628\u0627\u0631 \u0628\u0627\u0631 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-writing-the-root-file\">\u0631\u0648\u0679 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u06cc\u06c1 \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0642\u062f\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u06c1\u0627\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0644\u0648\u06af \u063a\u0644\u0637 \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062c\u0628\u0644\u062a \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06c1\u0631 \u0627\u0633 \u0644\u0627\u0626\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u062a\u0631\u0645\u06cc\u0645\u06cc \u0679\u06cc\u0633\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0622\u067e \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <strong>\u0627\u06af\u0631 \u0645\u06cc\u06ba \u0627\u0633 \u0644\u0627\u0626\u0646 \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u06a9\u06cc\u0627 \u0627\u06cc\u062c\u0646\u0679 \u063a\u0644\u0637\u06cc \u06a9\u0631\u06d2 \u06af\u0627\u061f<\/strong> \u0627\u06af\u0631 \u062c\u0648\u0627\u0628 \u0646\u0641\u06cc \u0645\u06cc\u06ba \u06c1\u06d2 \u062a\u0648 \u0627\u0633 \u0644\u0627\u0626\u0646 \u06a9\u0648 \u06a9\u0627\u0679 \u062f\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0622\u067e \u06a9\u06cc \u0631\u06cc\u0627\u0633\u062a \u06a9\u0627 \u0628\u062c\u0679 \u0628\u0631\u0628\u0627\u062f \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u062e\u0631\u06cc\u062f \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0627\u06cc\u0645\u0627\u0646\u062f\u0627\u0631\u06cc \u0633\u06d2 \u0644\u0627\u06af\u0648 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0679\u06cc\u0633\u0679 \u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0644\u0648\u06af\u0648\u06ba \u06a9\u06cc \u0688\u0627\u0644\u06cc \u06c1\u0648\u0626\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0686\u06cc\u0632\u0648\u06ba \u06a9\u0648 \u06c1\u0679\u0627 \u062f\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06cc \u062c\u0646 \u0627\u0642\u0633\u0627\u0645 \u06a9\u0648 \u0679\u06cc\u0633\u0679 \u067e\u06a9\u0691\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0648\u06c1 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-markdown\"># AGENTS.md\n\n## About this project\nThis project is a REST API for managing tasks. It was originally built in 2023 by the platform\nteam and has since been maintained by the core services group. The codebase is written in modern\nJavaScript using ES modules.\n\n## Code style\n- Use meaningful variable names\n- Write clean, maintainable code\n- Follow the DRY principle\n- Use const instead of var\n- Add comments where the code is complex\n\n## Structure\n- `src\/server.js` contains the server\n- `src\/router.js` contains the router\n- `src\/api\/tasks.js` contains the task handlers\n- `src\/services\/tasks.js` contains the task service\n<\/code><\/pre>\n<p>\u0648\u06c1\u0627\u06ba \u06a9\u06cc \u06c1\u0631 \u0633\u0637\u0631 \u0627\u0645\u062a\u062d\u0627\u0646 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba \u0645\u0627\u0688\u0644 \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062c\u0627\u0646\u062a\u0627 \u06c1\u0648\u06ba\u06d4 <code>const<\/code> \u0622\u067e \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u06c1\u06cc\u06ba: <code>router.js<\/code> \u0631\u0627\u0624\u0679\u0631\u0632 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u062c\u0627\u0646 \u06a9\u0631 \u06a9\u06c1 2023 \u0645\u06cc\u06ba \u06a9\u0648\u0646 \u0633\u06cc \u0679\u06cc\u0645 \u06a9\u0648\u0688 \u06a9\u06cc \u0645\u0627\u0644\u06a9 \u06c1\u06d2\u060c \u0648\u06c1 \u0627\u06cc\u06a9 \u0628\u06be\u06cc \u0641\u06cc\u0635\u0644\u06c1 \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0631\u06cc\u06ba \u0627\u062b\u0646\u0627\u060c \u0627\u06cc\u06a9 \u0686\u06cc\u0632 \u062c\u0633\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u0648\u0627\u0642\u0639\u06cc \u062e\u0648\u062f \u062d\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u0648\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u06a9\u0648\u0626\u06cc \u0627\u0646\u062d\u0635\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 &#8211; \u0648\u06c1 \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u06a9\u06c1\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0633\u0627\u062a\u06be\u06cc \u0630\u062e\u06cc\u0631\u06c1 \u0645\u06cc\u06ba \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0648\u0631\u0698\u0646 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-markdown\"># AGENTS.md\n\nTask API used as the worked example for a tutorial on managing context files. This file is the\nsingle source of truth for agent instructions, and `CLAUDE.md` plus\n`.github\/copilot-instructions.md` are generated from it by `npm run sync:context`, so edit this\nfile and never the generated ones.\n\n## Commands\n\n- Install: nothing to install, the project has zero dependencies\n- Run the tests: `npm test`\n- Start the server on port 3000: `npm start`\n- Check the context files: `npm run lint:context`\n- Regenerate the tool specific context files: `npm run sync:context`\n\n## Conventions that are not obvious from the code\n\n- The test runner is the Node built in runner invoked through `node --test`, so do not add Jest,\n  Vitest, or any other test dependency to this repository.\n- This project stays dependency-free on purpose, so solve problems with the Node standard library\n  rather than by adding a package.\n- Handlers in `src\/api\/` return `{ data }` or `{ error: { code, message } }` and never choose an\n  HTTP status, because `src\/router.js` owns the mapping from error code to status.\n- Handlers never touch the store directly, so any logic that reads or writes tasks belongs in\n  `src\/services\/tasks.js`.\n- The store is module level state that survives between test cases, so any test file that creates\n  a task has to call `resetTasks()` in a `beforeEach` hook.\n\n## Definition of done\n\nRun `npm test` and `npm run lint:context` before you report a task as finished, and paste the\noutput rather than asserting that it passed.\n\n## Where to look\n\n- Architecture and request flow: `docs\/architecture.md`\n- Testing conventions and how to add a case: `docs\/testing.md`\n- Why the store is in memory: `docs\/decisions\/0001-in-memory-store.md`\n- Rules that apply only to the API layer: `src\/AGENTS.md`\n<\/code><\/pre>\n<p>\u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06c1\u0631 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0645\u0627\u0646\u0688 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u06d2 \u0646\u0627\u0645 \u06a9\u0627 \u0628\u06be\u0631\u0648\u0633\u06c1 \u0627\u0646\u062f\u0627\u0632 \u0645\u06cc\u06ba \u0627\u0646\u062f\u0627\u0632\u06c1 \u0646\u06c1\u06cc\u06ba \u0644\u06af\u0627 \u0633\u06a9\u062a\u0627\u060c \u0627\u0648\u0631 \u0628\u0631\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0639\u0645\u0644 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u06d2 \u06af\u0627\u06d4 \u0642\u0627\u0639\u062f\u06c1 \u0648\u06c1 \u0686\u06cc\u0632 \u06c1\u06d2 \u062c\u0648 \u06a9\u0648\u0688 \u06a9\u0648 \u067e\u0691\u06be\u062a\u06d2 \u0648\u0642\u062a \u06cc\u0627 \u062a\u0648 \u067e\u0648\u0634\u06cc\u062f\u06c1 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u06cc\u0627 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0645\u0627\u0646\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0635\u0648\u0644\u0648\u06ba \u0633\u06d2 \u0645\u062a\u0635\u0627\u062f\u0645 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06c1\u0631 \u0631\u06cc\u0627\u0633\u062a \u06a9\u0648 \u0627\u06cc\u06a9 \u0648\u062c\u06c1 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u0627\u06cc\u0633\u06d2 \u062d\u0627\u0644\u0627\u062a \u0645\u06cc\u06ba \u0628\u06be\u06cc \u0632\u0646\u062f\u06c1 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u06cc \u0642\u0627\u0639\u062f\u06c1 \u06a9\u06d2 \u0645\u0635\u0646\u0641 \u06a9\u0648 \u062a\u0648\u0642\u0639 \u0646\u06c1\u06cc\u06ba \u062a\u06be\u06cc\u06d4 \u0622\u062e\u0631\u06cc \u0633\u06cc\u06a9\u0634\u0646 \u0635\u0631\u0641 \u0631\u0627\u0633\u062a\u06c1 \u06c1\u06d2\u060c \u0622\u0646 \u0688\u06cc\u0645\u0627\u0646\u0688 \u067e\u0631\u062a \u062c\u0648 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u06af\u06c1 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u062e\u062a \u06c1\u062f\u0627\u06cc\u0627\u062a:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0634\u0627\u0645\u0644<\/th>\n<th>\u0628\u0627\u06c1\u0631 \u062c\u0627\u0624<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u0627\u06cc\u0633\u06d2 \u0627\u062d\u06a9\u0627\u0645\u0627\u062a \u062c\u0646 \u06a9\u0627 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0646\u06c1\u06cc\u06ba \u0644\u06af\u0627 \u0633\u06a9\u062a\u0627<\/td>\n<td>\u062c\u0628 \u0622\u067e \u06a9\u0648\u0688 \u067e\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0633\u0628 \u06a9\u0686\u06be \u0622\u067e \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<tr>\n<td>\u0642\u0648\u0627\u0639\u062f \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0688\u06cc\u0641\u0627\u0644\u0679\u0633 \u0633\u06d2 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06cc\u06ba\u06d4<\/td>\n<td>\u0645\u0639\u06cc\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u062c\u0648 \u0645\u0627\u0688\u0644 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2\u06d4<\/td>\n<\/tr>\n<tr>\n<td>\u0679\u06cc\u0633\u0679 \u0631\u0646\u0631 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1<\/td>\n<td>\u062a\u0641\u0635\u06cc\u0644\u06cc API \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a\u060c \u062c\u0648 \u0627\u06cc\u06a9 \u0644\u0646\u06a9 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/td>\n<\/tr>\n<tr>\n<td>\u0628\u0631\u0627\u0646\u0686 \u06a9\u0627 \u0646\u0627\u0645 \u0627\u0648\u0631 \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0622\u062f\u0627\u0628<\/td>\n<td>\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u062c\u0648 \u06c1\u0631 \u0633\u067e\u0631\u0646\u0679 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/td>\n<\/tr>\n<tr>\n<td>\u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u0641\u06cc\u0635\u0644\u06d2<\/td>\n<td>\u0644\u0645\u0628\u06cc \u0648\u0636\u0627\u062d\u062a\u06cc\u06ba \u0627\u0648\u0631 \u0633\u0628\u0642<\/td>\n<\/tr>\n<tr>\n<td>\u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0627\u0648\u0631 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a<\/td>\n<td>\u062f\u0631\u062e\u062a \u0645\u06cc\u06ba \u0641\u0627\u0626\u0644 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0641\u0627\u0626\u0644\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<tr>\n<td>\u063a\u06cc\u0631 \u0648\u0627\u0636\u062d \u0645\u0633\u0626\u0644\u06c1<\/td>\n<td>\u0645\u0634\u0648\u0631\u06c1 \u062c\u06cc\u0633\u06d2 &quot;\u06a9\u0644\u06cc\u0646 \u06a9\u0648\u0688 \u0644\u06a9\u06be\u06cc\u06ba&#8221;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"heading-getting-the-altitude-right\">\u062f\u0631\u0633\u062a \u0627\u0648\u0646\u0686\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u0627<\/h3>\n<p>\u063a\u0644\u0637 \u0642\u0648\u0627\u0639\u062f \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u0627 \u062f\u0648\u0633\u0631\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0646 \u06a9\u06cc \u063a\u0644\u0637 \u0633\u0637\u062d \u067e\u0631 \u0648\u0636\u0627\u062d\u062a \u06a9\u06cc \u062c\u0627\u0626\u06d2\u06d4 \u0627\u06cc\u0646\u062a\u06be\u0631\u0648\u067e\u06a9 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u0627\u0633 \u06a9\u0648 \u0635\u062d\u06cc\u062d \u0627\u0648\u0646\u0686\u0627\u0626\u06cc \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0633\u062e\u062a \u06a9\u0648\u0688\u0688 \u0645\u0646\u0637\u0642 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0628\u06cc\u0679\u06be \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u067e\u06c1\u0644\u06d2 \u063a\u06cc\u0631 \u0645\u062a\u0648\u0642\u0639 \u0645\u0639\u0627\u0645\u0644\u06d2 \u0645\u06cc\u06ba \u0627\u0644\u06af \u06c1\u0648\u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0628\u06c1\u0645 \u062d\u0648\u0635\u0644\u06c1 \u0627\u0641\u0632\u0627\u0626\u06cc \u062c\u0648 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-markdown\">Too rigid, and it breaks on the first handler that does not fit:\n- Every route handler must be exactly 40 lines and call validate() on line 3.\n\nToo vague, and it changes nothing about what the agent does:\n- Write clean, maintainable code.\n\nRight altitude:\n- Route handlers parse and validate input, then delegate to a function in `src\/services\/`.\n  Handlers do not touch the store directly. See `src\/api\/tasks.js` for the pattern to copy.\n<\/code><\/pre>\n<p>\u062a\u06cc\u0633\u0631\u0627 \u0648\u0631\u0698\u0646 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0642\u0627\u0639\u062f\u06c1 \u06a9\u06cc\u0633\u0627 \u0646\u0638\u0631 \u0622\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0633\u06d2 \u06a9\u0646 \u062d\u062f\u0648\u062f \u06a9\u0648 \u0639\u0628\u0648\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0648\u0631 \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06cc \u0645\u062b\u0627\u0644\u06cc\u06ba \u06a9\u06c1\u0627\u06ba \u062a\u0644\u0627\u0634 \u06a9\u06cc \u062c\u0627\u0626\u06cc\u06ba\u06d4 \u06cc\u06c1 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u0633\u06cc \u0628\u0627\u0635\u0644\u0627\u062d\u06cc\u062a \u0646\u0626\u06d2 \u0645\u0644\u0627\u0632\u0645 \u06a9\u0648 \u0627\u0646 \u06a9\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0646 \u06a9\u06c1\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h2 id=\"heading-scoping-rules-to-a-directory\">\u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u06a9\u0648\u067e\u0646\u06af \u06a9\u06d2 \u0627\u0635\u0648\u0644<\/h2>\n<p>\u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u062c\u0648 \u062f\u0631\u062e\u062a \u06a9\u06d2 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u062d\u0635\u06d2 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u06c1\u0645 \u06c1\u06d2 \u0648\u06c1 \u0646\u06cc\u0633\u0679\u0688 \u0641\u0627\u0626\u0644 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u062c\u0627\u0646\u0686\u0646\u0627 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u0642\u0627\u0639\u062f\u06c1 \u0645\u0646\u0627\u0633\u0628 \u06c1\u06d2 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0627 \u062f\u0648\u0633\u0631\u06cc \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0631\u06cc\u0648\u06ba \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0648 \u06cc\u06c1 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u061f \u0627\u06af\u0631 \u0646\u06c1\u06cc\u06ba \u062a\u0648 \u0646\u06cc\u0686\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u0628\u0691\u06be\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-markdown\"><!-- src\/AGENTS.md -->\n# Source layer\n\nRules below apply to everything under `src\/`, and they sit on top of the root `AGENTS.md` rather\nthan replacing it.\n\n## Adding an endpoint\n\n1. Add the handler to `src\/api\/tasks.js` following the shape the neighbouring handlers use.\n2. Add one entry to the `routes` array in `src\/router.js` with its success status.\n3. Add a case to `tests\/api.test.js` that covers the success path and the failure path.\n\n## Validation\n\nValidators live in `src\/lib\/validate.js`, they return an array of problem strings rather than\nthrowing, and they report every failing field instead of stopping at the first one, so a caller can\nshow the user all of their mistakes at once.\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0627 \u0627\u0635\u0648\u0644 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u06cc \u0645\u062b\u0627\u0644 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0633\u06d2 \u0635\u0631\u0641 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u067e\u0691\u06be\u0646\u0627 <code>src\/lib\/validate.js<\/code> \u06a9\u0633\u06cc \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u062f\u06cc\u06a9\u06be \u06a9\u0631 \u0628\u062a\u0627\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0648 \u0627\u06cc\u06a9 \u0635\u0641 \u06a9\u0648 \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06cc\u06c1 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0627\u0635\u0648\u0644 \u06c1\u06d2 \u06cc\u0627 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0646\u0641\u0627\u0630 \u06a9\u0627 \u0627\u06cc\u06a9 \u0641\u0644\u0648\u06a9\u060c \u0644\u06c1\u0630\u0627 \u0627\u06af\u0644\u0627 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0646\u0646\u062f\u06c1 \u062c\u0648 \u0622\u067e \u0644\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u0645\u0639\u0642\u0648\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u0627\u0633\u062a\u062b\u0646\u0627 \u062f\u06d2 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-js\">\/\/ src\/lib\/validate.js\nexport function validateTaskInput(input) {\n  if (typeof input !== 'object' || input === null || Array.isArray(input)) {\n    return ['body must be a JSON object'];\n  }\n\n  const problems = [];\n\n  if (typeof input.title !== 'string' || input.title.trim() === '') {\n    problems.push('title is required and must be a non-empty string');\n  } else if (input.title.length > TITLE_MAX) {\n    problems.push(`title must be ${TITLE_MAX} characters or fewer`);\n  }\n\n  if (input.done !== undefined && typeof input.done !== 'boolean') {\n    problems.push('done must be a boolean when present');\n  }\n\n  return problems;\n}\n<\/code><\/pre>\n<h2 id=\"heading-pointing-instead-of-inlining\">\u0627\u0646 \u0644\u0627\u0626\u0646\u0646\u06af \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u0646\u0627<\/h2>\n<p>\u06a9\u06c1 <code>Where to look<\/code> \u0631\u0648\u0679 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u0634\u0646 \u0627\u0633 \u067e\u0648\u0631\u06d2 \u0633\u06cc\u0679 \u0627\u067e \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0633\u0633\u062a\u06cc \u0686\u06cc\u0632 \u06c1\u06d2\u06d4 \u0686\u0627\u0631 \u0633\u0637\u0631\u06cc \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u0642\u06cc\u0645\u062a \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06c1\u0632\u0627\u0631\u0648\u06ba \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0646\u0648\u0679\u060c \u0679\u06cc\u0633\u0679 \u06a9\u06d2 \u0627\u0635\u0648\u0644\u060c \u0627\u0648\u0631 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u06d2 \u0679\u0648\u06a9\u0646 \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0627\u06cc\u062c\u0646\u0679 \u0635\u0631\u0641 \u0627\u0633 \u0648\u0642\u062a \u06a9\u06be\u06cc\u0646\u0686\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0627\u0633 \u06a9\u06d2 \u06a9\u0627\u0645 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06d4<\/p>\n<p>\u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0627\u0646 \u0627\u0646\u0641\u0631\u0646\u0633\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0642\u062f\u0631\u062a\u06cc \u06af\u06be\u0631 \u06c1\u06cc\u06ba \u062c\u0648 \u0631\u0648\u0679 \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u06be\u0648\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0633\u0627\u062a\u06be\u06cc \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0630\u062e\u06cc\u0631\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0648\u0631\u06a9\u0646\u06af \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0627\u06cc\u06a9 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u06cc\u0648\u06ba \u06c1\u06d2\u06d4 <code>Map<\/code> \u0633\u0628 \u0633\u06d2 \u0645\u0641\u06cc\u062f \u067e\u06cc\u0631\u0627\u06af\u0631\u0627\u0641\u060c \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0646\u06c1\u06cc\u06ba\u060c \u0622\u062e\u0631\u06cc \u06c1\u06d2.<\/p>\n<pre><code class=\"language-markdown\">An agent working here should not add a database, an ORM, or a persistence layer unless the task\nexplicitly asks for one, and should treat the missing persistence as a deliberate choice rather than\na gap to fill.\n<\/code><\/pre>\n<p>\u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u0622\u067e \u0646\u06d2 \u062c\u0633 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 &quot;API \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0631\u06cc\u0688\u06cc&#8221; \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u0627 \u06c1\u06d2 \u0648\u06c1 \u067e\u0648\u0633\u0679\u06af\u0631\u06cc\u0633 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u067e \u06a9\u06cc \u0645\u062f\u062f \u06a9\u0631\u06d2 \u06af\u0627\u06d4 \u0627\u0633 \u0633\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u063a\u06cc\u0631 \u0645\u0648\u062c\u0648\u062f\u06af\u06cc \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u062f\u0646 \u062a\u06a9 \u0622\u067e \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u0642\u06cc\u0645\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u06cc\u06c1 \u062c\u0645\u0644\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u062f\u0648\u067e\u06c1\u0631 \u06a9\u0648 \u0628\u0686\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u06cc \u0645\u0646\u0637\u0642 \u06a9\u0628\u06be\u06cc \u06a9\u0628\u06be\u0627\u0631 \u0648\u0631\u06a9 \u0641\u0644\u0648 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u0639\u0645\u0644 \u0648\u0627\u0642\u0639\u06cc \u0645\u0641\u06cc\u062f \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u06c1\u06d2 \u062c\u0648 \u0627\u0633 \u0648\u0642\u062a \u0644\u0648\u0688 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0648\u0627\u0642\u0639\u06cc \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u06c1\u0631 \u06a9\u0627\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a \u0627\u06c1\u0645 \u0641\u0627\u0626\u0644 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-markdown\">---\nname: add-endpoint\ndescription: Add a new endpoint to the task API following the layering this repository uses\n---\n\n# Add an endpoint\n\nThis workflow loads only when someone asks for a new endpoint, which is why it lives here instead\nof in `AGENTS.md` where every session would pay for it.\n\nRead `docs\/architecture.md` first if you have not already, then work through these steps in order.\n\n1. Decide which layer owns the new behaviour. Anything that reads or writes tasks belongs in\n   `src\/services\/tasks.js`, and anything about request shape belongs in `src\/api\/tasks.js`.\n2. Add or extend a validator in `src\/lib\/validate.js` if the endpoint accepts input, returning an\n   array of problem strings so the handler can report every failure at once.\n3. Add the handler to `src\/api\/tasks.js`, returning `{ data }` on success and\n   `{ error: { code, message } }` on failure, and using an existing error code where one fits.\n4. Register the route in the `routes` array in `src\/router.js` with the success status it should\n   return, and add the error code to `STATUS_BY_ERROR_CODE` if you introduced a new one.\n5. Add at least one success case and one failure case to `tests\/api.test.js`.\n6. Run `npm test` and `npm run lint:context`, then paste both outputs into your summary.\n\nDo not add a dependency, do not introduce a persistence layer, and do not set a status code inside\na handler.\n<\/code><\/pre>\n<h2 id=\"heading-making-context-files-verifiable\">\u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0642\u0627\u0628\u0644 \u062a\u0635\u062f\u06cc\u0642 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u0627\u0628 \u062a\u06a9 \u06a9\u06cc \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0627\u0641\u06cc \u0645\u0639\u06cc\u0627\u0631\u06cc \u0645\u0634\u0648\u0631\u06c1 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 \u0622\u067e \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0635\u0631 \u0634\u06cc\u0644\u0641 \u0644\u0627\u0626\u0641 \u06c1\u06d2\u06d4 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u0627\u0633\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u062e\u0631\u0627\u0628 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06c1 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u062e\u0631\u0627\u0628 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u062f\u0648\u0633\u0631\u06d2 \u0627\u0644\u0641\u0627\u0638 \u0645\u06cc\u06ba\u060c \u0627\u06af\u0631 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u063a\u0644\u0637 \u06c1\u06d2 \u062a\u0648 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u0679\u0648\u0679\u0627 \u06c1\u06d2\u06d4 \u0627\u067e\u0646\u0627 \u0646\u0627\u0645 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba <code>src\/services\/task.js<\/code> \u06a9\u0648 <code>src\/services\/tasks.js<\/code>\u0627\u0648\u0631 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0633 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u06cc \u0631\u06c1\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u0627\u0628 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0622\u067e \u062d\u0630\u0641 \u06a9\u0631\u06cc\u06ba <code>typecheck<\/code> \u0633\u06a9\u0631\u067e\u0679 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0686\u06be \u0645\u0627\u06c1 \u0628\u0639\u062f\u060c \u0627\u06cc\u062c\u0646\u0679 \u0646\u06d2 \u0627\u0633\u06d2 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u0645\u06cc\u06ba \u062f\u0648 \u0628\u0627\u0631\u06cc\u0627\u06ba \u06af\u0632\u0627\u0631\u06cc\u06ba\u06d4 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0645\u0639\u0627\u0626\u0646\u06c1 \u0646\u06c1 \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0627\u0633 \u06a9\u0627 \u0646\u0648\u0679\u0633 \u0646\u06c1\u06cc\u06ba \u0644\u06cc\u062a\u0627\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627 \u0627\u067e\u0646\u06cc \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u062f\u06cc\u06ba\u06d4 \u0633\u0627\u062a\u06be\u06cc \u0630\u062e\u06cc\u0631\u06c1 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0645\u0642\u0627\u0645 \u067e\u0631 \u0627\u06cc\u06a9 \u0644\u0646\u0679\u0631 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2: <code>scripts\/context-lint.mjs<\/code> \u06cc\u06c1 4 \u0686\u06cc\u06a9 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0633\u06d2 \u067e\u0627\u06a9 JavaScript \u06a9\u06cc \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 150 \u0644\u0627\u0626\u0646\u06cc\u06ba \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0622\u067e \u0627\u06cc\u06a9 \u062f\u0648\u067e\u06c1\u0631 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u0630\u062e\u06cc\u0631\u06d2 \u0645\u06cc\u06ba \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u0627 \u0686\u06cc\u06a9 \u0634\u0631\u0648\u0639 \u0645\u06cc\u06ba \u0644\u0648\u0688 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062a\u0645\u0627\u0645 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u0648\u06a9\u0646 \u0628\u062c\u0679 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-javascript\">\/\/ Loaded at the start of every session whether the task needs them or not. When one of these keeps\n\/\/ pushing against its ceiling, move the detail into docs\/ and leave a path behind.\nconst ALWAYS_LOADED = [\n  { path: 'AGENTS.md', budget: 800 },\n  { path: 'CLAUDE.md', budget: 300 },\n  { path: '.github\/copilot-instructions.md', budget: 900 },\n  { path: 'src\/AGENTS.md', budget: 400 },\n];\n\n\/\/ Rough average for English prose. Precision is not the point, catching a file that doubled is.\nconst CHARS_PER_TOKEN = 4;\n\nconst estimateTokens = (text) => Math.ceil(text.length \/ CHARS_PER_TOKEN);\n<\/code><\/pre>\n<p>4 \u062d\u0631\u0648\u0641 \u0641\u06cc \u0679\u0648\u06a9\u0646 \u0679\u0648\u06a9\u0646\u0627\u0626\u0632\u0631\u0632 \u06a9\u06cc \u0627\u0635\u0644 \u062a\u0639\u062f\u0627\u062f \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u062a\u062e\u0645\u06cc\u0646\u06c1 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u06a9\u0648\u0688 \u06c1\u06cc\u0648\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0642\u062f\u0631\u06d2 \u067e\u0631\u0627\u0645\u06cc\u062f \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u062f\u06a9\u06be\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0679\u06be\u06cc\u06a9 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0622\u067e \u062c\u0633 \u0646\u0645\u0628\u0631 \u06a9\u0627 \u062e\u06cc\u0627\u0644 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u0627\u0648\u067e\u0631\u06cc \u062d\u062f \u06c1\u06d2\u06d4 400 \u0679\u0648\u06a9\u0646\u0632 \u0633\u06d2 800 \u0679\u0648\u06a9\u0646\u0632 \u062a\u06a9 \u0628\u0691\u06be\u062a\u06cc \u06c1\u0648\u0626\u06cc \u0641\u0627\u0626\u0644 \u0633\u06af\u0646\u0644 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u0637\u0644\u0642 \u0646\u0645\u0628\u0631\u0648\u06ba \u0645\u06cc\u06ba 8% \u0641\u0631\u0642 \u0627\u0633 \u0628\u0627\u062a \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0627\u062b\u0631 \u0646\u06c1\u06cc\u06ba \u0688\u0627\u0644\u062a\u0627 \u06a9\u06c1 \u06c1\u0645 \u06a9\u06cc\u0633\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u06cc \u0627\u0648\u0631 \u062a\u06cc\u0633\u0631\u06cc \u062c\u0627\u0646\u0686 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0646\u062b\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u067e\u0691\u06be\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u062c\u0648 \u06a9\u06c1\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0648\u06c1 \u062d\u0642\u06cc\u0642\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0628\u06cc\u06a9 \u0679\u06a9 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u062c\u0648 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u0637\u0631\u062d \u0646\u0638\u0631 \u0622\u062a\u06cc \u06c1\u06d2 \u0688\u0633\u06a9 \u067e\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 npm \u0627\u0633\u06a9\u0631\u067e\u0679 \u0688\u0633\u06a9 \u067e\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 <code>package.json<\/code>:<\/p>\n<pre><code class=\"language-javascript\">\/\/ Fenced blocks are stripped first so an example inside a snippet is never read as a real reference.\nfunction inlineCodeSpans(text) {\n  const prose = text.replace(\/```[sS]*?```\/g, '');\n  return [...prose.matchAll(\/`([^`n]+)`\/g)].map((match) => match[1].trim());\n}\n\nfor (const span of spans) {\n  if (looksLikePath(span)) {\n    if (!existsSync(join(ROOT, span))) {\n      problems.push(`${file} points at a path that does not exist: ${span}`);\n    }\n    continue;\n  }\n\n  const script = span.match(\/^npm run ([w:-]+)$\/) ?? span.match(\/^npm (test|start)$\/);\n\n  if (script && !scripts.includes(script[1])) {\n    problems.push(`${file} mentions an npm script that is not in package.json: ${span}`);\n  }\n}\n<\/code><\/pre>\n<p>\u0627\u0633\u06a9\u06cc\u0646\u0646\u06af \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0641\u06cc\u0646\u0633 \u06a9\u0648\u0688 \u0628\u0644\u0627\u06a9\u0633 \u06a9\u0648 \u06c1\u0679\u0627\u0646\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06c1\u0645 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u06a9\u06c1 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0627\u06cc\u0633\u06cc \u0645\u062b\u0627\u0644\u0648\u06ba \u0633\u06d2 \u0628\u06be\u0631\u06cc \u06c1\u0648\u0626\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u062d\u0642\u06cc\u0642\u06cc \u062d\u0648\u0627\u0644\u06c1 \u062c\u0627\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0644\u0646\u0679\u0631\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u06c1\u0641\u062a\u06d2 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0628\u0646\u062f \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0686\u0648\u062a\u06be\u0627 \u0686\u06cc\u06a9 \u0633\u0646\u06a9\u0631\u0648\u0646\u0627\u0626\u0632\u06cc\u0634\u0646 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0688\u0631\u0627\u0626\u06cc \u0631\u0646 \u0645\u0648\u0688 \u0645\u06cc\u06ba \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06af\u0631 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0645\u0632\u06cc\u062f \u0645\u0645\u0627\u062b\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u062a\u0648 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 <code>AGENTS.md<\/code>\u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0679\u06cc\u0645 \u06a9\u06d2 \u0627\u0631\u0627\u06a9\u06cc\u0646 \u06a9\u0648 \u067e\u06a9\u0691\u06cc\u06ba\u06d4 <code>CLAUDE.md<\/code> \u0628\u06cc\u0646\u0631 \u06a9\u06d2 \u0628\u0627\u0648\u062c\u0648\u062f \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0635\u062d\u062a \u0645\u0646\u062f \u0630\u062e\u06cc\u0631\u06d2 \u0645\u06cc\u06ba\u060c \u062a\u0645\u0627\u0645 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u06cc\u06a9\u0646\u0688 \u0633\u06d2 \u0628\u06be\u06cc \u06a9\u0645 \u0648\u0642\u062a \u0644\u06af\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786997081_624_\u0627\u067e\u0646\u06d2-\u06a9\u0648\u0688\u0628\u06cc\u0633-\u0645\u06cc\u06ba-\u0633\u06cc\u0627\u0642-\u0648-\u0633\u0628\u0627\u0642-\u06a9\u06cc-\u0641\u0627\u0626\u0644\u0648\u06ba-\u06a9\u0627-\u0646\u0638\u0645.png\" alt=\"\u0634\u06a9\u0644 2: npm \u0631\u0646 lint \u0633\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679: \u0679\u0648\u06a9\u0646 \u0628\u062c\u0679 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 4 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642\u060c 47 \u062d\u0648\u0627\u0644\u06c1 \u062c\u0627\u062a 9 \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u062d\u0644 \u06c1\u0648\u0626\u06d2\u060c \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627\u060c \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc \u0645\u0633\u0626\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u0645\u0644\u0627\u06d4\" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p>\u062f\u0644\u0686\u0633\u067e \u0646\u062a\u06cc\u062c\u06c1 \u06cc\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0686\u06cc\u0632 \u062e\u0631\u0627\u0628 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0642\u0627\u0628\u0644 \u0641\u06c1\u0645 \u0646\u0638\u0631 \u0622\u0626\u06d2\u06d4 <code>AGENTS.md<\/code> \u062d\u0630\u0641 \u0634\u062f\u06c1 \u0627\u0633\u06a9\u0631\u067e\u0679\u0633 \u0627\u0648\u0631 \u0646\u0627\u0645 \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u06c1 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0627 \u0630\u06a9\u0631 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u06cc\u06c1 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786997081_262_\u0627\u067e\u0646\u06d2-\u06a9\u0648\u0688\u0628\u06cc\u0633-\u0645\u06cc\u06ba-\u0633\u06cc\u0627\u0642-\u0648-\u0633\u0628\u0627\u0642-\u06a9\u06cc-\u0641\u0627\u0626\u0644\u0648\u06ba-\u06a9\u0627-\u0646\u0638\u0645.png\" alt=\"\u0634\u06a9\u0644 3: npm \u0631\u0646 lint \u0633\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679: \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u062a\u06cc\u0646 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u06cc \u0627\u0637\u0644\u0627\u0639 \u062f\u06cc\u062a\u0627 \u06c1\u06d2: npm \u0627\u0633\u06a9\u0631\u067e\u0679 \u067e\u06cc\u06a9\u06cc\u062c.json \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0631\u0627\u0633\u062a\u06c1 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0627\u0648\u0631 AGENTS.md \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u0645 \u0622\u06c1\u0646\u06af\u06cc \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u0641\u0627\u0626\u0644 \u062a\u06cc\u0627\u0631 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4\" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p>\u0627\u0633\u06a9\u0631\u067e\u0679 \u0627\u06cc\u06a9 \u063a\u06cc\u0631 \u0635\u0641\u0631 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u0633\u06d2 CI \u0633\u06d2 \u062c\u0648\u0691\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 4 \u0644\u0627\u0626\u0646\u06cc\u06ba \u0644\u06af\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u06cc\u0639\u0646\u06cc \u0641\u0627\u0626\u0644 \u062e\u0627\u0645\u0648\u0634\u06cc \u0633\u06d2 \u062f\u0648\u0631 \u0646\u06c1\u06cc\u06ba \u062c\u0627 \u0633\u06a9\u062a\u06cc\u06d4<\/p>\n<pre><code class=\"language-yaml\"># .github\/workflows\/ci.yml\n      - name: Run the test suite\n        run: npm test\n\n      # The context files are checked on every pull request, which is what stops them from\n      # drifting away from the code they describe.\n      - name: Check the context files\n        run: npm run lint:context\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786997081_817_\u0627\u067e\u0646\u06d2-\u06a9\u0648\u0688\u0628\u06cc\u0633-\u0645\u06cc\u06ba-\u0633\u06cc\u0627\u0642-\u0648-\u0633\u0628\u0627\u0642-\u06a9\u06cc-\u0641\u0627\u0626\u0644\u0648\u06ba-\u06a9\u0627-\u0646\u0638\u0645.png\" alt=\"\u0634\u06a9\u0644 4: MCF \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0686\u0644\u0627\u0626\u06cc \u06af\u0626\u06cc GitHub \u0627\u06cc\u06a9\u0634\u0646\u0632 \u062c\u0648 \u06a9\u06c1 \u062a\u0635\u062f\u06cc\u0642\u06cc \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u0648 \u06a9\u0627\u0645\u06cc\u0627\u0628 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062f\u0648\u0646\u0648\u06ba \u0679\u06cc\u0633\u0679 \u0633\u0648\u06cc\u0679 \u0627\u0648\u0631 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06d2 \u0644\u0646\u0679\u0631 \u0633\u0628\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4\" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p>\u0627\u06af\u0631 \u0645\u062c\u06be\u06d2 \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0628\u0627\u0642\u06cc \u0633\u0628 \u06a9\u0686\u06be \u067e\u06be\u06cc\u0646\u06a9\u0646\u0627 \u067e\u0691\u0627 \u062a\u0648 \u0645\u06cc\u06ba \u06cc\u06c1 \u062d\u0635\u06c1 \u0631\u06a9\u06be\u0648\u06ba \u06af\u0627\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644 \u062a\u0635\u062f\u06cc\u0642 \u062d\u0642\u06cc\u0642\u062a \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u062e\u0648\u0628\u0635\u0648\u0631\u062a\u06cc \u0633\u06d2 \u0644\u06a9\u06be\u06cc \u06af\u0626\u06cc \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u0633\u06d2 \u0628\u06c1\u062a\u0631 \u06c1\u06d2 \u062c\u0648 \u067e\u0686\u06be\u0644\u06d2 \u0633\u0627\u0644 \u06a9\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u067e\u0627\u0633 \u0641\u0631\u0642 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u06c1 \u062f\u0648\u0646\u0648\u06ba \u067e\u0631 \u06cc\u06a9\u0633\u0627\u06ba \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-give-the-agent-something-to-verify-against\">\u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0686\u06be \u062f\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u0633 \u0631\u0648\u0679 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0644\u0627\u0626\u0646 \u06cc\u0627\u062f \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u06d2\u060c \u062c\u0648 \u0645\u06a9\u0645\u0644 \u06a9\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u062c\u0646\u0679 \u0627\u0633 \u0648\u0642\u062a \u0631\u0648\u06a9 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0627\u0633 \u06a9\u0627 \u06a9\u0627\u0645 \u0645\u06a9\u0645\u0644 \u06c1\u0648\u062a\u0627 \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06d2 \u0627\u0648\u0631 \u0628\u063a\u06cc\u0631 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u062e\u0648\u062f \u06c1\u06cc \u0686\u0644\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0622\u067e \u0635\u0631\u0641 &quot;\u0645\u06cc\u0631\u06d2 \u062e\u06cc\u0627\u0644 \u0645\u06cc\u06ba \u06cc\u06c1 \u06c1\u0648 \u06af\u06cc\u0627&#8221; \u0633\u06af\u0646\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1 \u062e\u0627\u0645\u0648\u0634 \u062a\u0635\u062f\u06cc\u0642\u06cc \u0644\u0648\u067e \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06be\u0631 \u0622\u067e \u06a9\u06cc \u062a\u0645\u0627\u0645 \u063a\u0644\u0637\u06cc\u0627\u06ba \u0622\u067e \u06a9\u06d2 \u0646\u0648\u0679\u0633 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u06cc\u06ba \u06af\u06cc\u06d4<\/p>\n<p>\u06a9\u0633\u06cc \u06a9\u0645\u0627\u0646\u0688 \u06a9\u0627 \u0646\u0627\u0645 \u062f\u06cc\u0646\u0627 \u062c\u0648 \u067e\u0627\u0633 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u0641\u06cc\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u062a\u0631\u062c\u0645\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u062e\u0648\u062f \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1 \u06a9\u0648\u0688 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0686\u06cc\u06a9 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0646\u062a\u0627\u0626\u062c \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0686\u06cc\u06a9 \u067e\u0627\u0633 \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u062c\u0627\u0631\u06cc \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06cc \u0644\u06cc\u06d2 <code>Run npm test and npm run lint:context before you report a task as finished<\/code> \u0627\u0646 \u06a9\u0627 \u0622\u067e \u06a9\u06d2 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u06d2 \u0645\u0639\u06cc\u0627\u0631 \u067e\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0637\u0631\u0632 \u06a9\u06d2 \u0631\u06c1\u0646\u0645\u0627 \u062e\u0637\u0648\u0637 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u062b\u0631 \u067e\u0691\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u0644\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u0627 \u062f\u0639\u0648\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u0648 \u067e\u06cc\u0633\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u0646\u0627 \u0628\u06be\u06cc \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062b\u0628\u0648\u062a \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0645\u06cc\u06ba \u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688 \u0627\u0648\u0631 \u062e\u0648\u062f \u0686\u06cc\u06a9 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u0644\u0627\u0646\u06d2 \u0645\u06cc\u06ba \u06a9\u0626\u06cc \u0645\u0646\u0679 \u0644\u06af\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u062f\u06cc \u06af\u0626\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u0645\u0634\u0648\u0631\u06c1 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06d2 \u0622\u0628\u0627\u062f \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0645\u0634\u0648\u0631\u06c1 \u0636\u0627\u0626\u0639 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u06c1\u0631 \u0628\u0627\u0631 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u06d2 \u06a9\u0686\u06be \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u062a\u0648 \u0627\u06cc\u06a9 \u06c1\u06a9 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0648 \u0627\u06cc\u062c\u0646\u0679 \u0644\u0648\u067e \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0645\u0642\u0631\u0631\u06c1 \u0645\u0642\u0627\u0645 \u067e\u0631 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u06a9\u06c1\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-json\">{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Edit|Write\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"npm run lint:context --silent\"\n          }\n        ]\n      }\n    ]\n  }\n}\n<\/code><\/pre>\n<p>\u0627\u0646\u06af\u0648\u0679\u06be\u06d2 \u06a9\u0627 \u0627\u0635\u0648\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062a\u0645\u0627\u0645 \u0645\u0634\u0648\u0631\u06d2 \u0646\u062b\u0631 \u0645\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0636\u0631\u0648\u0631\u06cc \u0686\u06cc\u0632\u06cc\u06ba \u06c1\u06a9 \u06cc\u0627 CI \u0645\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-checking-whether-it-actually-worked\">\u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u06cc\u06c1 \u0648\u0627\u0642\u0639\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u06a9\u0648 \u0628\u06be\u06cc \u0627\u06cc\u0645\u0627\u0646 \u067e\u0631 \u0646\u06c1\u06cc\u06ba \u0644\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0627\u067e\u0646\u06d2 \u0630\u062e\u06cc\u0631\u06d2 \u067e\u0631 \u0627\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0633\u0633\u062a\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u06a9\u0627\u0645 \u0686\u0646\u06cc\u06ba \u062c\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0635\u062d\u06cc\u062d \u0644\u06af \u0631\u06c1\u0627 \u06c1\u0648\u060c \u067e\u0631\u0627\u0645\u067e\u0679 \u06a9\u0648 \u0644\u06a9\u06be\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u06cc\u06c1 \u067e\u0648\u0631\u06cc \u062f\u0648\u0691 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u0627 \u0631\u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633\u06d2 \u062f\u0648 \u0628\u0627\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0628\u0631\u0627\u0646\u0686 \u0645\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0627\u0633 \u0628\u0631\u0627\u0646\u0686 \u0645\u06cc\u06ba \u0686\u0644\u0627\u0626\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0622\u067e \u0646\u06d2 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u06cc\u0627 \u062a\u06be\u0627\u06d4 \u0633\u0627\u062a\u06be\u06cc \u0630\u062e\u06cc\u0631\u06d2 \u0633\u06d2 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u0627\u0645\u06cc\u062f\u0648\u0627\u0631 \u06c1\u06d2 &quot;\u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 <code>GET \/tasks\/count<\/code> \u0627\u06cc\u06a9 \u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u0646\u0642\u0637\u06c1 \u062c\u0648 \u062c\u0627\u0646\u0686 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u06be\u0644\u06d2 \u06a9\u0627\u0645\u0648\u06ba \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u06c1\u0645 \u0686\u0627\u0631 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0648 \u0631\u0646\u0632 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u06cc \u0645\u062f\u0627\u062e\u0644\u062a \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0679\u06cc\u0633\u0679 \u067e\u0627\u0633 \u06c1\u0648\u0627\u061f \u0622\u067e \u06a9\u0648 \u06a9\u062a\u0646\u06cc \u0628\u0627\u0631 \u0627\u0633 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06cc \u067e\u0691\u06cc\u061f \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u06a9\u0633\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u067e\u0631\u062a \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u06cc\u06c1 \u06a9\u0633\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0631 \u0633\u06d2 \u0630\u062e\u06cc\u0631\u06c1 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u0627 \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u0646\u06cc\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u0627 \u06c1\u06d2\u061f<\/p>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0646\u0645\u0648\u0646\u06c1 \u06c1\u06d2\u060c \u0645\u0639\u06cc\u0627\u0631 \u0646\u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u0633\u0627 \u0633\u0644\u0648\u06a9 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u062a\u0627\u06c1\u0645\u060c \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u0628\u062a\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0641\u0627\u0626\u0644 \u0635\u062d\u06cc\u062d \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631 \u0631\u06c1\u06cc \u06c1\u06d2 \u06cc\u0627 \u0646\u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u06cc\u06c1 \u0628\u06be\u06cc \u0648\u0627\u0636\u062d \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0633\u0627\u0626\u0644 \u06a9\u06d2 \u067e\u06cc\u0634 \u0622\u0646\u06d2 \u067e\u0631 \u06a9\u0648\u0646 \u0633\u06d2 \u0645\u062e\u0635\u0648\u0635 \u0627\u0635\u0648\u0644 \u063a\u0627\u0626\u0628 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786997081_922_\u0627\u067e\u0646\u06d2-\u06a9\u0648\u0688\u0628\u06cc\u0633-\u0645\u06cc\u06ba-\u0633\u06cc\u0627\u0642-\u0648-\u0633\u0628\u0627\u0642-\u06a9\u06cc-\u0641\u0627\u0626\u0644\u0648\u06ba-\u06a9\u0627-\u0646\u0638\u0645.png\" alt=\"\u0634\u06a9\u0644 5: \u0627\u06cc\u0646 \u067e\u06cc \u0627\u06cc\u0645 \u0679\u06cc\u0633\u0679 \u0633\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679 \u062c\u0633 \u0645\u06cc\u06ba \u0631\u0627\u0633\u062a\u0648\u06ba \u0627\u0648\u0631 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u0645\u06cc\u06ba 14 \u067e\u0627\u0633\u0646\u06af \u0679\u06cc\u0633\u0679 \u062f\u06a9\u06be\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4\" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<h2 id=\"heading-keeping-the-files-healthy\">\u0627\u067e\u0646\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u0635\u062d\u062a \u0645\u0646\u062f \u0631\u06a9\u06be\u06cc\u06ba<\/h2>\n<p>\u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u062c\u0633 \u0637\u0631\u062d \u0633\u06d2 \u0622\u067e \u06a9\u0648\u0688 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u0627 \u062c\u06cc\u0633\u06d2 \u0645\u0633\u0627\u0626\u0644 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0634\u06cc\u0688\u0648\u0644 \u067e\u0631 \u0639\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0646\u0648\u06ba \u062a\u0634\u062e\u06cc\u0635 \u0622\u067e \u06a9\u0648 \u062f\u0631\u067e\u06cc\u0634 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u062d\u0627\u0644\u0627\u062a \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0627\u06cc\u062c\u0646\u0679 \u062a\u062d\u0631\u06cc\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u06cc \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc \u06a9\u0631\u062a\u0627 \u0631\u06c1\u0627 \u062a\u0648 \u06cc\u06c1 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u0637\u06d2 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0627\u0626\u0644 \u0627\u062a\u0646\u06cc \u0644\u0645\u0628\u06cc \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc \u06a9\u06c1 \u0631\u0648\u0644\u0632 \u0634\u0648\u0631 \u0645\u06cc\u06ba \u06af\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2\u06d4 \u0632\u0648\u0631 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062c\u0627\u0631\u062d\u0627\u0646\u06c1 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0679\u0627\u0626\u06cc \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648\u0626\u06cc \u0627\u06cc\u0633\u0627 \u0633\u0648\u0627\u0644 \u067e\u0648\u0686\u06be \u0631\u06c1\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u0641\u0627\u0626\u0644 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062f\u06d2 \u0686\u06a9\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0644\u0641\u0627\u0638 \u0645\u0628\u06c1\u0645 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633 \u06a9\u06d2 \u0622\u06af\u06d2 \u062f\u0648\u0633\u0631\u06cc \u0644\u0627\u0626\u0646 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u0644\u0627\u0626\u0646 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u0639\u0644\u0627\u0648\u06c1\u060c \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0688\u06cc\u0641\u0627\u0644\u0679\u0633 \u06c1\u0631 \u0631\u06cc\u0644\u06cc\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u06c1\u062a\u0631 \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062c\u0648 \u0627\u0635\u0648\u0644 \u067e\u0686\u06be\u0644\u06d2 \u0633\u0627\u0644 \u062f\u0631\u06a9\u0627\u0631 \u062a\u06be\u06d2 \u0648\u06c1 \u0627\u0628 \u0627\u06c1\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0637\u0644\u0639 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0646 \u0642\u0648\u0627\u0646\u06cc\u0646 \u06a9\u0648 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u06cc \u0648\u06c1 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0644\u0646\u0679\u0631 \u0622\u0624\u0679 \u067e\u0679 \u0645\u06cc\u06ba \u0679\u0648\u06a9\u0646 \u0628\u062c\u0679 \u06a9\u0648 \u06a9\u0633\u06cc \u062d\u062f \u062a\u06a9 \u0635\u062d\u062a \u06a9\u06d2 \u0627\u0634\u0627\u0631\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062f\u06cc\u06a9\u06be\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u062c\u0648 \u0627\u067e\u0646\u06cc \u062d\u062f \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u06cc \u0631\u06c1\u062a\u06cc \u06c1\u06d2 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 <code>docs\/<\/code>.<\/p>\n<h2 id=\"heading-mistakes-worth-avoiding\">\u0633\u06d2 \u0628\u0686\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2 \u063a\u0644\u0637\u06cc\u0627\u06ba<\/h2>\n<p>\u0633\u0628 \u0633\u06d2 \u0639\u0627\u0645 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0686\u0646 \u06a9\u06d2 \u0633\u0646\u06a9 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u0642\u0648\u0627\u0639\u062f \u062c\u0648 \u06a9\u0633\u06cc \u0646\u06d2 \u0630\u06a9\u0631 \u06a9\u06cc\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba 3,000 \u0679\u0648\u06a9\u0646 \u0646\u06c1 \u06c1\u0648\u06ba \u0627\u0648\u0631 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u0646\u0635\u0641 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u06d2\u06d4 \u062a\u0631\u0645\u06cc\u0645 \u062c\u0630\u0628\u0627\u062a \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0644\u0627\u06af\u0648 \u062e\u0627\u062a\u0645\u06d2 \u06a9\u06d2 \u0679\u06cc\u0633\u0679 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 README \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0646\u0642\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u06a9\u06cc \u0644\u0627\u06af\u062a \u06a9\u0648 \u0628\u063a\u06cc\u0631 \u06a9\u0686\u06be \u0634\u0627\u0645\u0644 \u06a9\u06cc\u06d2 \u062f\u0648\u06af\u0646\u0627 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062f\u0648\u0646\u0648\u06ba \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u06d2 \u0633\u0627\u0645\u0639\u06cc\u0646 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u062c\u0646\u0679 \u0636\u0631\u0648\u0631\u062a \u067e\u0691\u0646\u06d2 \u067e\u0631 README \u067e\u0691\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u0631\u0646\u0627 \u06c1\u06d2 \u062c\u0648 \u0645\u0627\u0688\u0644 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 Giveaways \u0648\u06c1 \u0644\u0627\u0626\u0646\u06cc\u06ba \u06c1\u06cc\u06ba \u062c\u0648 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06c1 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u0646\u06c1 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u06cc\u0627 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062a\u0648\u0642\u0639 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0686\u0648\u062a\u06be\u0627 \u063a\u06cc\u0631 \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0642\u0648\u0627\u0639\u062f \u0644\u06a9\u06be\u0646\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06a9\u0648\u0688 \u06cc\u0627 \u0627\u0686\u06be\u06cc \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u0639\u0642\u0648\u0644 \u0644\u06af\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0648\u06c1 \u062a\u0639\u0645\u06cc\u0644 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u0627\u0646\u0686\u0648\u0627\u06ba\u060c \u0627\u0648\u0631 \u0628\u0627\u0644\u0622\u062e\u0631\u060c \u0627\u067e\u0646\u06cc \u0679\u06cc\u0645 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06a9\u06c1 \u06c1\u0631 \u0679\u0648\u0644 \u0627\u067e\u0646\u06cc\u060c \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0646\u0638\u0645 \u0634\u062f\u06c1 \u06a9\u0627\u067e\u06cc \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u06d2\u06d4 \u0648\u06c1 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u0626\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06cc\u06a9 \u0645\u0627\u06c1 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u0644\u06af \u06c1\u0648\u06af\u0626\u06d2\u06d4 \u06a9\u0631\u0633\u0631 \u0627\u0648\u0631 \u06a9\u0644\u0627\u0688 \u06a9\u0648\u0688 \u067e\u06be\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u0630\u062e\u06cc\u0631\u06c1 \u0633\u06d2 \u0645\u062a\u0636\u0627\u062f \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06d2 \u062a\u062d\u062a \u06a9\u0627\u0645 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u06a9\u0627\u067e\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 CI \u0645\u06cc\u06ba \u062a\u062e\u0644\u06cc\u0642 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-where-to-start\">\u0645\u06cc\u06ba \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0648\u06ba\u061f<\/h2>\n<p>\u0627\u06af\u0631 \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u06cc\u06a9 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u0627 \u06c1\u0648\u06ba\u060c \u062a\u0648 \u06cc\u06c1 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u0645\u06cc\u0631\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u067e\u0631 \u0679\u0648\u06a9\u0646 \u062a\u062e\u0645\u06cc\u0646\u06c1 \u0686\u0644\u0627\u0646\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633\u06d2 \u0633\u0637\u0631 \u0628\u06c1 \u0633\u0637\u0631 \u067e\u0691\u06be\u06cc\u06ba \u0627\u0648\u0631 \u067e\u0648\u0686\u06be\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0631 \u0633\u0637\u0631 \u06a9\u0648 \u06c1\u0679\u0627\u0646\u06d2 \u0633\u06d2 \u063a\u0644\u0637\u06cc \u06c1\u0648\u06af\u06cc\u06d4 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0644\u0648\u06af \u067e\u06c1\u0644\u06d2 \u067e\u0627\u0633 \u067e\u0631 \u0688\u06be\u06cc\u0631 \u06a9\u06d2 \u0627\u06cc\u06a9 \u062a\u06c1\u0627\u0626\u06cc \u0627\u0648\u0631 \u0646\u0635\u0641 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u06a9\u0627\u0679\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0628\u0627\u0642\u06cc \u06a9\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u0648 \u0645\u06c1\u0646\u06af\u0627 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0642\u0627\u0628\u0644 \u0631\u0633\u0627\u0626\u06cc \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 CI \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0644\u0646\u0679\u0631 \u0644\u06af\u0627\u0626\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u06cc\u06c1 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u06d2 \u06a9\u06c1 \u0633\u0628 \u06a9\u0686\u06be \u0627\u06cc\u0645\u0627\u0646\u062f\u0627\u0631 \u0631\u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u0627\u0633 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u06a9\u0645\u0644 \u0633\u06cc\u0679 \u0627\u067e\u060c \u0628\u0634\u0645\u0648\u0644 \u0644\u0646\u0679\u0631\u0632\u060c \u0633\u0646\u06a9 \u0627\u0633\u06a9\u0631\u067e\u0679\u0633\u060c \u06c1\u06a9\u0633\u060c \u0627\u0648\u0631 CI \u0648\u0631\u06a9 \u0641\u0644\u0648\u060c github.com\/Adeniyikayodee\/MCF \u067e\u0631 \u06c1\u06d2\u06d4 \u06a9\u0644\u0648\u0646 \u0627\u0648\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba. <code>npm run lint:context<\/code> \u0627\u0633\u06d2 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u06af\u06d2 \u0628\u0691\u06be\u06cc\u06ba \u0627\u0648\u0631 \u067e\u06be\u0631 \u06a9\u0686\u06be \u062a\u0648\u0691 \u062f\u06cc\u06ba\u06d4 <code>AGENTS.md<\/code> \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062a\u06d2 \u062f\u06cc\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<p>\u0635\u0631\u0641 \u0644\u0646\u0679\u0631 \u06a9\u0648 \u06a9\u0627\u067e\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0622\u067e \u0627\u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0688\u06be\u0627\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0679\u06cc\u0633\u0679 \u0648\u06c1 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0633 \u0628\u0627\u062a \u0633\u06d2 \u0645\u06cc\u0644 \u06a9\u06be\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0633 \u0637\u0631\u062d \u0628\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0627\u067e\u0646\u06cc \u06a9\u0627\u067e\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u062c\u0631\u0628\u06c1 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u06cc\u06a9 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0648 \u0641\u0648\u0631\u06a9 \u06a9\u0631\u06cc\u06ba\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06a9\u0627\u0646\u0679\u0627 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0628\u0631\u0627\u0646\u0686 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u067e\u0646\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u06be\u06cc\u0646\u0686\u0646\u06d2 \u06a9\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a \u06a9\u0648 \u06a9\u06be\u0648\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u0646 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06d2 \u0644\u0627\u0626\u06cc\u0648 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0645\u0637\u0644\u0639 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0641\u0648\u0631\u06a9 \u06a9\u06d2 \u0622\u06af\u06d2 \u0648\u0627\u0686 \u0628\u0679\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0631\u06cc\u0644\u06cc\u0632 \u06cc\u0627 \u062a\u0645\u0627\u0645 \u0633\u0631\u06af\u0631\u0645\u06cc\u0627\u06ba \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062c\u0628 \u06a9\u0627\u0646\u0679\u0627 \u0635\u0631\u0641 \u06a9\u0648\u0688 \u06a9\u0648 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u06cc\u067e\u0686\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0627\u0633\u06d2 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u060c \u06cc\u06c1 \u0648\u06c1 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06c1\u06d2 \u062c\u0648 \u062d\u0642\u06cc\u0642\u062a \u0645\u06cc\u06ba \u0627\u0637\u0644\u0627\u0639 \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-further-reading\">\u0627\u0636\u0627\u0641\u06cc \u0648\u0633\u0627\u0626\u0644<\/h3>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06af\u0631 \u0622\u067e \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06d2 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 90 \u0633\u06cc\u06a9\u0646\u0688 \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06c1\u0648\u06af\u0627\u06d4 \u067e\u06be\u0631 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a \u06a9\u0648 \u067e\u0691\u06be\u0627 \u0627\u0648\u0631 \u067e\u0627\u06cc\u0627 \u06a9\u06c1 \u0627\u0633 \u0646\u06d2 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u06c1\u06d2 \u062c\u0648 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062a\u06be\u06cc\u06d4 package.json\u067e\u0686\u06be\u0644\u06cc \u0628\u06c1\u0627\u0631 \u0645\u06cc\u06ba \u0679\u06cc\u0645 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":27869,"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-27868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/27868","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=27868"}],"version-history":[{"count":1,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/27868\/revisions"}],"predecessor-version":[{"id":27870,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/27868\/revisions\/27870"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media\/27869"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=27868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=27868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=27868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}