add-pattern
Add a new conflict-resolution pattern to GitWand core. Use this skill whenever someone wants to add a pattern, resolution rule, new conflict case, new…
Synchronise les fichiers de locale GitWand. Se déclencher dès que l'utilisateur parle d'ajouter une string UI, d'un texte dans l'interface, d'internationalisation, de traduction, d'une clé manquante dans une locale, de sync entre les langues, ou d'une nouvelle feature qui
$ npx -y skills add devlint/GitWand --skill i18n-sync --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/i18n-syncContext preview
The summary Claude sees to decide when to auto-load this skill.
Synchronise les fichiers de locale GitWand. Se déclencher dès que l'utilisateur parle d'ajouter une string UI, d'un texte dans l'interface, d'internationalisation, de traduction, d'une clé manquante dans une locale, de sync entre les langues, ou d'une nouvelle feature qui
name: i18n-sync description: > Synchronise les fichiers de locale GitWand. Se déclencher dès que l'utilisateur parle d'ajouter une string UI, d'un texte dans l'interface, d'internationalisation, de traduction, d'une clé manquante dans une locale, de sync entre les langues, ou d'une nouvelle feature qui affiche du texte à l'utilisateur.
Les 5 fichiers de locale se trouvent dans `apps/desktop/src/locales/` :
Les locales utilisent des objets **imbriqués** (pas de clés dot-notation plates) :
const fr = {
common: {
cancel: "Annuler",
save: "Enregistrer",
},
// ...
}Les composants Vue consomment les clés via `useI18n()` :
const { t } = useI18n()
// template: {{ t('common.save') }}---
Au démarrage, demander à l'utilisateur quel mode il souhaite — sauf si le contexte est explicite (ex : "j'ai ajouté un bouton", "il faut traduire X") : aller directement en Mode 3.
---
**Objectif :** détecter les désynchronisations sans modifier aucun fichier.
1. Lire `en.ts` et extraire récursivement toutes les clés (chemin dot-notation : `common.cancel`, `branches.create`, …) 2. Faire de même pour `fr.ts`, `es.ts`, `pt-BR.ts`, `zh-CN.ts` 3. Pour chaque locale, calculer :
4. Afficher le tableau récapitulatif :
Locale | Clés manquantes | Clés orphelines -----------|-----------------|---------------- fr.ts | 0 | 0 es.ts | 3 | 0 pt-BR.ts | 1 | 2 zh-CN.ts | 0 | 0
5. Lister les clés concernées sous le tableau (regroupées par locale) 6. Signaler les clés orphelines séparément — elles peuvent indiquer une fonctionnalité supprimée ; demander à l'utilisateur si elles doivent être retirées
---
**Objectif :** corriger toutes les désynchronisations détectées.
Pour chaque **clé manquante** dans une locale :
Exemple :
// Avant (es.ts) — clé manquante : common.refresh
common: {
cancel: "Cancelar",
save: "Guardar",
},
// Après
common: {
cancel: "Cancelar",
refresh: "Refresh", // TODO: translate
save: "Guardar",
},Pour les **clés orphelines** :
Terminer par un résumé des fichiers modifiés et du nombre de clés ajoutées.
---
**Objectif :** ajouter proprement une nouvelle string UI dans les 5 locales.
1. Identifier le groupe imbriqué approprié dans `en.ts` (ex: `common`, `branches`, `settings`…) 2. Ajouter la clé dans `en.ts` avec la valeur en anglais définitive 3. Ajouter la même clé dans `fr.ts`, `es.ts`, `pt-BR.ts`, `zh-CN.ts` avec valeur anglaise + `// TODO: translate` 4. Si l'utilisateur précise un composant Vue, vérifier qu'il utilise `useI18n()` — signaler tout texte hardcodé détecté 5. Afficher la clé dot-notation résultante pour copier-coller dans le composant
Exemple d'ajout dans `en.ts` :
branches: {
checkout: "Check out",
create: "Create branch",
delete: "Delete branch", // ← nouvelle clé ajoutée ici
rename: "Rename",
},Exemple dans `fr.ts` :
branches: {
checkout: "Extraire",
create: "Créer une branche",
delete: "Delete branch", // TODO: translate
rename: "Renommer",
},---
The Git client that actually resolves conflicts: 8 deterministic patterns auto-resolve the ones that were never decisions, full trace on the rest. Native (Tauri 2 + Rust), free, MIT.
Repo: devlint/GitWand
Add a new conflict-resolution pattern to GitWand core. Use this skill whenever someone wants to add a pattern, resolution rule, new conflict case, new…
Add a format-specific resolver to GitWand core. Use this skill whenever someone wants to add support for a new file format, file extension, lockfile, config…
Use this skill when the user wants to expose a Rust feature to the Vue frontend, add a Tauri IPC command, invoke something from a Vue component, or wire up any…
Guide a clean GitWand release end-to-end: bump version, update CHANGELOG, commit, tag, and push. Trigger on: make a release, bump version, publish to npm, ship…