Asosiy kontentga o‘tish
AI qo‘llanmalari

Abide yordamida har bir tahrirda kodlash agenti qoidalarini qo‘llang

Abide’ni o‘rnatish, uni Claude Code, Codex yoki OpenCode’ga ulash, repozitoriy ko‘rsatmalarini bajarilishi majburiy qoidalarga aylantirish, tahrirlarni avtomatik tekshirish, mavjud kodni auditdan o‘tkazish va ishonchli nazorat uchun hosil bo‘lgan mezonlarni sozlashni o‘rganing.

Abide yordamida har bir tahrirda kodlash agenti qoidalarini qo‘llang

Abide nima qiladi

Abide oddiy linterlar ishonchli baholay olmaydigan, loyiha uchun maxsus ko‘rsatmalarni majburiy qo‘llaydi. Bu ko‘rsatmalar AGENTS.md yoki CLAUDE.md kabi fayllarda bo‘lishi va qo‘lda tekshirish o‘rniga Yup’dan foydalaning, faqat bitta chaqiruvchisi bo‘lgan yordamchi yaratmang yoki foydalanuvchiga hech qachon xom xatoni ko‘rsatmang kabi qoidalarni o‘z ichiga olishi mumkin.

Har bir tahrirdan yoki yakunlangan navbatdan so‘ng Abide tegishli qoida va kod diffini TypeSafe'ning Jev qaror modeliga yuboradi. Jev erkin shakldagi matn o‘rniga ehtimollik qaytaradi. Ehtimollik buzilish mavjudligini ko‘rsatsa, Abide kodlash agentiga qaysi qoida buzilganini aytadi va undan ayni navbat davomida kodni tuzatishni so‘raydi.

Abide kodlash qoidalarini qo‘llash

Jev agent suhbatini emas, qoida va diffni ko‘radi. Bu Abide’ga uzoq kodlash sessiyasi davomida bir xil tekshiruvlarni izchil qo‘llash imkonini beradi. Repozitoriyning e’lon qilingan qayta ijro benchmarkiga ko‘ra, Jev’da tekshiruvlar taxminan 300 millisekund, Node ishga tushishi ham hisobga olinganda to‘liq hook esa qariyb bir soniya vaqt oladi.

Asosiy imkoniyatlar

  • Avtomatik tahrir tekshiruvlari: Qoidalar har bir kod tahriridan so‘ng darhol ishga tushishi mumkin.
  • Navbat darajasidagi tekshiruvlar: To‘liq topshiriq diffini talab qiladigan qoidalar navbat oxirida bir marta ishga tushishi mumkin.
  • Agent integratsiyasi: Abide Claude Code, Codex va OpenCode’ni qo‘llab-quvvatlaydi.
  • Repozitoriyga tegishli rubrika: Kompilyatsiya qilingan qoidalar o‘qish va commit qilish uchun qulay .abide/rubric.json faylida saqlanadi.
  • Qamrovli qoidalar: Qoida glob qamrovlaridan foydalanishi mumkin, shunda API yo‘llari, uslublar jadvallari yoki boshqa fayl guruhlari uchun turli savollar qo‘llanadi.
  • Mavjud kod auditi: Abide fayllarni xuddi hozirgina yozilgandek baholashi mumkin.
  • Kalibrlash va sozlash: U qoidalarni Git tarixidagi so‘nggi o‘zgarishlar asosida sinashi, samarasiz qoidalarni o‘chirishi va hech qachon ishga tushmaydigan qoidalarni qayta yozishga yordam berishi mumkin.
  • Ochiq ishlaydigan hooklar: Yetishmayotgan ma’lumotlar, tarmoqdagi nosozliklar yoki hook xatolari kodlash sessiyasini to‘sib qo‘ymaydi.
  • Ichki siyosat yo‘q: Abide oldindan belgilangan qoidalar to‘plamini joriy etish o‘rniga, o‘zingizning ko‘rsatma fayllaringizdan hosil qilingan qoidalarni qo‘llaydi.

Talablar

