Skip to content

Repository files navigation

discoflow

discoflow is a TypeScript MVP for building Discord bots behind a stable application API and a scaffolding CLI.

The MVP includes:

  • createBot() runtime composition
  • Page as controller plus view contract
  • deterministic middleware pipeline
  • normalized fake interaction support for tests
  • in-memory session state store
  • centralized discoflow.yaml and apis.yaml configuration
  • .env placeholder resolution during config build
  • Nunjucks-based scaffolding templates
  • discoflow CLI for projects and components
  • isolated Discord adapter through discoflow/adapters/discord

Discord Boundary

Only the package-owned Discord adapter imports discord.js.

Framework runtime code, pages, middleware, senders, templates, and generated user code should use stable discoflow contracts. If a bot needs to connect to Discord, it should use createDiscordAdapter() from discoflow/adapters/discord.

Commands

npm run build
npm test
npm run discoflow -- new my-bot --dry-run

The package is intentionally small while the public contracts are still being shaped.

About

`discoflow` is a TypeScript MVP for building Discord bots behind a stable application API and a scaffolding CLI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages