HarmonixJS-30/06/2026
Framework

Framework TypeScript pour Discord.js

HarmonixJS

HarmonixJS est un écosystème TypeScript construit au-dessus de Discord.js pour développer des bots Discord plus maintenables. Le projet rassemble un coeur orienté décorateurs, une CLI, des plugins officiels, un kit UI autonome et une documentation pensée pour les développeurs comme pour les assistants IA.

TypeScriptDiscordJS v14Node.jsGitHubNPM

Écosystème npm

Un coeur framework, une CLI, un kit UI et des plugins officiels publiés comme packages séparés.

API typée

Des commandes, événements, composants, plugins et providers conçus pour conserver l'inférence TypeScript.

Workflow outillé

Initialisation, génération, plugins, build, start, Docker et diagnostics depuis une même interface CLI.

Présentation de l'index du framework
Présentation de l'utilisation du décorateur Command
Présentation de l'utilisation du décorateur Event

Un coeur typé pour structurer les bots

Le package @harmonixjs/core organise un bot autour de commandes, événements, composants Discord et providers. L'objectif est de sortir du modèle du fichier unique et de fournir une architecture claire pour les bots qui grandissent.

Les commandes sont déclarées avec Command(). La même définition sert au décorateur de classe et au handler, ce qui permet d'inférer le contexte d'exécution : slash command, commande préfixée, commande mixte ou menu contextuel Discord.

  • Slash commands, prefix commands et commandes mixtes
  • Menus contextuels utilisateur et message
  • Handlers de boutons, selects et modals
  • Providers pour isoler les services applicatifs

Une CLI pour créer, générer et diagnostiquer

La CLI @harmonixjs/cli accompagne tout le cycle de vie d'une application : initialisation du projet, génération des handlers, ajout de plugins, compilation, démarrage et diagnostic de production.

npx @harmonixjs/cli init my-bot

Créer un projet HarmonixJS avec template, package manager, plugins et options Docker.

harmonix create command ban --subtype slash

Générer un handler de commande avec les conventions du framework.

harmonix add quick-db

Installer et configurer un plugin officiel dans l'application.

harmonix doctor --build

Compiler et vérifier que la configuration est prête pour la production.

Présentation de l'utilisation du CLI HarmonixJS
Présentation des plugins disponibles pour HarmonixJS

Plugins et providers

HarmonixJS sépare les extensions réutilisables des services propres à l'application. Les plugins exposent des intégrations typées via bot.plugins, tandis que les providers gardent la logique métier dans des services accessibles via bot.providers.

@harmonixjs/core

Framework principal pour commandes, événements, composants, providers et plugins.

@harmonixjs/cli

Création de projet, génération de handlers, plugins, diagnostics et workflows dev/build/start.

@harmonixjs/ui

Vues et contrôles Discord autonomes pour HarmonixJS et les bots Discord.js classiques.

@harmonixjs/express

Plugin HTTP pour exposer des endpoints API à côté du bot.

@harmonixjs/i18n

Plugin de localisation runtime et commandes d'application Discord.

@harmonixjs/shard

Helpers de sharding pour accompagner les bots Discord amenés à grandir.

Un kit UI autonome

Le package @harmonixjs/ui permet de composer des interfaces Discord avec des vues, embeds, composants V2, paginations, menus de sélection, recherches, actions et modals.

Il fonctionne avec HarmonixJS, mais reste utilisable dans un bot Discord.js classique. Ce choix rend l'écosystème plus ouvert : le framework peut rester léger, pendant que les projets qui ont besoin d'interactions riches disposent d'une base dédiée.

Principe retenu

Composer une seule vue stateful plutôt que multiplier des classes fermées pour chaque cas : paginator, select searchable, boutons d'action ou modal.

Documentation et usage par IA

La documentation HarmonixJS expose des pages classiques, mais aussi des entrées dédiées aux assistants : /llms.txt, /llms-full.txt et un endpoint /mcp. Ces points d'accès décrivent les packages, les commandes CLI, les exemples et les pages canoniques de documentation.

Ce que le projet m'a apporté

HarmonixJS m'a permis de travailler sur un projet plus proche d'un produit développeur que d'un simple bot : API publique, typage avancé, génération de projet, publication npm, documentation, packages séparés et conventions de production.

Concevoir une API développeur cohérente avec des contraintes fortes de typage.
Découper un projet en packages npm maintenables et documentés séparément.
Créer une CLI capable de générer, configurer et diagnostiquer une application.
Penser une documentation exploitable par des humains, des LLMs et un serveur MCP.

HarmonixJS est devenu un écosystème complet autour de Discord.js : un coeur typé, des outils de génération, des intégrations officielles, une documentation exploitable par les développeurs et une base pensée pour faire évoluer des bots Discord sans perdre en clarté.