Sizga kodlash agentingiz uchun ko‘rsatmalarga ega repozitoriy va kamida bitta qo‘llab-quvvatlanadigan agent: Claude Code, Codex yoki OpenCode kerak. Shuningdek, typesafe.ai saytidan olingan TypeSafe API kaliti ham kerak. Muqobil ravishda, Abide AI_GATEWAY_API_KEY muhit o‘zgaruvchisi orqali mavjud Vercel AI Gateway kalitidan foydalanishi mumkin.

Abide’ni o‘rnatish va sozlash

1-qadam: API kalitingizni saqlang

Login buyrug‘ini ishga tushiring va so‘ralganda TypeSafe kalitingizni kiriting:

npx @coldtea/abide login

Abide kalitni faqat egasi foydalanishi mumkin bo‘lgan ruxsatlar bilan ~/.abide/.env faylida saqlaydi. Shuningdek, ma’lumotlarni repozitoriy ildizidagi .env.local yoki .env fayliga joylashtirishingiz mumkin. Ma’lumotlarni qidirish avval muhitni, keyin repozitoriy fayllarini, so‘ng ~/.abide/.env faylini tekshiradi.

Vercel AI Gateway’dan foydalansangiz, TypeSafe kaliti o‘rniga AI_GATEWAY_API_KEY ni belgilang. Ma’lumotlar buyruq satri flaglari orqali qabul qilinmaydi va jurnalga yozilmaydi.

2-qadam: Agent hooklarini o‘rnating

Repozitoriyingizdan Abide’ni ishga tushiring:

npx @coldtea/abide init

Agent nomi ko‘rsatilmasa, init topilgan barcha qo‘llab-quvvatlanadigan agentlarga o‘rnatadi. Shuningdek, bitta integratsiyani aniq nishonga olishingiz mumkin:

npx @coldtea/abide init claude
npx @coldtea/abide init codex
npx @coldtea/abide init opencode
  • Claude Code: Integratsiya ~/.claude/settings.json fayliga qo‘shiladi.
  • Codex: Integratsiya ~/.codex/hooks.json fayliga qo‘shiladi.
  • OpenCode: Plagin ~/.config/opencode/plugins/abide.js manziliga o‘rnatiladi.

Repozitoriy darajasida o‘rnatish va uni checkout orqali jamoa a’zolariga yetkazish uchun --project ni qo‘shing:

npx @coldtea/abide init claude --project

Codex’da yana bir tasdiqlash bosqichi talab qilinadi. Codex’ni ishga tushiring, /hooks ni kiriting va Abide’ning to‘rtta hook yozuvini qabul qiling. Codex har bir yangi hook uchun bu tasdiqni bir marta so‘raydi.

3-qadam: Repozitoriy qoidalarini kompilyatsiya qiling

Kodlash agentingizni odatdagidek ishga tushiring. Birinchi sessiya boshida Abide ko‘rsatma fayllari o‘zgargan-o‘zgarmaganini tekshiradi. Keyin agent amaldagi ko‘rsatmalarni .abide/rubric.json fayliga kompilyatsiya qiladi va topilganlar haqida hisobot beradi.

Yangi sessiyani boshlashdan oldin ham kompilyatsiya qilishingiz mumkin:

abide compile

Repozitoriyning qo‘llanadigan rubrikasi jamoaga ko‘rinadigan va ko‘rib chiqiladigan bo‘lishini istasangiz, .abide/rubric.json ni commit qiling. Har bir hukm ushbu fayldagi qoidani aniqlaydi va undan hosil qilingan manba ko‘rsatmasidan iqtibos keltiradi.

Asosiy foydalanish

Abide agent tahrirlarini avtomatik tekshirsin

Sozlangandan so‘ng claude, codex yoki opencode ni odatdagidek ishga tushiring. Alohida fon xizmati talab qilinmaydi. Masalan, ko‘rsatmada API endpointlari Yup’dan foydalanishi va kiritilgan ma’lumotlarni qo‘lda tekshirmasligi aytilgan bo‘lsin. Agar agent qo‘lda yozilgan himoya tekshiruvini qo‘shsa, Abide quyidagiga o‘xshash xabar qaytarishi mumkin:

Abide: Bu tahrir ushbu repository ko‘rsatmalaridagi qoidani buzayotganga o‘xshaydi.
- ~/.codex/AGENTS.md faylining 65-qatoridagi "api-validation-uses-yup" qoidasi:
  "API endpointlarini yozishda kiritilgan ma’lumotlarni qo‘lda tekshirmang.
  Yup’dan (aniq tekshiruv xabarlari bilan) foydalaning va API handlerida erta qaytaring".
  (0.86)
