TEMPLATE · 2026
Discord TS Template
Production-grade Discord.js v14 TypeScript template. Dynamic command/event loading, cooldowns, hot reload.
src/commands/ping.ts
// commands hot-reload from disk
export default {
data: cmd("ping"),
cooldown: 3,
execute: async (i) => i.reply("pong"),
};
01 — WHY IT EXISTS
Discord bots start fast and rot fast.
Most Discord.js starters give you a hello-world ping command and call it a day. Two weeks in you're juggling files, dropping events, and editing four places to add a command. This template absorbs that pain up front.
02 — WHAT IT DOES
One folder per concept. The runtime wires the rest.
Drop a file into /commands, /events, /components, or /context-menus and it shows up. Cooldowns, permission gates, and autocomplete are first-class. Hot reload during dev so the workflow stays tight.
// commands/ping.ts
export default {
data: new SlashCommandBuilder()
.setName("ping").setDescription("pong"),
cooldown: 3,
async execute(i) { await i.reply("pong"); },
};03 — STATUS
Marked as a GitHub template. Use it.
Click Use this template on GitHub, npm install, drop in your bot token, ship.
AT A GLANCE
TS
strict mode
v14
discord.js
HMR
in dev