DeepSeek Harness Remote can securely connect a phone or another computer to the computer where you run DeepSeek Harness, so you can continue your work anytime and anywhere, check progress anytime, and continue working.
Ayakaleaf Pro is a free, open-source, self-hosted Overleaf alternative: Overleaf Community Edition with almost all Server Pro features — track changes, project history, admin panel, SSO, Git-bridge, Z
The open-source alternative to Claude's browser plugin. AI-powered browser extension for Chrome & Firefox. Read, understand, and automate any web page. Multi-provider LLM support. Multilingual UI. Fre
Fold papers, web pages, files, and AI replies into five levels of detail. Zoom from an overview to the original text.
8h +9★ 873Productivity
Do you operate this project?
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.
Organization repository · verify with a repository file
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.
Get iT transforme les objectifs d’une personne en plans, en actions quotidiennes et en progrès mesurables, sur quatre piliers : physique, mental, social et financier. La vision complète est décrite dans docs/PRODUCT.md.
Prérequis
Node.js 24 ou plus récent
Un projet Supabase (base PostgreSQL et authentification)
Démarrage
npm install # installe les dépendances et génère le client Prisma
cp .env.example .env.local # puis remplir les valeurs
npm run dev # http://localhost:3000
Le site détecte la langue du navigateur et redirige vers /fr ou /en. Le choix fait avec le sélecteur de langue est mémorisé un an, et enregistré dans le compte de l’utilisateur connecté.
Configuration de Supabase
Créer un projet Supabase, de préférence dans la région Canada (Central).
Remplir .env.local à partir de .env.example. La clé à utiliser est la clé publiable (sb_publishable_…), jamais la clé secrète.
Dans Authentication → URL Configuration :
Site URL : http://localhost:3000 (puis l’URL de production) ;
Redirect URLs : ajouter http://localhost:3000/**.
Créer les tables : npm run db:deploy.
Recommandé, pour que les liens reçus par courriel fonctionnent sur n’importe quel appareil : dans Authentication → Emails, remplacer {{ .ConfirmationURL }} par :
Sans cette étape, le lien fonctionne seulement dans le navigateur où la demande a été faite.
Le service de courriel intégré à Supabase n’envoie qu’aux membres de l’équipe du projet, quelques fois par heure. Un fournisseur SMTP sera nécessaire avant d’ouvrir les inscriptions au public.
Mise en ligne (Vercel)
La version de test est hébergée sur Vercel (plan Pro : le plan gratuit est réservé à un usage non commercial), dans la région de Montréal (yul1, voir vercel.json), à côté de la base Supabase. Chaque envoi sur la branche main du dépôt GitHub est mis en ligne automatiquement.
Sur Vercel : Add New → Project, importer le dépôt GitHub (framework Next.js détecté, aucune commande à changer).
Dans Settings → Environment Variables, ajouter les variables de .env.local : NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, DATABASE_URL, DIRECT_URL, SUPABASE_SECRET_KEY, ANTHROPIC_API_KEY, SIGNUP_INVITE_CODE (le code donné aux testeurs), et NEXT_PUBLIC_VAPID_PUBLIC_KEY et VAPID_PRIVATE_KEY (notifications sur le téléphone ; npx web-push generate-vapid-keys, ou copiées de .env.local). Ne jamais mettre AI_PROVIDER=fake (refusé en production). NEXT_PUBLIC_APP_URL peut rester vide : l'adresse de production …vercel.app du projet est utilisée (VERCEL_PROJECT_PRODUCTION_URL, fournie par Vercel), y compris dans les liens des courriels.
Dans Supabase, Authentication → URL Configuration : Site URL = l'adresse Vercel (https://<projet>.vercel.app), et ajouter https://<projet>.vercel.app/** dans Redirect URLs en gardant http://localhost:3000/** pour le développement. Une adresse absente de cette liste est remplacée par la Site URL : les liens « mot de passe oublié » et de confirmation mèneraient ailleurs.
Les migrations ne sont pas appliquées par Vercel : npm run db:deploy depuis un poste de développement, puis envoyer le code qui les utilise (la base est partagée avec le développement pendant la bêta).
Changer une variable sur Vercel demande un nouveau déploiement (Deployments → Redeploy).
Application admin (dashboard de l’équipe)
Le dashboard de l’équipe est le même code, déployé une deuxième fois sur sa propre adresse. Avec APP_SURFACE=admin, ce déploiement ne sert que /admin (tout le reste mène au dashboard) ; l’application des membres, elle, répond « introuvable » sous /admin. Trois verrous protègent l’accès : Vercel Authentication devant tout le site, le rôle admin relu en base, et la double authentification (code d’une application d’authentification) ; chaque connexion et chaque page consultée sont inscrites au journal des accès.
Sur Vercel : Add New → Project, importer le même dépôt une deuxième fois (par exemple get-it-admin), région yul1 (lue dans vercel.json).
Settings → Environment Variables : APP_SURFACE=admin, plus NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY et DATABASE_URL (les mêmes que l’application). Rien d’autre : ni clé Anthropic, ni clé secrète Supabase, ni code d’invitation.
Settings → Deployment Protection : Vercel Authentication, portée All Deployments (gratuit sur tous les plans). Seuls les membres de l’équipe Vercel peuvent alors ouvrir l’adresse, y compris l’adresse de production …vercel.app. Inviter les autres fondateurs dans l’équipe Vercel.
Donner le rôle d’équipe aux fondateurs, dans le SQL Editor de Supabase : UPDATE profiles SET role = 'admin' WHERE id = (SELECT id FROM auth.users WHERE email = '…');. Les comptes admin ne comptent jamais dans les statistiques ; un compte de test se marque avec analytics_excluded = true.
Ouvrir https://<projet-admin>.vercel.app/fr/admin : courriel et mot de passe du compte Get iT, puis, la première fois, relier une application d’authentification (Google Authenticator, 1Password, Authy…) en scannant le code QR. Supabase Auth active les codes TOTP par défaut (Authentication → Multi-Factor).
En local : npm run dev:admin (port 3001, dossier de build .next-admin), à côté de npm run dev pour l’application.
Scripts
Commande
Rôle
npm run dev
Serveur de développement
npm run dev:admin
Application admin (dashboard de l’équipe), port 3001
npm run build / npm start
Build et serveur de production
npm run check
Lint, vérification des types et tests
npm run format
Formate le code avec Prettier
npm run db:migrate
Crée et applique une migration Prisma
npm run db:deploy
Applique les migrations existantes
npm run db:studio
Explore la base de données
Structure
docs/PRODUCT.md document fondateur du produit
messages/ textes de l’interface (fr, en)
prisma/schema.prisma schéma de la base de données
src/app/[locale]/ pages : (marketing) site public, (auth) connexion, (app) application
src/components/ composants partagés et primitives shadcn/ui (ui/)
src/features/ composants par domaine
src/server/ logique serveur (base de données, session, services)
src/i18n/ configuration des langues
Feuille de route du MVP
1. Fondation : stack, design system, langues, mises en page, base de données
2. Authentification (Supabase)
3. Onboarding et profil
4. Objectifs, jalons et tâches
5. Habitudes et séries
6. Page Aujourd’hui et check-in quotidien
7. XP, niveaux et progression
8. Get iT AI
9. Centre Get iT : fil social de base et modération
9b. Réorganisation : Communauté en accueil, popup « Ma journée », Profil (objectifs, habitudes, progression)
9c. Navigation à cinq catégories : Communauté, Messagerie, Mon développement (anciennement Mes services), Marketplace, Profil
9d. Journal (dans Profil) : une page par jour en texte libre, check-in du jour, photos et vidéo, récap de la semaine et du mois
9d2. Profil public : photo, courte présentation, nombre de contacts, onglet Publications
9d3. Mode Ranked (lot 1) : niveaux physique et financier classés de 1 à 100 (tests et questions), comparés au Canada et aux États-Unis par tranche d’âge ; niveaux privés sans Ranked
9f1. Groupes : forums publics (par pilier ou généraux), rôles créateur et admins
9f2. Discussions de groupe privées (Messagerie, sur invitation)
9f2b. Photos et vidéos dans les messages privés
9f2c. Renseignements du compte (date de naissance, sexe, région), Ranked avec taille, poids et IMC, Gear « bientôt »
9f2d. Mode clair et sombre (au choix dans Réglages, gardé dans le compte), typographie Inter et Anton
9f2e. Stories (24 h, contacts), groupes privés dans la Messagerie, pactes de groupe, plan d'objectif en conversation, classement Ranked, notifications (app et téléphone)
9f2f. Maquette officielle : mode sombre bleu foncé (orange seulement pour les détails), stories en carrés arrondis, pactes à faire glisser en haut de la Messagerie avec l’heure de chaque part, calendrier personnel (événements répétés) et lignes à glisser pour modifier ou supprimer
9f3. Pactes à plusieurs
9f. Événements (proposés par les membres, approuvés par Get iT)
9g1. Marketplace (lot 1) : comptes affiliés, catalogue Services et Gear, filtres, formulaire de vente, approbation par l’équipe Get iT
9g2. Paiement dans l’application (Stripe Connect : commission ou abonnement des vendeurs)
9g3. Avis et vérification des affiliés
9i1. Mon développement : plans personnalisés par Get iT AI (entraînement, mental, social, financier, entreprise)
9i1b. Calendriers : principal (tout) et par plan (séances, tâches, habitudes, objectifs)
9i1c. Modifier un plan avec ses propres mots ; description du projet dans le plan d’entreprise
9i2. Mon développement : suivi par un professionnel (rendez-vous, notes de session)