DisFlow is a Discord App creation tool that empowers non-developers to build Discord applications using an intuitive, visual node-based editor. By connecting nodes in a graph, users can create complex logic flows that generate JavaScript code for Discord bots and integrations.
- Visual Node-Based Editor: Powered by litegraph.js for an intuitive drag-and-drop experience
- Code Generation: Automatically generates JavaScript code from visual graphs
- Extensible Node Library: Includes nodes for Console operations, Control flow, Math functions, String manipulation, and Variables
- Web-Based Application: Built with SvelteKit for a modern, responsive user interface
- Monorepo Structure: Organized with Turbo for efficient development and building
- Node.js (version 18 or higher)
- Yarn package manager
-
Clone the repository:
git clone https://github.com/DisFlowTeam/disflow.git cd disflow -
Install dependencies:
yarn install
-
Build the packages:
yarn build:packages
-
Start the development server:
yarn dev
The web application will be available at http://localhost:5173 (default Vite port).
- Open the DisFlow web application in your browser
- Use the visual editor to create your Discord app logic by dragging and connecting nodes
- Configure node properties as needed
- Generate JavaScript code from your graph
- Deploy the generated code to your Discord bot or application
- Console: Print, Clear Console, Input, Throw Error
- Control: If statements, While loops, Boolean operations, Comparisons
- Math: Numbers, Operations, Functions, Random numbers, Rounding
- Strings: Text creation, manipulation, searching, and formatting
- Variables: Create, set, and reference variables
- More node types to be added in the future
apps/web-application/- SvelteKit frontend application with the visual editorpackages/generator/- Code generation module that extends litegraph.js capabilitiespackages/utils/- Shared utility functions and workspace management toolspackages/tsconfig/- Shared TypeScript configuration for consistent builds
yarn build- Build all packages and applicationsyarn dev- Start development mode (builds packages and starts web app)yarn test- Run tests across all workspacesyarn lint- Lint all codeyarn prettier- Format code with Prettier
To build individual packages:
yarn workspace @disflow-team/code-gen build
yarn workspace @disflow-team/utils buildWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you have questions or need help:
- Open an issue on GitHub
- Join our Discord community (link coming soon)
- Check the documentation (coming soon)
