원클릭으로
update-email-templates
// Update Authgear email templates using the correct source files, translation files, and commit order. Use when editing email wording, email structure, or subject lines.
// Update Authgear email templates using the correct source files, translation files, and commit order. Use when editing email wording, email structure, or subject lines.
Write or extend Go unit tests in this repo. Use when the user asks to add or update Go tests.
Draft or update detailed implementation plans for authgear-server specs, design changes, and docs/plans files. Use when Codex needs to turn a spec or outdated plan into a concrete implementation plan with exact files, exact methods, runtime call flow, compatibility requirements, test coverage, and atomic commit steps.
Write end-to-end (e2e) tests for authgear-server. Use when the user asks to write, add, or create e2e tests. The tests live in e2e/tests/ and are YAML-driven.
Set up a fresh authgear-server development environment from scratch. Use when onboarding a new contributor, setting up a new machine, or when the user says "set up local dev from scratch" / "first-time setup". Covers the asdf + Homebrew install path on macOS; Nix users should follow CONTRIBUTING.md directly.
Full pipeline for adding a new Site Admin API feature — from OpenAPI spec through implementation plan to working service. Use when adding a new endpoint or filling in real data for an existing stub.
Guidelines for updating or designing pages in the portal React frontend (portal/src). Covers component conventions, link rendering rules, i18n patterns, and common pitfalls.
| name | update-email-templates |
| description | Update Authgear email templates using the correct source files, translation files, and commit order. Use when editing email wording, email structure, or subject lines. |
Follow this workflow whenever updating email templates.
resources/authgear/templates/en/messages/*.txt.gotemplateresources/authgear/templates/en/messages/*.mjml.gotemplateresources/authgear/templates/en/messages/*.txtresources/authgear/templates/en/messages/*.mjml*.txt.gotemplate and *.mjml.gotemplate, use translations from:
resources/authgear/templates/en/messages/translation.jsonen locales in source-edit commits.resources/authgear/templates/en/translation.jsonresources/authgear/templates/en/messages/*.txt.gotemplateresources/authgear/templates/en/messages/*.mjml.gotemplateresources/authgear/templates/en/messages/translation.json (body/content translations)resources/authgear/templates/en/translation.json (subject translations).mjml from .mjml.gotemplate:
go run ./scripts/generatemjml/main.go -i resources/authgear/templates.mjml in one commit.en locale files so the generator knows to recreate them:
en/messages/translation.json changes, delete the top-level key (e.g. UsageAlert, not UsageAlert.Alert.Title) from all non-en messages/translation.json files:
make templates-translation-json-del-key KEY=<TopLevelKey>en/translation.json subject changes, delete the changed key from all non-en translation.json files:
make translation-json-del-key KEY=<key>make -C scripts/python generate-translationsclaude loginclaude login first.make html-email*.gotemplate, en/messages/translation.json, optional en/translation.json).mjmlmake -C scripts/python generate-translations)make html-email)Do not combine generated artifacts (.html, .txt, non-en translations) in the same commit as source *.gotemplate edits.