Хувь нэмэр оруулах заавар
Gerege Nexus (open-gerege-nexus) төсөлд хувь нэмэр оруулах
сонирхол гаргасанд баярлалаа. Модуль бүтэцтэй, өндөр бүтээмжтэй нээлттэй эхийн
платформыг хамтдаа бүтээхэд таны оролцоог урьж байна.
Монгол
·
English
Хариуцагчид
Төслийг дараах баг хөгжүүлж, хариуцан ажиллуулна:
- Gerege Systems Development Team (@gerege-systems)
- Gemini AI, Claude AI
Ёс зүйн дүрэм
Хувь нэмэр оруулагч бүр Ёс зүйн дүрэм-ийг мөрдөнө.
Зохисгүй үйлдлийг community@gerege.mn хаягаар мэдэгдэнэ үү.
Хэрхэн хувь нэмэр оруулах вэ
1. Алдаа мэдээлэх
Алдаа мэдээлэхийн өмнө нээлттэй issue-үүдийг шалгаж, давхардал үүсгэхээс сэргийлнэ үү. Мэдээлэлдээ дараахыг заавал оруулна:
- Алдааг давтан гаргах тодорхой алхмууд.
- Ажиллаж буй орчин (Go хувилбар, Node.js хувилбар, үйлдлийн систем, PostgreSQL хувилбар).
- Хүлээгдэж буй ба бодит үр дүн, боломжтой бол лог.
2. Шинэ боломж санал болгох
Санал болгож буй боломжийн хэрэглээний тохиолдол, шийдэх гэж буй асуудал, төсөөлж буй шийдлээ тодорхой бичнэ үү.
3. Pull request илгээх
Салбар үүсгэх —
git checkout -b feature/amazing-feature.Код бичих хэв маягийг мөрдөх:
- Backend: Go 1.26+,
gofmtформатлалт,slogбүтэцтэй логлолт, алдааг тодорхой шалгах. - Frontend: Next.js 16 App Router, TypeScript strict горим, Tailwind CSS.
- Backend: Go 1.26+,
Тест бичих — backend-д нэмэгдсэн логик бүрт
*_test.goтест дагалдана.Шалгалтуудыг ажиллуулах:
# Backend: формат, статик шинжилгээ, тест cd backend gofmt -l . go vet ./... go test -race ./... golangci-lint run # Frontend: төрлийн шалгалт ба build cd ../frontend npx tsc --noEmit npm run buildCommit бичлэг — Conventional Commits хэлбэрийг баримтална:
feat: add invoice management modulefix: resolve stock level calculation roundingdocs: update module authoring guide
PR нээх —
mainсалбар руу чиглүүлнэ. CI дээрх lint, тест, frontend build, аюулгүй байдлын шалгалт бүгд ногоон байх шаардлагатай.
Шинэ бизнес модуль нэмэх
backend/internal/apps/<module_name>/дор шинэ пакет үүсгэнэ.backend/pkg/nexus-ийнnexus.Moduleинтерфейсийг бүрэн хэрэгжүүлнэ.- Модулийг
nexus.Register-ээр бүртгэж,catalog/manifests/<slug>.jsonmanifest файл нэмнэ. Manifest-ийн бүтэцappcatalog.Manifest-тэй яг таарах ёстой — алдаатай manifest бол сервер асахгүй. catalog/apps.json-д апп-аа бүртгэнэ.appsхүснэгт нь ачаалал бүрт энэ файлаас синк болох тул SQL гараар бичих шаардлагагүй.frontend/app/<module_name>/page.tsxдор дэлгэц нэмнэ.
Дэлгэрэнгүйг Модуль хөгжүүлэх заавар-аас үзнэ үү.
backend/pkg/nexus-д хүрэх PR
Энэ пакет бол экосистемийн гэрээ: distribution repo бүр түүн рүү компилл хийж, tag-аар түгжинэ. Тиймээс:
- CODEOWNERS-ийн review заавал (
.github/CODEOWNERS). - Экспортолсон гадаргуу өөрчлөгдвөл
go test ./pkg/nexus -updateажиллуулж,testdata/api.txt-ийн diff-ийг PR-даа оруулна. Тэр diff нь гэрээ юу авч, юу алдсаныг review-д яг хэлнэ. - Эвдэх өөрчлөлт бол deprecation → нэг major цикл. Дүрмийг Хувилбар гаргах журам-аас үзнэ үү.
Баримт бичиг ба орчуулга
- Үндсэн хэл нь монгол. Орчуулгууд
docs/дор_EN,_ZH,_RUдагаварт байрлана. - Баримт бичигт emoji ашиглахгүй. Дүрс шаардлагатай бол
docs/assets/icons/дахь Flaticon дүрсийг ашиглаж,ATTRIBUTION.md-д эх сурвалжийг нэмнэ. - Орчуулга нэмэх журмыг
docs/README.md-ээс үзнэ үү.