SB.
Aller au contenu
Logo SandForge

Projet

SandForge

Gestion visuelle de sandboxes Salesforce dans VSCode. Graphe de dépendances interactif, templates YAML, déploiement en un clic.

Tableau de bord SandForge : compteurs d'orgs connectées et d'opérations, panneau « Forge a Sandbox » avec saisie d'un identifiant d'enregistrement, santé des sandboxes, actions rapides et indicateurs de charge API.

Le problème

Une sandbox de développement fraîche est vide. La remplir de données crédibles suppose de recopier un graphe de relations entier depuis une autre org, de remapper chaque identifiant, de ne pas emporter de données personnelles, et de ne jamais écrire dans la production par inadvertance.

L'approche

Une extension VSCode avec une seule interface WebView : on colle l'identifiant d'un enregistrement racine, l'extension découvre son graphe de dépendances en parcours en largeur, on règle la profondeur, le nombre d'enregistrements par objet et l'anonymisation, puis on exécute vers la sandbox cible, où chaque identifiant est remappé automatiquement. Le garde-fou production est actif par défaut : double confirmation avant toute écriture sur une org de production, suppression bloquée, journal d'audit des opérations.

Ce qui le caractérise

  • Quatorze modules, une extension

    Clonage de graphe, jeux de données figés rejouables à l'identique après un refresh, génération synthétique, synchronisation bidirectionnelle, supervision, comparaison de métadonnées, sauvegarde et anonymisation, pipelines visuels, assistant IA en lecture seule, import de configurations SFDMU. Le README marque explicitement les modules dont l'interface est livrée mais pas encore alimentée.

  • Monorepo pnpm à trois paquets

    Un paquet partagé (types, schémas Zod), l'hôte d'extension (API Salesforce, orchestrateurs, esbuild) et la WebView React (Vite, Tailwind). La WebView parle à l'hôte par un broker postMessage typé dont chaque message est validé par Zod à la frontière.

  • Anonymisation cadrée

    L'assistant de seeding embarque des jeux de règles d'anonymisation RGPD, CCPA, HIPAA et PCI-DSS, et la pseudonymisation des jeux figés est déterministe : le même enregistrement source donne toujours le même résultat.

  • TypeScript strict, un test par fichier

    Pas de any, pas de variable inutilisée, et chaque fichier .ts a son .test.ts dans le même répertoire. Interface complète en six langues.

Stack technique

TypeScriptReactReactFlowMonaco EditorMonorepo

Liens

Autres projets

L’expertise correspondante

Un besoin proche de ce projet ?

Le premier échange est un appel de 30 minutes : vous exposez votre contexte, je vous dis si le besoin entre dans mon périmètre et quelle première étape je recommande.