GH GambleHub

Документ катары код

1) Архитектуралык принциптер

1. чындыктын бир булагы. Документтер, схемалар, диаграммалар, API спецификациялары, глоссарий - коддун жанындагы VCSде.
2. Автоматтык сапатын текшерүү. Линтерлер, орфография, шилтемелерди текшерүү, коддун мисалдарын doctest.
3. артефакт катары чогултуу. Doc-сайт, PDF/ebook, "орнотулган кеңештер" - релиздик пайплайндын бир бөлүгү.
4. Версиялоо жана трассалануу. Doc системанын жүрүм-турумун өзгөртөт ошол эле PR башкарат; ADR коммиттерге байланган.
5. Ролдор боюнча жеткиликтүүлүк. Коомдук/ички, Runbook 'жана on-call астында, интеграторлор үчүн API-спек.
6. Минималдуу кол менен жасалган. Контурлардын, схемалардын, көз карандылык графаларынын, код фрагменттеринин генерациясы - булактан.

2) документтердин түрлөрү жана репо түзүлүшү

Сунушталган макети:

docs/
index. md architecture/
overview. md contexts/( C4, contexts, boundaries)
components/
data/
schemas/ (JSON Schema, Avro, Proto)
lineage/ (dataflow. md, dq-policies. md)
security/
threat-models/
key-management. md api/
openapi/ (OpenAPI. yaml)
asyncapi/ (.yaml)
grpc/ (.proto)
processes/
rfc/ (RFC-YYYY-XX-Title. md)
adr/ (ADR-0001-title. md)
runbooks/ (incident-.md)
playbooks/
sops/ (standard operating procedures)
product/
user-guides/
how-to/
faq/
i18n/
en/, en/, tr/# assets localization/
diagrams/ (Mermaid, PlantUML, Graphviz)
images/
_templates/ (RFC/ADR/Runbook templates)
Артефакттар:
  • RFC - киргизүү алдында чечимдерди талкуулоо.
  • ADR - белгиленген архитектуралык чечим (контексти → чечим → кесепеттери → альтернатива).
  • Runbook/Playbook - окуя жана иш үчүн кадам нускамалар.
  • How-To/FAQ - милдет → кадамдар → натыйжасын текшерүү.
  • API-SPECTS - OpenAPI/AsyncAPI/Proto SDK жана док муунунун булагы катары.
  • Диаграммалар код катары Mermaid/PlantUML/Graphviz/C4.

3) стили жана стандарттары

Стилдин бирдиктүү колдонмосу (тон, терминология, аталыш шаблондору, мисалдар).
Канондук терминдер менен глоссарий (EN/RU), алиастар, тыюу салынган формулировкалар.
Номерлөө жана шилтемелер: Туруктуу казыктар, ADR/RFC/код ортосундагы кайчылаш пикирлер.

YAML фронтматтерде метадеректер:
yaml title: "Payment Service: Overview"
owner: "payments-team"
reviewers: ["platform", "security"]
last_review: 2025-10-15 tags: ["architecture","payments","pci"]

4) чогултуу жана жарыялоо

Статикалык сайттардын генераторлору:
  • MkDocs (Material) - жөнөкөй, ыңгайлуу, жакшы багыттоо жана издөө.
  • Docusaurus - документтердин жана docs + blog версиясы; MDX компоненттери.
  • Antora - ири платформалар үчүн модулдук документтер.
mkdocs мисал. yml (фрагмент):
yaml site_name: Platform Docs theme:
name: material features: [navigation. tabs, content. code. annotate, search. suggest]
plugins:
- search
- mermaid2
- mkdocs-awesome-pages-plugin
- macros nav:
- Review: index. md
- Architecture:
- Overview: architecture/overview. md
- Data: architecture/data/index. md
- API:
- REST: api/openapi/index. md
- Events: api/asyncapi/index. md

5) Диаграммалар жана схемалар код катары

Mermaid (ырааттуулуктун мисалы):
mermaid sequenceDiagram participant C as Client participant G as API Gateway participant S as Service
C->>G: POST /orders
G->>S: createOrder()
S-->>G: 201 + order_id
G-->>C: 201 Created
PlantUML (C4 контейнерлер):

