AuthentificationPrêt
E-mail et mot de passe, passkeys, codes à deux facteurs, vérification de l'e-mail et gestion des sessions.
Un starter full-stack pour le web et le mobile. TanStack Start, Expo et une API typée sur Cloudflare.




Tâches, fichiers, sécurité et agents connectés. Les vrais écrans du template avec des données de démonstration.
Gardez ce dont votre produit a besoin. Toutes les intégrations sont incluses ; les services optionnels restent inactifs avant leur configuration.
E-mail et mot de passe, passkeys, codes à deux facteurs, vérification de l'e-mail et gestion des sessions.
Membres, invitations et rôles. Les todos et les fichiers appartiennent à l'organisation active.
Envois multipart vers R2, aperçus, liens de partage et corbeille.
Gestion des utilisateurs, usurpation d'identité, feature flags et journal d'audit.
Tableau, kanban et calendrier, avec files d’import à baux et brouillons proposés par les agents IA.
Stripe et Polar sur le web, RevenueCat sur mobile. Inactifs avant la configuration des fournisseurs et des flags de paiement.
Drizzle sur Neon Postgres, atteint via Hyperdrive.
E-mails transactionnels via Cloudflare Email, affichés dans la console en développement.
Anglais, allemand et français, hreflang, sitemap et images OG générées avec Takumi.
Chat en streaming avec TanStack AI et des outils MCP communs. Désactivé tant qu'un fournisseur n'est pas configuré et que le flag de l'assistant n'est pas activé.
Effect aux interfaces externes : cron et envois, avec des baux Postgres pour les tâches en file.
Une bannière de consentement qui retient les scripts d'analyse et de marketing.
iOS et Android avec le même client API, la même session et les passkeys.
Enregistrement push Expo et file de livraison. Désactivées tant que les identifiants ne sont pas configurés.
Widgets de todos pour iOS et Android, derrière une option de build natif.
Utilitaires AdMob conservés en bibliothèque autonome, non importés par l'app.
Un monorepo TypeScript. Chaque package a un rôle et une surface publique énumérée.
Le navigateur et Expo appellent le même routeur oRPC. Le Worker vérifie la session avant tout accès à Postgres ou R2.
apps/web/src/routes/index.tsximport { useQuery } from "@tanstack/react-query";import { orpc } from "@/utils/orpc";const { data: apiOk, isLoading: apiLoading } = useQuery(orpc.healthCheck.queryOptions());Extrait de la route d’accueil. Le client généré conserve le typage de la requête.
Partagez les contrats avec vos clients. Trois contrôles indépendants protègent connexions, secrets et code serveur.
Chaque pull request reçoit un Worker de preview et une branche Neon. Testez son URL avant de fusionner.
.github/workflows/pr-preview.yml
TanStack AI et le serveur MCP utilisent les mêmes outils autorisés. Les agents de code disposent des règles du dépôt et des décisions d’architecture.
Ce que l'agent lit en premier
AGENTS.mddocs/adr.agents/skills/api/mcp/llms.txtLisez AGENTS.md et CONTEXT.md. Configurez le projet avec le skill setup-envs en conservant les identifiants existants. Exécutez ensuite pnpm install, pnpm setup et pnpm run dev. Vérifiez l’application avec le skill agent-browser.
Appels d'outils via MCP
todo_listTerminé5 résultatstodo_createAutorisation requiseAttend votre autorisationAutoriserRefuserclaude mcp add --transport http my-app https://your-domain.example/api/mcpDans ChatGPT ou claude.ai, ajoutez la même URL /api/mcp comme connecteur personnalisé.
Clonez votre copie du dépôt. Installez, configurez et lancez le web et le mobile ensemble.
Node.js 22+ et pnpm. Setup demande la configuration du projet et des services.
Lire la documentationgit clone <your-repo-url> my-appPartez de votre copie du dépôt du template.
pnpm installInstalle chaque workspace du monorepo.
pnpm setupNomme le projet et écrit les fichiers d'env, Wrangler, la base de données, l'e-mail et le stockage.
pnpm run devLe web sur localhost:3005, plus le serveur de dev Expo pour le mobile.
Créez un compte et utilisez la vraie app : todos, fichiers, organisations, passkeys, double authentification et réglages. Elle tourne sur le même Worker que cette page.
Un seul déploiement sert les pages, l'API, l'auth et les tâches planifiées. Chaque pull request a son propre Worker, donc la revue se fait sur une vraie URL.
L'auth, les organisations et les files de tâches s'appuient sur les transactions et les verrous de Postgres. Hyperdrive mutualise la connexion, et chaque pull request a sa propre branche Neon.
Oui. optional-features.json liste chaque package optionnel et ses points d'entrée, et docs/optional-features.md explique comment les retirer.
Les couleurs, les rayons et les polices vivent dans un seul fichier de tokens. Les noms et les textes vivent dans les fichiers de langue. Les écrans n'utilisent que des tokens, donc changer la palette change toutes les pages.
Seulement pour modifier les tâches serveur. Effect coordonne l'exécution dans le Worker ; les contrats utilisent Zod, les requêtes oRPC, l'auth Better Auth et l'accès aux données Drizzle.
Pointez n'importe quel client MCP vers /api/mcp. Vous accordez l'accès via OAuth, la lecture et l'écriture sont des scopes séparés, et l'écriture ne crée que des brouillons que vous confirmez dans l'app.
Oui. L'assistant et MCP partagent un catalogue d'outils limité à votre organisation. Les modifications nécessitent une approbation. Configurez Anthropic, OpenAI ou Gemini et activez le flag de l'assistant pour afficher le chat. Il est désactivé par défaut.