Hozir apps/web/src/pages/api/logout.ts faylidagi muammoni tuzating, so‘ng vazifani davom ettiring.

Agent tuzatish so‘rovini qabul qiladi va davom etishdan oldin qoidabuzarlikni tuzatishi mumkin. OpenCode bilan tahrir qoidabuzarliklari vosita natijasiga qo‘shiladi. Burilish darajasidagi qoidabuzarlik burilishdan keyin bitta qo‘shimcha xabar hosil qiladi.

Commit qilinmagan o‘zgarishlarni qo‘lda tekshirish

Hooklar ishlatadigan usulning o‘zida joriy commit qilinmagan o‘zgarishlarni baholash uchun check buyrug‘idan foydalaning:

abide check

Tekshiruvni toraytirish kerak bo‘lsa, yo‘llarni ham ko‘rsatishingiz mumkin:

abide check apps/web/src/pages/api/

Mavjud kodni audit qilish

audit buyrug‘i mavjud fayllarni xuddi ular hozirgina yaratilgandek baholaydi. Bu Abide’ni allaqachon mavjud repositoryga joriy etishda foydalidir:

abide audit src/

Natijada qoidalar bo‘yicha umumiy xulosa va fayllar bo‘yicha tartiblangan ro‘yxat beriladi. README’da haqiqiy Next.js ilovasidagi 33 ta API route’ni audit qilish taxminan 12 soniya va qariyb bir sent xarajat qilgani aytiladi, ammo haqiqiy natijalar repository va qoidalarga bog‘liq.

Qoidalar faolligini ko‘rib chiqish

Qoidalaringizni, qaysilari ishga tushganini va qaysilari hali hech qachon ishga tushmaganini ko‘rish uchun report buyrug‘ini bajaring:

abide report

Mashina o‘qiy oladigan natija uchun --json qo‘shing. JSON natijasi check, audit, bench va calibrate uchun ham mavjud.

Qoidalar va hukmlar vaqtini tushunish

Har bir kompilyatsiya qilingan qoida ikki bosqichdan birida ishlaydi:

  • Tahrir bosqichi: Alohida tahrirdan keyin ishga tushadi va shu hunkni baholaydi.
  • Burilish bosqichi: Burilish oxirida bir marta ishga tushadi va to‘liq diff’ni burilish boshida olingan snapshot bilan taqqoslaydi.

Burilish darajasidagi baholash faqat birinchi tahrirdan javob berib bo‘lmaydigan savollar uchun muhim. Masalan, agent foydalanuvchi so‘ramagan funksionallikni qo‘shgan-qo‘shmaganini aniqlash. Burilish oxirida Abide shell buyruqlari orqali yaratilgan o‘zgarishlarga tahrir bosqichi qoidalarini ham qo‘llaydi.

Hukmlar ehtimollik diapazonlariga bo‘linadi:

  • 0.8 yoki undan yuqori: Agentga qoidabuzarlikni tuzatish buyuriladi.
  • 0.5 dan 0.8 gacha: Izoh ko‘rsatiladi, ammo agentga tuzatish buyurilmaydi.
  • 0.5 dan past: Hech narsa ko‘rsatilmaydi.

Murakkab ish jarayonlari

Qoidalarni Git tarixi asosida kalibrlash

Noto‘g‘ri ifodalangan qoida ko‘plab aloqasiz o‘zgarishlarda o‘rtacha ball olib, hech qachon foydali natija bermasligi mumkin. Kalibrlash buyrug‘i har bir qoidani repository Git tarixidagi yaqinda yuz bergan haqiqiy hunklarga nisbatan baholaydi:

abide calibrate

Abide bu jarayon uchun yaqindagi 20 ta hunkdan foydalanadi va samarali ishlamaydigan qoidalarni o‘chirishi mumkin. Yangi kompilyatsiya qilingan rubrikaga jamoa bo‘ylab tayanishdan oldin natijani ko‘rib chiqing.

Hech qachon ishga tushmaydigan qoidalarni sozlash

