Merge remote-tracking branch 'origin/main' into feat/update-translation

# Conflicts:
#	Mods/DnD 5.5e AIO Russian/Localization/Russian/russian.xml
This commit is contained in:
2026-04-11 00:13:26 +03:00

View File

@@ -22,7 +22,8 @@ Approval/clarification:
- binary → yes/no - binary → yes/no
- multiple → numbered options + brief context - multiple → numbered options + brief context
- File links: relative paths, `/`, spaces as `%20`. - File links in repo docs/checklists: relative paths, `/`, spaces as `%20`.
- In assistant UI responses, use the link format required by the execution environment; include relative path text when possible.
--- ---
@@ -30,7 +31,7 @@ Approval/clarification:
- Never commit/push without explicit user approval. - Never commit/push without explicit user approval.
- After approval → commit + push immediately. - After approval → commit + push immediately.
- Commit messages: Russian, factual (what was done). - Commit messages: Russian, factual (what was done).
- Branch (`fix/*` or `feat/*`): ask once at dialogue start; reuse decision for all subsequent tasks in same dialogue. - Branch (`fix/*` or `feat/*`): ask once before the first file-changing task that may lead to commit; reuse decision for all subsequent tasks in same dialogue.
After work in `fix/*` or `feat/*`: After work in `fix/*` or `feat/*`:
1. MR → main 1. MR → main
@@ -107,8 +108,9 @@ Release ZIP:
- only `.pak` + `info.json` - only `.pak` + `info.json`
Triggers: Triggers:
- tag `v*` - automatic: push tag `v*`
- manual only - manual: workflow_dispatch
- branch pushes without tag MUST NOT publish release artifacts
--- ---
@@ -130,6 +132,11 @@ Before tag:
- derives version from tag - derives version from tag
- writes to `info.json` + staged `meta.lsx` - writes to `info.json` + staged `meta.lsx`
Conflict resolution (MUST):
- before release, `Version64` in `meta.lsx` MUST equal target tag version
- if mismatch, run `scripts/set-version.ps1 -VersionTag <tag>` and re-check
- if still mismatch, release is blocked
--- ---
## info.json (MUST) ## info.json (MUST)
@@ -152,7 +159,7 @@ Before commit:
- scope valid (localization/metadata only) - scope valid (localization/metadata only)
- no forbidden content - no forbidden content
- no build artifacts (`.pak`, `build/`, staging) - no build artifacts (`.pak`, `build/`, staging)
- no temp/debug artifacts; ignored patterns: `build/`, `build-stage*`, `.tools/`, `*.pak` - no temp/debug artifacts; ignored patterns MUST be present in `.gitignore`: `build/`, `build-stage*`, `.tools/`, `*.pak`
- packaging invariants intact - packaging invariants intact
- version consistent (if applicable) - version consistent (if applicable)
@@ -201,6 +208,10 @@ Before release:
- generate changelog draft - generate changelog draft
- ask for approval - ask for approval
Approval gates:
- Gate A: explicit approval for commit/push (code/content changes)
- Gate B: explicit approval for release publish (after changelog draft)
Release message: Release message:
- version - version
- changelog - changelog