Configuration de Claude Code

Configuration en une seule commande pour le suivi automatique du temps dans Claude Code.

Présentation

TeeckIn s'intègre à Claude Code pour suivre automatiquement votre temps de développement. La configuration prend moins d'une minute avec notre paquet NPM.

Authentification dans le navigateur

Claude Code utilise OAuth 2.0 avec PKCE, un flux d'authentification sécurisé basé sur le navigateur. Cela signifie :

  • Aucune clé d'API ni secret à gérer
  • Aucun identifiant stocké dans les fichiers du projet
  • Vous vous authentifiez une fois, et cela fonctionne dans tous vos projets

Ce que vous obtenez :

  • +Claude vous demande sur quel Topic vous travaillez au début de la session
  • +Demandez à Claude d'arrêter le Timer quand vous avez terminé
  • +Changez de Topic en cours de session en le demandant à Claude

Configuration rapide

Une seule commande pour démarrer :

Lancer la configuration

bash
# Run in your project directory
npx @teeckin/agent init --claude

Aucun identifiant nécessaire ! L'authentification se fait dans votre navigateur.

Première connexion

Lorsque Claude Code se connecte pour la première fois à TeeckIn, votre navigateur s'ouvre automatiquement :

  1. 1.Connectez-vous à TeeckIn (si ce n'est pas déjà fait)
  2. 2.Sélectionnez un agent existant ou créez-en un nouveau
  3. 3.Cliquez sur « Autoriser » pour accorder les permissions
  4. 4.Revenez à Claude Code : vous êtes connecté !

Différent des autres outils d'IA

Contrairement à Cursor, Copilot ou d'autres outils d'IA qui exigent des clés d'API (Client ID + Secret), Claude Code utilise l'OAuth dans le navigateur. Vous n'avez pas besoin de créer de secrets dans TeeckIn ni de stocker des identifiants dans votre projet. Les autres outils d'IA qui ne prennent pas en charge cette méthode devront utiliser le flux d'identifiants client.

Personnel ou organisation

Lors de l'autorisation dans le navigateur, vous pouvez choisir n'importe quel agent auquel vous avez accès : agents personnels ou agents d'organisation.

Ce qui est créé

La commande de configuration crée ces fichiers dans votre projet :

.mcp.json

URL du serveur MCP (sans identifiants : l'authentification se fait via le navigateur)

.claude/settings.json

Hook SessionEnd et permissions des outils MCP

CLAUDE.md

Instructions pour que Claude demande le Topic

Sans risque à committer

Le fichier .mcp.json ne contient que l'URL du serveur, sans secret. Vous pouvez le committer dans votre gestionnaire de versions en toute sécurité.

Agents par projet

Par défaut, Claude Code s'authentifie une fois et utilise le même agent pour tous les projets. Si vous souhaitez des agents différents pour des projets différents (par exemple un suivi du temps distinct pour le travail client), vous avez deux options.

Option 1 : portée locale (recommandé)

Utilisez la portée « locale » de Claude Code pour configurer TeeckIn par projet sans modifier le .mcp.json du projet. C'est idéal lorsque vous travaillez sur des bases de code clientes où vous ne voulez pas ajouter vos propres fichiers de configuration.

Ajoutez un paramètre de requête unique pour différencier l'URL de chaque projet :

bash
# In project A
cd ~/projects/project-a
claude mcp add teeckin -s http -t streamable-http \
  --url "https://api.teeckin.com/api/mcp?project=project-a"

# In project B
cd ~/projects/project-b
claude mcp add teeckin -s http -t streamable-http \
  --url "https://api.teeckin.com/api/mcp?project=project-b"

Le paramètre de requête (?project=...) amène Claude Code à traiter chaque URL comme un serveur MCP distinct, déclenchant des flux OAuth séparés. Le serveur ignore le paramètre : la sélection de l'agent se fait lors de l'autorisation dans le navigateur.

Fonctionnement de la portée locale

La portée locale stocke la configuration dans votre fichier personnel ~/.claude.json, organisé par chemin de projet. Il n'est pas committé dans le dépôt du projet, ce qui vous permet de l'utiliser sur des bases de code clientes sans modifier leurs fichiers.

Option 2 : configuration au niveau du projet

Si vous maîtrisez le projet, exécutez la commande de configuration avec une URL unique :

bash
# Creates .mcp.json in the project
TEECKIN_API_URL="https://api.teeckin.com/api/mcp?project=my-project" \
  npx @teeckin/agent init --claude

Cela crée un fichier .mcp.json qui peut être committé dans le gestionnaire de versions. Chaque membre de l'équipe s'authentifiera avec son propre agent lors du flux dans le navigateur.

Changer d'agent

Pour changer l'agent utilisé par un projet, exécutez dans Claude Code. Votre navigateur s'ouvrira et vous pourrez sélectionner un autre agent.

Terminer les sessions

Lorsque vous avez fini de travailler, demandez à Claude d'arrêter le Timer :

Demandez à Claude d'arrêter le Timer

Dites simplement à Claude : « Arrête le Timer » ou . Claude appellera l'outil . Claude will call the .

Problème connu : les hooks SessionEnd ne sont pas fiables

Ni /exit ni ne déclenchent de façon fiable les hooks SessionEnd dans Claude Code. Il s'agit d'un reliably trigger SessionEnd hooks in Claude Code. This is a dont nous attendons la correction par Anthropic. En attendant, demandez toujours à Claude d'arrêter le Timer avant de terminer votre session.

Oublié d'arrêter ?

Si vous oubliez d'arrêter le Timer, la prochaine session le détectera et proposera de le reprendre. Votre temps est conservé, pas perdu.

Sécurité

Claude Code utilise OAuth PKCE (Proof Key for Code Exchange) pour une authentification sécurisée :

  • +Aucun identifiant stocké dans les fichiers du projet
  • +L'authentification se fait dans votre navigateur
  • +Les jetons sont stockés en toute sécurité par Claude Code
  • +Vous pouvez révoquer l'accès à tout moment depuis Paramètres > Agents

Réautorisation

Si vous devez changer d'agent ou vous réautoriser, utilisez la commande de Claude Code. Votre navigateur s'ouvrira pour une nouvelle autorisation.

Commandes de la CLI

Le paquet fournit des commandes pour la configuration et le contrôle manuel du Timer :

Commandes de configuration

npx @teeckin/agent initConfiguration initiale (crée les fichiers de configuration)
npx @teeckin/agent updateMet à jour la configuration avec les derniers outils et fonctionnalités MCP

Commandes du Timer

npx @teeckin/agent exec:statusVérifie si un Timer est en cours
npx @teeckin/agent exec:update "notes"Met à jour les notes du Timer actif
npx @teeckin/agent exec:stopArrête manuellement le Timer actif

Mise à jour après les sorties de TeeckIn

Lorsque TeeckIn ajoute de nouveaux outils ou fonctionnalités MCP, exécutez pour actualiser votre configuration sans ressaisir vos identifiants.

Outils disponibles

Une fois configuré, Claude a accès à ces outils MCP :

Contrôle du Timer

teeckin_get_statusVérifie l'état du Timer ; détecte les sessions récentes pour les reprendre
teeckin_list_topicsListe les Topics et catégories disponibles
teeckin_start_timerCommence à suivre le temps sur un Topic (inclut les tâches de suivi)
teeckin_stop_timerArrête le Timer actif
teeckin_log_timeEnregistre un pointage terminé de façon rétroactive

Suivi de la liste de tâches

teeckin_add_checklist_itemAjoute une tâche au Topic actuel (persiste d'une session à l'autre)
teeckin_start_itemCommence à travailler sur une tâche (suit le temps, met les autres en pause automatiquement)
teeckin_check_itemMarque une tâche comme terminée (correspondance approximative)
teeckin_uncheck_itemRemet en attente une tâche terminée ou écartée
teeckin_dismiss_itemMarque une tâche comme inutile (conserve le temps passé)
teeckin_get_followupAffiche les tâches en attente sur le Topic actuel

Notes et tags

teeckin_update_timerMet à jour les notes du Timer actif (mode texte)
teeckin_list_tagsListe les tags disponibles pour classer le travail
teeckin_add_tagsAjoute des tags au Timer actif (les crée si besoin)

Mode liste de tâches

Les tâches sont rattachées aux Topics, et non aux pointages individuels. Cela signifie que les tâches inachevées persistent d'une session à l'autre jusqu'à ce que vous les terminiez ou les écartiez. Le temps passé sur chaque tâche est suivi dès que vous commencez à y travailler.

You:

Corrige le bug de validation de connexion et ajoute des tests unitaires

Claude:

[ajoute les tâches, commence par la première]
Je vais suivre ces tâches :
- Corriger le bug de validation de connexion (en cours)
- Ajouter des tests unitaires pour le module d'authentification

Claude (après avoir corrigé le bug):

[coche la tâche]
J'ai corrigé le problème de validation (12 min). Je passe aux tests.

Lorsque vous vérifiez l'état, la liste affiche les statuts et le temps :

Timer en cours : Project Alpha (45 minutes)

Tâche en cours : Ajouter des tests unitaires (8 min)

Tâches (1/2 terminées) :

- [x] Corriger le bug de validation de connexion (12 min)

- [*] Ajouter des tests unitaires pour le module d'authentification (en cours)

Pause automatique

Une seule tâche peut être « en cours » à la fois. Lorsque Claude démarre une nouvelle tâche, la tâche en cours précédente est mise en pause automatiquement. Cela garantit un suivi du temps précis par tâche.

Reprise de session

Si vous effacez une conversation ou démarrez une nouvelle session dans les 10 minutes suivant l'arrêt, Claude le détecte et propose de reprendre votre session précédente.

Claude (nouvelle session, sous 10 min):

Vous travailliez sur API Development il y a 3 minutes.

Tâches inachevées :
- [ ] Ajouter des tests unitaires pour le module d'authentification

Reprendre cette session ?

You:

Oui

Claude:

[démarre le Timer sur « API Development », reporte les tâches]
Reprise effectuée ! Prêt à continuer.

Changement de contexte rapide

Cela évite de perdre le contexte lorsque vous effacez une conversation pour repartir de zéro tout en voulant continuer sur le même Topic.

Persistance des tâches

Les tâches persistent automatiquement sur les Topics. Lorsque vous démarrez une nouvelle session sur le même Topic, les tâches en attente sont toujours là : nul besoin de les « reporter » ou d'accepter quoi que ce soit.

Claude (nouvelle session):

Timer démarré sur « Project Alpha ».

Tâches en attente (1) :
- [ ] Ajouter des tests unitaires pour le module d'authentification

Prêt à reprendre là où vous vous étiez arrêté ?

You:

Oui, faisons les tests

Claude:

[commence à travailler sur la tâche]
Je travaille sur les tests unitaires maintenant.

Écarter ou terminer

Si une tâche n'est plus pertinente, demandez à Claude de l'écarter. Elle disparaît de la liste des tâches en attente tout en conservant le temps déjà passé dessus.

Exemple de session

Claude (début de session):

Je vois que TeeckIn est configuré. Sur quel Topic travaillons-nous aujourd'hui ?

Topics disponibles :
- Backend : API Development, Database
- Frontend : React Components, Styling

You:

API Development

Claude:

[démarre le Timer sur « API Development »]
Timer démarré ! Sur quoi souhaitez-vous travailler ?

You:

Ajoute la pagination à l'endpoint des utilisateurs

Claude:

[implémente la fonctionnalité]
C'est fait ! J'ai ajouté la pagination par limit/offset avec une valeur par défaut de 20 éléments par page.

You:

Parfait, j'ai terminé pour aujourd'hui. Arrête le Timer.

Claude:

[arrête le Timer]
Timer arrêté. Vous avez travaillé 23 minutes sur API Development aujourd'hui.

Dépannage

Claude ne demande pas le Topic

Assurez-vous que le fichier CLAUDE.md a bien été créé. Vérifiez que la section TeeckIn figure en haut.

Le Timer ne s'arrête pas à la fin de la session

Les hooks SessionEnd ne sont pas fiables actuellement dans Claude Code (problème connu d'Anthropic). Demandez toujours à Claude d'arrêter le Timer avant de terminer votre session.

Le navigateur ne s'ouvre pas pour l'autorisation

Essayez d'exécuter /mcp reconnect teeckin dans Claude Code. Si cela échoue, vérifiez les réglages de votre navigateur par défaut.

La page d'autorisation affiche une erreur

Assurez-vous d'être connecté à TeeckIn. Si l'erreur persiste, essayez de vider le cache de votre navigateur pour teeckin.com.

Je veux passer à un autre agent

Exécutez /mcp reconnect teeckin dans Claude Code. Votre navigateur s'ouvrira et vous pourrez sélectionner un autre agent à autoriser.