Kako se Biblija automatski ažurira?¶
TL;DR
update-bible pipeline koristi Claude agentic step da automatski
održava docs/bible/docs/ u sync-u sa code promjenama na main.
Trigger: repository-push na main, osim kad push dira samo
docs/bible/ (changesetExclude). Miješani push (bible + non-bible
fajlovi) i dalje okida. Agent otvara PR sa potrebnim ažuriranjima.
Pipeline flow¶
flowchart LR
A[Push na main] --> B{Sve izmjene\nu docs/bible/?}
B -->|Ne - postoji non-bible| C[update-bible\npipeline]
B -->|Da - samo bible| D[Preskače se\n(nema petlje)]
C --> E[render-bible-settings]
E --> F[update-bible\nagent step]
F --> G{Agent našao\nšta ažurirati?}
G -->|Da| H[PR sa\nažuriranjem]
G -->|Ne| I[Čist exit\nbez PR-a]
Trigger uslov¶
U bitbucket-pipelines.yml:
triggers:
repository-push:
- condition: BITBUCKET_BRANCH == "main" && changesetExclude("docs/bible/**")
pipelines:
- update-bible
changesetExclude("docs/bible/**") vraća true kad barem jedan
promijenjeni fajl nije u docs/bible/. Zato: čisto-bible push (svi
fajlovi u docs/bible/) se preskače, a miješani push (bible +
non-bible) i dalje okida agenta. Ovo sprečava beskonačnu petlju —
agent commituje samo u docs/bible/, pa njegov vlastiti push ne
okida pipeline ponovo.
Dva step-a¶
1. Render Bible agent settings¶
ci/claude/render_ci_settings.py generiše .claude/settings.local.json
sa model routing konfiguracijom (isti pattern kao review agent).
Artifact se predaje agent step-u.
2. Update Bible agent¶
Agentic step koji:
- Pregleda triggering diff (promjene van
docs/bible/) - Identificira koncepte, servise, CLI flag-ove, env var-ove, JSON schema-e, make target-e, vendor integracije, ili invariant-e koji trebaju biti dokumentovani
- Ako treba ažuriranje:
- Edituje/kreira Markdown stranice pod
docs/bible/docs/ - Prati
docs/bible/CLAUDE.mdkonvencije (bosanski/srpski/hrvatski) - Dodaje nove skraćenice u
docs/includes/abbreviations.md - Dodaje nove stranice u
mkdocs.ymlnav - Verificira build (
mkdocs build, non-strict) - Kreira branch, commit, push, i otvara PR
- Ako ne treba ažuriranje: čist exit
Auth¶
Agent step koristi update-bible-auth autentifikaciju:
- authentication: &update-bible-auth
system:
scopes:
- write:repository:bitbucket
- read:pullrequest:bitbucket
- write:pullrequest:bitbucket
Potrebni scope-ovi za kreiranje branch-a, push-a, i PR-a.
Branch konvencija¶
Agent kreira branch u formatu:
bible/auto-update-<topic>-$BITBUCKET_BUILD_NUMBER
Šta agent NE radi¶
- Ne dira fajlove van
docs/bible/ - Ne push-a direktno na
main - Ne stavlja secretse u commitove ili PR-ove
- Ne popravlja poznate TBD stranice (to je planirani rad, ne automatski)
Vidi i¶
docs/bible/CLAUDE.md— konvencije za sadržaj biblijedocs/bible/docs/CLAUDE.md— operativni brief za stranicebitbucket-pipelines.yml—update-biblestep + trigger definicija