@startuml
!include <C4/C4_Container>
Person(user, "User")
System_Boundary(system, "Platform"){
Container(api, "API", "HTTP")
Container(db, "DB", "Postgres")
}
Rel(user, api, "Uses")
Rel(api, db, "CRUD")
@enduml

OpenAPI/AsyncAPI сайтта рендерлик; алардын SDK/кардарлар/мисалдар түзүлөт.

6) Сапаты: Линтерс жана документтерди сыноо

Линтерлер/текшерүүлөр:
  • markdownlint - Markdown форматтоо эрежелери.
  • Vale - стили/терминология/тон.
  • Spellcheck - орфография (RU/EN сөздүктөрү).
  • Linkcheck - тышкы/ички шилтемелер, казыктар.
  • Doctest/Examples - коддун үзүндүлөрүн аткаруу, CLI/API версияларын синхрондоштуруу.
  • Schematest - OpenAPI/AsyncAPI/JSON Schema/Proto валидациясы.
GitHub Actions мисалы (фрагмент):
yaml name: docs-ci on: [pull_request, push]
jobs:
lint:
runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- run: npm i -g markdownlint-cli
- run: markdownlint "docs//.md"
- run: pipx run codespell docs          true
- run: pipx run linkchecker docs/site          true build:
runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- run: pip install mkdocs-material mkdocs-mermaid2-plugin
- run: mkdocs build --strict preview:
if: github. event_name == 'pull_request'
runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- run: mkdocs build
- uses: actions/upload-pages-artifact@v3
Doctest мисал (Python):
python docs/snippets/calc. py def add(a,b):
"""Returns sum of a and b.

>>> add(2,3)
5
"""
return a+b

CI 'python -m doctest docs/snippets/calc. py`.

7) жараяндар: RFC/ADR/Reviews жана эскирүү SLA

RFC агымы: демилгечиси → долбоор → талкуу → чечим → план → ишке ашыруу → пост-чындык ретро.
ADR агымы: кыскача тандоо чечүү + RFC шилтеме/эксперименттер.
Review-процедуралар: булак - 'CODEOWNERS' + 'doc-owners. yaml`.
SLA эскирүү үчүн: сын макалалар N күндөн кийин ревю боюнча 'last _ review' жана alert бар.

ADR үлгүсү (сокр.):
markdown
ADR-0007: Select Event Log - Avro + Schema Registry
Date: 2025-10-31
Status: accepted
Context: the evolution of schemes without breaking consumers is required.
Solution: Avro + Schema Registry, backward compatibility.
Implications: tooling, compatibility tests, N services migration.
Alternatives: JSON Schema, Protobuf (rejected due to X/Y).

8) Локализация (i18n) жана көп тилдүүлүк

Локалдаштыруу стратегиясы: баштапкы тил (EN же RU) → котормо бутактары 'i18n/< locale>'.
Ачкычтар жана контекст: аталыштар/фрагменттер үчүн "туруктуу ID" сактоо.
Текшерүүлөр: кадам 'missing-keys', расинхронизация үчүн алерталар.
Локалдык стилдер: локалдык глоссарийлер, алгылыксыз калькилер, локалдык UI тилиндеги коддун мисалдары.

9) продукт менен бириктирүү

Орнотулган жардам (in-app docs): MDX компоненттери, контексттик кеңештер.
Чыгаруу версиясы: tags/бутактар 'docs/vX. Y ', selector нускалары менен сайт.
Секциялардын автогенерациясы: OpenAPI/AsyncAPI, GraphQL SDL, CLI '-help'.
Код катары Changelog: автоматтык PR (feat/fix/docs/breaking).

10) Метрика жана документтердин байкоо

Docs SLO: чогултуу/жарыялоо убактысы, сайт, PR кийин документ пайда болгон убакыт.
Артефакттар менен камтуу: ADR менен кызматтардын үлүшү, мисалдар менен эндпоинттердин үлүшү, "ден соолукту текшерүү" менен Runbook 'тардын үлүшү.
Колдонуучу метриктер: жоопсуз издөө сурамдары, көрүү тереңдиги, CTR орнотулган кеңештер.
Сапаты: linters ката/1000 сап, "сынган шилтемелер", эскирген макалалардын үлүшү.

