linuxdo-idea-ui
A collection of Tampermonkey scripts for skinning linux.do: featuring JetBrains/Darcula IDE styles, Feishu IM, and DingTalk IM appearances.
AI translation
Thèmes Shopify premium, pilotés par Claude.
Translation pending
PluginsLiquid · CSSGitHub @webuild-hqOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Catalogue de thèmes Shopify premium, pilotable par Claude via un serveur MCP. Voir ARCHITECTURE.md pour les décisions d'architecture.
Projet Next.js 16 (App Router), Supabase (Postgres, Auth, Storage), Stripe, Gemini.
Site et dashboard
| Route | Rôle |
|---|---|
/ | Présentation et thèmes |
/login, /forgot-password, /reset-password | Connexion, inscription (email + mot de passe, Google), mot de passe oublié |
/dashboard/[agence] | Vue d'ensemble : crédits, plan, boutiques, membres |
/dashboard/[agence]/claude | Connecter Claude (URL du MCP, exemples) |
/dashboard/[agence]/themes | Catalogue et détail des thèmes |
/dashboard/[agence]/shops | Boutiques livrées, re-téléchargement du zip |
/dashboard/[agence]/images | Images générées |
/dashboard/[agence]/credits | Solde, tarifs, historique |
/dashboard/[agence]/billing | Plans, paiement Stripe, portail client |
/dashboard/[agence]/members | Membres, invitations, places |
/oauth/consent | Consentement OAuth de Claude, avec choix de l'agence par défaut |
Serveur MCP (/api/mcp, OAuth Supabase)
| Outil | Rôle | Crédits |
|---|---|---|
list_my_agencies | Agences, rôle, solde, agence par défaut | Non |
get_account_status | Plan, solde, tarifs | Non |
get_build_guide | Méthode complète de construction d'une boutique (contenu de skills/webuild-store-builder/SKILL.md) | Non |
list_themes | Catalogue | Non |
get_theme_guide | Templates, sections, réglages, emplacements d'image | Non |
prepare_theme_install | Licence + lien de zip verrouillé sur la boutique | Oui (une fois par boutique et version) |
generate_section_image | Image Gemini pour une section, URL publique | Oui (remboursé en cas d'échec) |
Le serveur fournit aussi le prompt construire-boutique (menu + de Claude) et des instructions qui renvoient vers get_build_guide : l'utilisateur n'a pas de skill à installer.
Autres routes : /api/skill/download (la même méthode en skill, pour Claude Code), /api/stripe/webhook.
Les sources sont dans themes/<slug>/ (dossiers Shopify standards uniquement). Le zip livré est construit par le serveur, déposé dans le bucket privé theme-deliveries et transmis par un lien signé Supabase valable 1 h : ajout de snippets/webuild-license.liquid et de ses appels dans layout/. Le verrou compare shop.permanent_domain (Liquid) et Shopify.shop (JS) à l'empreinte de la livraison ; sur une autre boutique, la vitrine affiche "Thème non licencié".
Après une modification des sections d'un thème, régénérer son guide :
npm run themes:guides
Pour ajouter un thème : copier ses dossiers dans themes/<slug>/, l'ajouter à src/modules/themes/catalog.ts, puis régénérer les guides.
Les migrations sont dans supabase/migrations/, à exécuter dans l'ordre dans le SQL Editor de Supabase.
Les tests de sécurité (RLS, crédits, livraisons, places) tournent sur un Postgres local jetable qui imite Supabase :
PSQL="sudo -u postgres psql" npm run test:db
Chaque ligne === du résultat annonce ce qui est attendu (un refus attendu apparaît comme ERROR).
Voir .env.example. Dans Vercel, les clés secrètes sont de type Secret et ne commencent jamais par NEXT_PUBLIC_.
| Variable | Obligatoire | Usage |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Oui | Supabase |
SUPABASE_SECRET_KEY | Oui | Zips des thèmes livrés, webhook Stripe (abonnements et crédits), remboursement des images ratées |
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET | Pour le paiement | Abonnements |
GEMINI_API_KEY | Pour les images | Génération d'images (avec SUPABASE_SECRET_KEY) |
Supabase
/oauth/consent.https://webuild-claude.vercel.app (sans slash final), Redirect URLs https://webuild-claude.vercel.app/auth/callback.Stripe
https://webuild-claude.vercel.app/api/stripe/webhook, événements checkout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.paid.plans.cp .env.example .env.local # puis renseigner les valeurs
npm install
npm run dev
Scripts : npm run typecheck, npm run lint, npm run build, npm run test:db, npm run themes:guides.