Samarasiz qoidalarni aniqlagach, agent ularni qayta yozishi uchun tune buyrug‘idan foydalaning:

abide tune

Har bir rubrika yozuvida manba ko‘rsatmasi keltirilgani sababli, shubhali hukmni uni yuzaga keltirgan matngacha kuzatish mumkin. Asosiy ko‘rsatmani yaxshilash odatda tegishli tekshiruvni aniqroq qiladi.

Avvalgi agent sessiyalarini qayta ijro etish

Qo‘llab-quvvatlanadigan agentlardan birining avvalgi sessiyalarini baholash uchun replay buyrug‘idan foydalaning:

abide replay claude
abide replay codex
abide replay opencode

Bu kelajakdagi qoidabuzarliklarni kutish o‘rniga, allaqachon bajarilgan ishga nisbatan rubrikani baholashga yordam beradi.

Mahalliy kechikish va xarajatni o‘lchash

O‘z kompyuteringizda unumdorlik va xarajatni o‘lchash uchun benchmark buyrug‘ini bajaring:

abide bench

Repository hisobotiga ko‘ra, uning 13 ta qoidasini tekshirish taxminan 1 000–1 600 ta kirish tokenidan foydalanadi, har bir tekshiruv uchun qariyb $0.00004–$0.00007 turadi va Jev’da taxminan 300 millisekund davom etadi. Bu ko‘rsatkichlar TypeSafe’da bevosita o‘lchangan va farq qilishi mumkin, shuning uchun sozlamangiz uchun mahalliy benchmark aniqroq yo‘l-yo‘riq beradi.

Savollarni dolzarb saqlash uchun scope’lardan foydalanish

.abide/rubric.json faylidagi qoidalar glob asosidagi scope’larni o‘z ichiga olishi mumkin. Ko‘rsatma faqat ayrim fayllarga tegishli bo‘lsa, ushbu scope’lardan foydalaning. Masalan, tekshiruv qoidalari API route’lariga tegishli bo‘lishi, stil qoidalari esa stylesheet’lar bilan cheklanishi mumkin. Tor scope’lar aloqasiz baholashlarni kamaytiradi va hukmlarni tushunishni osonlashtiradi.

Maxfiylik va xatoliklar bilan ishlash

O‘zgartirilgan qatorlar har bir chaqiruvda ma’lumotlarni saqlamaslik so‘rovi bilan o‘zingizning kalitingiz orqali TypeSafe’ga yuboriladi. README’da ma’lumotlar Abide boshqaradigan serverga yuborilmasligi aytilgan.

Abide hook’lari agent sessiyasini buzmaslik uchun ishlab chiqilgan. Hook yo‘llari muvaffaqiyatli yakunlanadi, qat’iy vaqt chegarasidan foydalanadi va faqat host kutgan ma’lumotlarni chiqaradi. Kalit mavjud bo‘lmasa yoki tarmoq ishlamasa, tahrir tekshiruvsiz davom etadi. O‘tkazib yuborilgan tekshiruv .abide/events.jsonl fayliga yoziladi, abide report esa uni o‘z hisoblariga qo‘shadi.

Abide’ni o‘chirish

Abide o‘rnatilgan har bir agentdan uni olib tashlang:

abide uninstall

Faqat bitta integratsiyani olib tashlash uchun agent nomini ko‘rsating:

abide uninstall codex

Project darajasidagi o‘rnatmani olib tashlashda --project qo‘shing. O‘chirish faqat Abide’ning o‘z yozuvlarini olib tashlaydi. Rubrika fayllari va ~/.abide/.env faylini ularni qo‘lda o‘chirguningizcha joyida qoldiradi.

Xulosa

Abide tabiiy tildagi repozitoriy ko‘rsatmalarini AI yordamida kodlash sessiyasi davomida ishlaydigan tekshiruvlarga aylantiradi. Tegishli hooklarni o‘rnating, .abide/rubric.json faylini yig‘ing va ko‘rib chiqing, so‘ng qoidalar samaradorligini saqlash uchun avtomatik tekshiruvlar, auditlar, hisobotlar, kalibrlash va sozlashdan foydalaning. Natijada an’anaviy linterlar ifodalay olmaydigan konvensiyalar uchun yengil nazorat qatlami hosil bo‘ladi.