Skip to content

conflictjs/conflict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conflict logo, in a rounded font with a blue and red background

Conflict

https://conflict.js.org The JavaScript UI framework for Discord bots

 Discord badge  GitHub badge

⚠️ This project is under development and will likely not run as expected. Please do not use in a production environment.


Get started by running npx create-conflict-app

What is Conflict?

Conflict aims to be the best JavaScript framework for making Discord bots. Most frameworks are composed of classes and based on events and functions. Conflict is different. Conflict sets up a directory structure to handle every challenging aspect of making a Discord bot, including command registration, command handling, UI structuring, events, storage, state, and even sharding. Under the hood, it's just Discord.js with superpowers.

How can I contribute?

It's great you want to contribute! Since I probably have a lot of progress locally and it is still very much under development, you should join the Discord server. Or, if you find a typo in the READMEs or documentation, please open a PR, because that happens too often. 🤪 Additionally, you can drop a ⭐ star on this repo to show your support. If you have any feature suggestions, please open an issue or join the Discord server.

Current development state & details

create-conflict-app is a testing place for the Conflict bot, currently running in the Discord server. Whatever the bot is doing is from the code in here.

create-conflict-app/bot is where the code for the bot is stored. It is in a subdirectory so that all files can be transpiled for JSX, therefore allowing for a more organic file structure.

create-conflict-app/.conflict is similar to .next with Next.js. It holds the output and all temporary files for conflict.

conflict is the folder for all of Conflict's exports and utilities. Other than bot.js and ep.js, most files will be mapped to the @conflict/beta/<filename> export.

conflict/ep.js is the entry point, which will are mapped to the command conflict start and conflict dev in the NPM package.