# todos

Conservez l'état des tâches et les notes de passation à proximité du contexte de projet qui les rend utiles.

- Canonical: https://docs.xmemo.dev/fr/docs/tools/todos
- Locale: fr-FR
- Content-Locale: fr-FR
- Canonical-Content-Digest: 191848e34c6130ea7c7026f86e247cf62ccb063ecf6fa01d5f4acce533a64867
- Edition-Digest: eaadb34fcb2c86e1bb6a4bb9dcd672d7b3275eec28c4f39e2d71fa5d5d70ba08
- Source-Revision: sha256:a208365f51d49c201b173728a752a5cec89775c71d38b55619b7bdb6846d5717

## Tool Reference: `todo`

### Purpose

Créer, mettre à jour, terminer, lister ou supprimer en bloc de manière explicite les TODO de projet tout en préservant l'état des tâches à proximité de leur contexte de projet autorisé.

### Parameters

- `action` (create | update | complete | list | delete_all, required): Opération du répartiteur.
- `todo_id` (string, optional): ID d'élément exact pour la mise à jour ou l'achèvement.
- `content / title` (string, optional): Texte de la tâche ; lorsque les deux sont fournis, ils doivent concorder.
- `project_id` (string, optional): Identifiant autorisé de l'espace de travail du projet.
- `priority / due_at / status / note` (string, optional): Priorité de tâche, horodatage d'échéance, transition de statut et note de passation.
- `item_status / due_before / search / query` (string, optional): Filtres de liste ; search et query sont réservés à la liste et doivent concorder lorsque les deux sont fournis.
- `limit / cursor / owner_timezone` (integer / string, optional, default: 20 / empty / configured timezone): Contrôles de pagination et d'interprétation des dates.
- `client_mutation_id / expected_version` (string / integer, optional): Clé d'idempotence pour create/update et version de concurrence optimiste pour update.
- `confirm_delete_all` (boolean, optional, default: false): Requis à true pour une suppression en bloc réversible explicite.

### Returns

La sortie structurée identifie l'action et renvoie le ou les éléments concernés, le curseur de pagination, le statut de la mutation et les métadonnées sécurisées de la tâche. La suppression en bloc est toujours une suppression réversible récupérable.

### Errors

- Échec d'autorisation : la liste manque de memory:read ou une mutation manque de memory:write/capacité de projet.
- Échec de validation : la création manque de client_mutation_id, la mise à jour manque d'un expected_version positif, ou des champs d'action sont en conflit.
- Rejet de sécurité : delete_all requiert une confirmation explicite et n'est pas accessible aux appelants de widget/capacité de montage.
- Les erreurs de fuseau horaire, de projet ou de concurrence optimiste sont renvoyées explicitement ; le répartiteur n'ignore pas silencieusement des champs.

### Examples

#### Créer une tâche idempotente



```typescript
todo({
  action: "create",
  content: "Review the MCP scope matrix",
  client_mutation_id: "task-review-scope-001",
  due_at: "2026-08-25T09:00:00Z"
})
```

#### Lister les tâches ouvertes



```typescript
todo({ action: "list", item_status: "open", limit: 10 })
```

### Related Tools

- [remember](/docs/tools/remember): Enregistrer la décision ou le fait durable sous-jacent à une tâche.
- [recall_context](/docs/tools/recall-context): Restaurer le contexte de tâche et de projet avant de poursuivre le travail.
- [forget](/docs/tools/forget): Supprimer un TODO examiné par son ID exact si nécessaire.

## Lister les éléments ouverts avant d'en ajouter un autre

Lire d'abord permet d'éviter les TODO dupliqués lorsque plusieurs agents travaillent dans le même périmètre de projet.

```ts
todo({ action: "list" })
```

