Агуулгыг алгасах

Хувь нэмэр оруулах заавар

Gerege Nexus (open-gerege-nexus) төсөлд хувь нэмэр оруулах сонирхол гаргасанд баярлалаа. Модуль бүтэцтэй, өндөр бүтээмжтэй нээлттэй эхийн платформыг хамтдаа бүтээхэд таны оролцоог урьж байна.

Монгол  ·  English


Хариуцагчид

Төслийг дараах баг хөгжүүлж, хариуцан ажиллуулна:


Ёс зүйн дүрэм

Хувь нэмэр оруулагч бүр Ёс зүйн дүрэм-ийг мөрдөнө. Зохисгүй үйлдлийг community@gerege.mn хаягаар мэдэгдэнэ үү.


Хэрхэн хувь нэмэр оруулах вэ

1. Алдаа мэдээлэх

Алдаа мэдээлэхийн өмнө нээлттэй issue-үүдийг шалгаж, давхардал үүсгэхээс сэргийлнэ үү. Мэдээлэлдээ дараахыг заавал оруулна:

  • Алдааг давтан гаргах тодорхой алхмууд.
  • Ажиллаж буй орчин (Go хувилбар, Node.js хувилбар, үйлдлийн систем, PostgreSQL хувилбар).
  • Хүлээгдэж буй ба бодит үр дүн, боломжтой бол лог.

2. Шинэ боломж санал болгох

Санал болгож буй боломжийн хэрэглээний тохиолдол, шийдэх гэж буй асуудал, төсөөлж буй шийдлээ тодорхой бичнэ үү.

3. Pull request илгээх

  1. Салбар үүсгэхgit checkout -b feature/amazing-feature.
  2. Код бичих хэв маягийг мөрдөх:
  3. Backend: Go 1.26+, gofmt форматлалт, slog бүтэцтэй логлолт, алдааг тодорхой шалгах.
  4. Frontend: Next.js 16 App Router, TypeScript strict горим, Tailwind CSS.
  5. Тест бичих — backend-д нэмэгдсэн логик бүрт *_test.go тест дагалдана.
  6. Шалгалтуудыг ажиллуулах:
# Backend: формат, статик шинжилгээ, тест
cd backend
gofmt -l .
go vet ./...
go test -race ./...
golangci-lint run

# Frontend: төрлийн шалгалт ба build
cd ../frontend
npx tsc --noEmit
npm run build
  1. Commit бичлэгConventional Commits хэлбэрийг баримтална:
  2. feat: add invoice management module
  3. fix: resolve stock level calculation rounding
  4. docs: update module authoring guide
  5. PR нээхmain салбар руу чиглүүлнэ. CI дээрх lint, тест, frontend build, аюулгүй байдлын шалгалт бүгд ногоон байх шаардлагатай.

Шинэ бизнес модуль нэмэх

  1. backend/internal/apps/<module_name>/ дор шинэ пакет үүсгэнэ.
  2. backend/pkg/nexus-ийн nexus.Module интерфейсийг бүрэн хэрэгжүүлнэ.
  3. Модулийг nexus.Register-ээр бүртгэж, catalog/manifests/<slug>.json manifest файл нэмнэ. Manifest-ийн бүтэц appcatalog.Manifest-тэй яг таарах ёстой — алдаатай manifest бол сервер асахгүй.
  4. catalog/apps.json-д апп-аа бүртгэнэ. apps хүснэгт нь ачаалал бүрт энэ файлаас синк болох тул SQL гараар бичих шаардлагагүй.
  5. 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-ээс үзнэ үү.