
Lokho okwenziwa yi-kybes
kybes iyi-plugin ye-Claude Code yokukhiqiza ikhodi ye-backend ebikezelwa ngendlela engaguquki kusuka kuma-schema edathabheyisi e-YAML. Ihlanganisa amafolda, amagama wamafayela, izindlela zama-repository, ukuqinisekisa idatha, i-pagination, ama-transaction, ama-index, kanye nama-test kuwo wonke amaphrojekthi e-C#, Python, TypeScript, nase-Java.
Esikhundleni sokucela i-ejenti ye-AI ukuthi ikhumbule idokhumenti ye-architecture, i-kybes iphoqelela leyo architecture ngokukhiqiza okunqunywe kusengaphambili, ama-ejenti azinikele, imithetho eqondene namafolda, ama-hook, kanye nokuhlolwa kwe-CI. I-schema efanayo ikhiqiza okukhiphayo okufana ncamashi ngamabhayithi kuwo wonke amaphrojekthi.
Umthetho oyinhloko ulula: i-schema iwumthombo weqiniso, amafayela akhiqiziwe awahlelwa ngesandla, futhi ukuziphatha okwenziwe ngokwezifiso kufanele kube kufayela le-model elihambisana nethebula laso.
Indlela isakhiwo esikhiqiziwe esisebenza ngayo
Ngethebula ngalinye, i-kybes idala izingqimba ezimbili ze-model:
model/generated/<Table>iqukethe ama-entity akhiqiziwe, imisebenzi ye-CRUD, ubudlelwano, ama-query achaziwe, i-cursor pagination, kanye nokuqinisekisa idatha. Lawa mafayela akhiqizwa kabusha futhi akufanele ahlelwe.model/<Table>iyindawo ephephile yezindlela ezenziwe ngokwezifiso. I-C# isebenzisa i-partial class, kanti i-Python, i-TypeScript, ne-Java zisebenzisa indlela esekelwe ku-subclass.
Iphrojekthi evamile iphinde ibe nama-JSON Schema akhiqiziwe, i-PostgreSQL DDL, ukuhlaziywa kwama-index, i-index yamafayela e-model, kanye nama-artifact okuqinisekisa akhiqiziwe.
Faka i-kybes
Faka nge-Claude Code
Kusuka ku-Claude Code, engeza i-marketplace bese ufaka i-plugin:
/plugin marketplace add ivandilelio/kybes
/plugin install kybes@kybesNgaphakathi kwephrojekthi okuqondiswe kuyo, cela u-Claude Code ukuthi set up kybes in this project. Ikhono le-kybes:kybes-init libuza ukuthi yiziphi izilimi zama-model ozidingayo bese lidala ukumiswa, imithetho yezindlela, imiyalelo ye-CLAUDE.md, i-scaffold ongayikhetha, kanye ne-workflow ye-CI.
Ama-hook ahlala engasebenzi kuma-repository angakaqaliswa.
Faka ngomugqa womyalo
Ungakwazi futhi ukwenza i-clone ye-repository bese usebenzisa i-installer:
git clone https://github.com/ivandilelio/kybes
kybes/install.sh --target /path/to/project --scaffold --examples \
--model-langs csharp,python,typescript,javaI-installer ingasetshenziswa izikhathi eziningi ngaphandle kokuphinda idale izinkinga. Ngemva kokwenza i-clone yephrojekthi emisiwe, ozakwethu badinga kuphela ukusebenzisa tools/kybes/setup.sh kanye.
Hlola izidingo
Ama-hook kanye ne-generator kudinga i-python3 esebenzisa kuphela i-standard library. Ama-runtime akhiqiziwe adinga ama-dependency olimi oluhambisanayo:
- C#:
net8.0, i-Entity Framework Core 8, kanye ne-provider efana ne-Npgsql. - Python: i-Python 3.9 noma entsha kanye ne-SQLAlchemy 2.
- TypeScript: i-TypeORM,
reflect-metadata, kanye nezinketho ze-compiler ezivuliwe ze-experimentalDecoratorsne-emitDecoratorMetadata. - Java: i-Jakarta Persistence 3.1, i-Hibernate 6.2 noma entsha, kanye ne-Jackson yamakholomu e-
json.
Chaza i-schema yedathabheyisi
Dala ifayela le-YAML ngaphansi kwe-schemas/db. Isibonelo esilandelayo sichaza ithebula lama-oda elinenombolo ye-oda engaphindeki, ubudlelwano bekhasimende obudingekayo, i-query echaziwe, kanye ne-cursor pagination ehleleka:
table: Ordini
columns:
- { name: Id, type: uuid, primary_key: true }
- { name: Numero, type: string, length: 20, required: true, unique: true }
- { name: ClienteId, type: uuid, required: true }
- { name: Data, type: date, required: true }
relations:
- { name: Cliente, kind: many_to_one, target: Clienti, foreign_key: ClienteId }
queries:
- name: DelClienteDal
where: [ClienteId, { column: Data, op: gte, param: DaData }]
order_by: [{ column: Data, dir: desc }]
pagination:
default_order: [{ column: Data, dir: desc }]
sortable: [Data, Numero]Gcina ifayela njenge-schemas/db/Ordini.yaml. Ushintsho ku-schema luqala ukukhiqizwa kabusha kwezilimi ezimisiwe, lubuyekeze i-index ye-model, futhi lubale kabusha izincomo zama-index.
Sebenzisa i-API ekhiqiziwe
Ngeschema sesibonelo, i-kybes ikhiqiza amakhono alinganayo e-repository ngolimi ngalunye. Ukuqanjwa kwamagama kulandela imithetho yolimi okuqondiswe kulo:
- Funda ngokhiye:
GetByIdAsyncku-C#,get_by_idku-Python, kanye ne-getByIdku-TypeScript noma ku-Java. - I-cursor pagination:
ListPageAsync,list_page, nomalistPage. - Ukusesha ngekholomu engaphindeki:
FindByNumeroAsync,find_by_numero, nomafindByNumero. - Ukusesha ngokhiye wangaphandle:
ListByClienteIdAsync,list_by_cliente_id, nomalistByClienteId. - I-query echaziwe:
ListDelClienteDalAsync,list_del_cliente_dal, nomalistDelClienteDal.
I-API ekhiqiziwe iphinde inikeze ngemisebenzi yokuqinisekisa yokudala, yokubuyekeza, neyokususa, ama-accessor obudlelwano, kanye namakhasi asekelwe ku-cursor amelwe yi-request nekhasi eliqukethe izinto kanye ne-cursor elandelayo.
Chaza ama-query esikhundleni sokubhala ukufinyelela kwedatha kuma-handler
Faka izimo ze-query ezisekelwayo ku-schema esikhundleni sokungenisa i-ORM noma i-database driver ku-Lambda, service, noma controller. I-kybes isekela ama-operator afaka i-eq, ne, lt, lte, gt, gte, in, prefix, kanye ne-is_null.
I-generator idala indlela ye-repository futhi ihlaziye indlela yokufinyelela kuyo. Esibonelweni, izimo zokhiye wangaphandle nezosuku ziholela ku-index eku-(ClienteId, Data). Lesi sinqumo sigcinwa ku-db/generated/indexes.md.
Engeza ukuziphatha okwenziwe ngokwezifiso ku-model
Lapho izindlela ezikhiqiziwe zinganele, engeza izindlela zangokwezifiso kufayela lemodeli elingakhiqiziwe, njenge-model/Fornitori.py noma ifayela elilingana nalo lolimi olukhethiwe. Ungahleleli ukuqaliswa okukhiqiziwe.
Izindlela zangokwezifiso akufanele zingqubuzane namagama ezindlela ezikhiqiziwe. Zidinga futhi ukuhlolwa okulandelekayo ku-tests/custom/ ngaphambi kokuba umsebenzi uphele. Ifomethi elindelekile yesihlonzi sokuhlolwa ithi TC-<Table>-….
Gcina ukufinyelela kudatha ngaphakathi kongqimba lwemodeli. Umphathi kufanele abize indlela yemodeli ekhiqiziwe noma yangokwezifiso, angazakheli eyakhe imibuzo ye-SQLAlchemy, Entity Framework, TypeORM, noma Hibernate.
Qonda imikhawulo ye-kybes
Ama-hook e-kybes asebenza kuyo yonke inqubo yokuthuthukisa. Ngaphambi kokubhala, angavimba ukungeniswa kwe-ORM noma kwe-database driver ngaphandle kwemodeli, ukuhlelwa kwamafayela akhiqiziwe, amafolda amamodeli angavumelekile, ukungqubuzana kwezindlela, nezimfihlo ezibhalwe ngokusobala.
Ngemva kokubhala i-schema, i-kybes ingakhiqiza kabusha amamodeli, isebenzise ama-linter, futhi ibike izinkinga zokwakheka. Ngaphambi kokuqedwa, i-agent eyinhloko nawo wonke ama-subagent kufanele aphumelele ukuhlolwa kokwakheka, ukuhlolwa kwe-generator, iskripthi sokuqinisekisa, nemiyalo yokuhlola yephrojekthi.
Ukuhlolwa okuzenzakalelayo kwe-stop-gate kufaka:
arch_check, okuhlanganisa ukutholwa kwamabhulokhi aphindaphindiwe emigqa eyisishiyagalombili noma ngaphezulu.gen --checkyokuqinisekisa ukuthi okukhiqiziwe kusesikhathini.verify.pyyokuhlola amamodeli nemikhawulo ye-coverage ngokwe-ASIL.- Imiyalo yokuhlola yephrojekthi uqobo.
Lokhu kuhlolwa okufanayo kuyasebenza ku-CI nge---strict. Imithetho ingalungiselelwa njenge-block, warn, noma off ku-.claude/kybes.config.json. I-agent ayivunyelwe ukushintsha leli fayela lokumisa.
Sebenzisa ama-transaction, i-pagination, nama-index ngokuphepha
i-kybes ikhiqiza i-cursor pagination kusukela ekuhlelweni okuzenzakalelayo kwe-schema namakholomu avunyelwe ukuhlelwa. Lokhu kukhiqiza isicelo sekhasi esisekelwe ku-keyset nekhasi eliqukethe izinto kanye ne-cursor elandelayo. Amafomethi ama-cursor ayabelwana ngawo kuzo zonke izilimi ezisekelwayo, okusiza izinsizakalo namaklayenti ahlukene ukuthi asebenzisane.
Ama-transaction asebenzisa i-Unit of Work enamazinga okuhlukanisa ngokwethebula kanye nokuphinda kuzanywe okuzenzakalelayo lapho kuba nokwehluleka kwe-serialization nama-deadlock. Izindlela zokufinyelela ezimenyezelwe ziyahlaziywa ukuze kutholakale ama-index afanele; ama-index angekho ayakhiwa futhi ama-index aphindaphindiwe ayamakwa. Ukusesha kwezinqamuleli kungasebenzisa i-PostgreSQL varchar_pattern_ops lapho kufaneleka.
Lungiselela i-multi-tenancy
I-multi-tenancy ingalungiselelwa ithebula ngalinye kusetshenziswa elinye lamasu asekelwayo:
- Ikholomu ye-tenant, lapho zonke izindlela ezikhiqiziwe zihluzwa khona futhi imikhawulo eyingqayizivele ibekwe ngokwe-tenant.
- I-PostgreSQL row-level security.
- I-schema eyodwa nge-tenant ngayinye.
- I-database eyodwa nge-tenant ngayinye.
I-tenant iboshelwa ku-ORM session, futhi i-kybes ikhiqiza ukuhlolwa kokuhlukanisa kwesu elilungiselelwe.
Buyekeza ukwakheka kwephrojekthi ekhiqiziwe
Iphrojekthi elungiselelwe ilandela isakhiwo esibikezelwayo:
your-project/
├── schemas/db/<Table>.yaml
├── schemas/generated/json/<Table>.schema.json
├── libs/db-models/<language>/…/model/
│ ├── <Table>.{cs,py,ts} | <Table>Repository.java
│ └── generated/
├── libs/db-models/<language>/tests/
│ ├── generated/
│ └── custom/
├── docs/generated/verification/
├── db/generated/ddl/postgres/_all.sql
├── services/<context>/{functions,ms}/
├── jobs/
├── libs/utils/
├── libs/errors/
├── frontend/
├── infra/
├── MODEL_INDEX.md
└── .claude/kybes.config.jsonKonke okungaphansi kwefolda ethi generated/ kungokwe-kybes. Amanye amafayela amamodeli, ukuhlolwa kwangokwezifiso, ama-schema, nekhodi yohlelo kugcinwa yithimba lakho ngokwemithetho elungiselelwe.
Qinisekisa umphumela
Indawo yokugcina ihlanganisa ukuqinisekiswa kwekhodi ekhiqiziwe, ama-hook, i-SQL, nokuziphatha kwezilimi ezahlukene. Ukuhlolwa kuhlanganisa i-CRUD, ubudlelwano, ama-cascade, imikhawulo eyingqayizivele, izimo ezikhethekile ze-pagination, ama-operator emibuzo, nokuziphatha kwe-Unit of Work.
Ukuhlolwa kweyunithi okukhiqiziwe kuthola izidingo namacala okuhlola ku-schema ngayinye. Inqubo yokuqinisekisa ihlanganisa ama-equivalence class, amanani emingcele, ukuqagela amaphutha, i-MC/DC ye-ASIL C no-D, ukulandeleka, nemikhawulo ye-coverage ngethebula ngalinye. Indawo yokugcina iphinde ihlole ukuthi i-PostgreSQL DDL ekhiqiziwe iyahlukaniseka kahle nokuthi ama-cursor akhiqizwe olunye ulimi olusekelwayo angamukelwa ezinye.
Emsebenzini obalulekile kwezokuphepha, i-kybes izenzekelayo izingxenye ze-ISO 26262-6 ezingeni leyunithi yesofthiwe, kodwa ayithathi indawo yohlelo oluphelele lokuphepha, ukuhlaziywa kwezingozi, ukuqinisekiswa kwethuluzi, ukubuyekezwa okuzimele, noma inqubo yesitifiketi yenhlangano.
Isiphetho
i-kybes inikeza inqubo egxile ku-schema yezinsizakalo zangemuva ezikhiqizwa yi-AI ngendlela ebikezelayo. Chaza amathebula, ubudlelwano, imibuzo, i-pagination, nemithetho ye-tenancy kanye kuphela; vumela i-generator enqumayo ukuthi idale amamodeli aqondene nolimi, ama-index, i-DDL, ukuqinisekiswa, nokuhlolwa; bese ubeka ukuziphatha kwangokwezifiso kungqimba lwemodeli oluvunyiwe.
Nge-Claude Code agents, ama-hook ngesikhathi sokubhala, ukutholwa kwekhodi ephindaphindiwe, ukuqinisekiswa okukhiqiziwe, nokuhlolwa okuqinile kwe-CI, iphrojekthi ihlala ihambisana njengoba i-codebase nomongo we-AI kukhula. Ukuze uthole inkomba ejulile, hlola imibhalo yephrojekthi kanye nendawo yokugcina ikhodi.
