coda-cli-eval
v1.0.3
Published
CLI-Coda
Readme
📝 mon-cli
Un gestionnaire de tâches en ligne de commande développé en TypeScript, avec CRUD complet, décorateurs, persistance JSON et tests unitaires.
🚀 Fonctionnalités principales
| Fonctionnalité | Description |
| --------------------------- | ---------------------------------------------------------------------------- |
| Créer une tâche | Ajouter une tâche avec titre, status et priorité. |
| Lister les tâches | Voir toutes les tâches ou filtrer par status / ID. |
| Mettre à jour une tâche | Modifier le titre, le status ou la priorité. |
| Supprimer une tâche | Retirer une tâche par son ID. |
| Décorateurs | @timestamp pour la date de création, @validate pour valider les données. |
| Persistance | Stockage automatique des données dans des fichiers JSON. |
| Tests unitaires | Couverture > 70% avec Vitest. |
📦 Installation
# Cloner le projet
git clone <le repipot>
# Installer les dépendances
npm install
# Compiler TypeScript
npm run build
# Lier le CLI localement
npm linkAprès
npm link, la commandemon-clisera disponible globalement sur votre machine.
💻 Utilisation
Ajouter une tâche
mon-cli add "Titre de la tâche" [status] [priority]- status (optionnel) :
pending,in-progress,completed(défaut :pending) - priority (optionnel) :
low,medium,high(défaut :medium)
Exemple :
mon-cli add "Apprendre TypeScript" pending highLister les tâches
mon-cli list
mon-cli list pending # filtre par status
mon-cli list 3 # filtre par ID- Affiche toutes les tâches si aucun filtre n’est fourni.
Exemple :
mon-cli list Mettre à jour une tâche
mon-cli update <id> [options]Options disponibles :
| Option | Description |
| ------------ | ---------------------------------------------------------- |
| --title | Nouveau titre de la tâche |
| --status | Modifier le status (pending, in-progress, completed) |
| --priority | Modifier la priorité (low, medium, high) |
Exemple :
mon-cli update 1 --title "Nouvelle tâche" --status completed --priority highSupprimer une tâche
mon-cli delete <id>Exemple :
mon-cli delete 2🗂️ Architecture du projet
src/
├─ models/ # Gestionnaires de tâches (TaskManager)
├─ utils/ # DataStore, décorateurs, fonctions utilitaires
├─ types/ # Types TypeScript (Task, Status, etc.)
├─ data/ # Fichiers JSON de stockage
└─ test/ # Tests unitaires Vitest- DataStore : lecture/écriture JSON avec création automatique de fichiers.
- TaskManager : CRUD complet avec validation et timestamp.
- Decorators :
@timestampet@validatepour automatiser la logique métier.
🧪 Tests
npm run test- Tests unitaires pour toutes les fonctionnalités.
- Fichier principal :
src/test/TaskManager.test.ts. - Vérifie la création, la liste, la mise à jour et la suppression des tâches.
- Couverture minimum : 70%.
📌 Contribution
- Forker le projet
- Créer une branche
feature/nom-fonctionnalité - Commit et push
- Créer une Pull Request
📄 Licence
MIT License © 2025 Johnny Sassiat
