chore: articles localization groundwork

This commit is contained in:
Florian Sylvain committed 2026-10-31 21:22:44 +01:00
1 parent 0bdcca8a90
commit 99a74dc3a2
23 files changed
+3524

No files matched your search

@@ -0,0 +1,55 @@
# Fresh-context implementation prompt
Paste the following into a new Codex chat in the RenewCMS workspace.
```text
Implement article localization in RenewCMS using our Claude Code /slice workflow, adapted to your available agent tools. Act as orchestrator; do not implement the whole feature in one coder pass.
Read first:
- CLAUDE.md and CODING_STANDARDS.md.
- .claude/commands/slice.md.
- .claude/agents/specifier.md, coder.md, cleaner.md, architect.md, hardener.md, qa.md.
- Any applicable AGENTS.md instructions.
- docs/design/README.md and docs/design/localization.md.
- docs/design/localization-tables.md, relevant screens/localization-*.md, routes.md, states.md, components.md.
The user authorized importing the latest Claude Design localization output into docs/design in the previous chat. That import is complete. docs/design/localization.md records corrections and precedence, including compatibility, direct saving of online content, locale handling, conflict semantics and limitations. Treat it as the integration handoff. It does not mean Gherkin scenarios have been accepted.
The imported visual sources are:
- docs/design/source/RenewCMS Screens Localization.dc.html
- docs/design/source/LocaleFrame.dc.html
- docs/design/source/locale-spec.js
- docs/design/source/LocalizationShell.dc.html
LocalizationShell isolates the exported shell from older boards; production must reuse the existing SPA shell. Existing shared design boards were not overwritten. The connected localization prototype is unfinished and imported frames have not been visually validated. Do not claim visual parity or waive visual gates. New screen files enumerate 109 target states across 12 groups. The visual checker may need explicit source/group/viewport integration as a separately scoped change.
Use fresh subagents for stages. Run dependent stages strictly sequentially and hand off actual accepted scenario text, paths, exact changed-file scope and prior reports. Claude's Agent/TodoWrite/AskUserQuestion/Read/Bash names should be mapped to available equivalents. Do not assume Sonnet/Haiku models or PushNotification exist here. Keep reports on disk under a task-specific tmp directory. Report unavailable tools honestly.
Start by inspecting the current repository and relevant existing feature pairs. Propose a concise slice roadmap grounded in the handoff, then run specifier for the first bounded foundational slice. Choose a useful complete unit, not all localization storage, UI and review at once.
Present the first slice's Gherkin and companion QA draft for explicit acceptance. Do not write accepted feature files or start coder before acceptance; this is required by .claude/commands/slice.md and .claude/agents/specifier.md. Explain that source when presenting the approval step. After acceptance, verify the promised files exist under features/ before proceeding.
Then follow /slice faithfully:
- coder uses red/green/refactor and acceptance tests.
- Measure changed lines, files and layer crossings; select fast/full path.
- cleaner and architect only under the documented gates; architect is read-only.
- One scoped mutation pass owned by the appropriate stage, through task mutate only; hardener reuses its results on the full path.
- hardener verifies boundaries, tests, scenario fidelity, and required visual conformance.
- qa audits final handoffs and accepted-scenario coverage and runs required final checks.
- Follow documented retry limits and report blockers rather than inventing a PASS.
Preserve these constraints:
- Git read-only; no commits, checkout, reset or branch writes.
- No source comments except required tool directives.
- No secret, .env or real database reads.
- Dependency direction stays api → useCases → domain ← persistence/mailer.
- Existing API shapes and anonymous/public article listing behavior stay compatible unless a slice explicitly accepts a change.
- Regional locales are preserved; language setup never translates or guesses groups.
- Every version has independent permissions and publishing; unreadable siblings stay undisclosed.
- Saving an online version updates live content under existing update permission; no unpublished-revision workflow is being added.
- Optional reference language and tracked review source are separate.
- Use existing Nuxt UI components, typed API client and design tokens.
- docs/design is read-only during implementation stages. Surface remaining contradictions during specification and obtain a concrete design decision; do not improvise in coder or grant visual exceptions yourself.
Do not ask me to restate the feature or return to Claude Design. Use the imported handoff and repository. Ask only for material unresolved product decisions or the explicit scenario acceptance required by our workflow.
```