11) Коопсуздук жана купуялык

Жашыруун жана PD репо тыюу салынат; сырлар жана жашыруу үчүн линтерлер.
SSO аркылуу ички сайтка кирүү; коомдук бөлүмдөр бөлүнгөн.
Экспорттун эрежелери: PDF/ички шилтемелери жок архивдер, жашыруун документтер үчүн суу белгилери.
Скриншоттордун санитариясы: автоматтык анонимдештирүү (мок-маалыматтар/blur).

12) Үлгүлөр

Docs in PR. Жүрүм-турумга таасир этүүчү ар кандай өзгөртүү ошол эле PRдеги докторду жаңылоону камтыйт.
Шаблондор келишим катары. кызмат/EndPoint/Dataset түзүү - док даярдоо коюп генератор аркылуу.
Диаграммалар код катары. Ар бир чийме - редактордук булак, CI SVG/PNG чогултуу.
Docs Preview. Комментарий бот PR үчүн сайтты алдын ала көрүү шилтеме менен.
Код боюнча док-линктер. Баштапкы булактардагы аннотациялар ('@doc: adr/0007'), алар сайтка тартылат.

13) Анти-үлгүлөрү

Wiki/Notion документтери коддун жанында эч кандай версиясы жок → синхрондоштуруу.
Скриншоттор жок баштапкы → автоматтык түрдө жаңыртуу мүмкүн эмес.
оозеки чаттар жана жеке документтерде "жашыруун" билим.
Generics эч кандай мисалдар жана инварианттар → пайдасыз барактар.
ээлеринин жоктугу жана 'last _ review' → эскирген көчкү.
Кол менен чогултуу жана жарыялоо → сынык жана сейрек док бошотуу.

14) Автоматташтыруу мисалдары

Species API бөлүмүн түзүү:
bash build. sh scripts/render-openapi. sh api/openapi/.yaml > docs/api/openapi/index. md scripts/render-asyncapi. sh api/asyncapi/.yaml > docs/api/asyncapi/index. md
Шилтемелерди жана казыктарды текшерүү:
bash linkcheck --config. linkcheck. yml site/
Алдын ала көрүү бот (PR комментарий):
yaml
- name: Deploy Preview run: mkdocs build && npx serve -s site -l 5000 &
- name: Comment with URL uses: peter-evans/create-or-update-comment@v4 with:
issue-number: ${{ github. event. pull_request. number }}
body: "Preview: http ://preview- $ {{github. run_id }}.local"

15) Архитектордун чек тизмеси

1. Коддун жанындагы доктун бирдиктүү репозиторийи жана түшүнүктүү түзүлүшү барбы?
2. Сүрөттөлгөн шаблондор (RFC/ADR/Runbook/How-To) жана сөздүк?
3. Linters кирет (markdownlint, Vale), spellcheck, linkcheck жана doctest?
4. Диаграммалар жана схемалар - код сыяктуу, CI чогултуу?
5. API-Спек (OpenAPI/AsyncAPI/Proto) тастыкталып, сайтта рендерлик?
6. Уюштурулган docs-preview үчүн PR жана auto-жарыялоо боюнча merge?
7. эскирген SLA бар (last_review) жана "ээлери" барактар?
8. Метрика: жабуу, Линтер каталар, сынган шилтемелер, издөө "нөл" суроо?
9. Коопсуздук саясаты: сырлар тыюу салынган, SSO, суу белгилери/экспорт?
10. Локализация бутактар ​ ​ тарабынан башкарылат жана пропуск үчүн текшерилет?

Корутунду

Docs-as-Code документтерди "постфактум жазууларынан" иштеп чыгуунун жумушчу артефактына айландырат: версиялануучу, сыналуучу жана жеткирилүүчү. Мындай ыкма менен билим коддун жанында жашайт, өзгөрүүлөр ачык-айкын, ал эми колдонуучулар жана инженерлер керектүү учурда актуалдуу көрсөтмөлөрдү, схемаларды жана мисалдарды алышат. Бул операциялык тобокелдиктерди азайтат, байланышты тездетет жана платформа боюнча чечимдердин сапатын жакшыртат.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.