Fluxer bridge for multi-channel assistant flows
- TypeScript 95.2%
- Shell 4.8%
| deploy | ||
| scripts | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
fluxer-bridge
Initial scaffold for a Fluxer bot bridge.
What this repo is for
- A single Fluxer-facing entrypoint
- Config-driven routing across interaction types and channels
- Clear adapter boundary for future bridges and agent flows
- Minimal TypeScript foundation that can grow into multiple channel integrations
Layout
src/index.ts— app bootstrap and sample event pathsrc/adapter.ts— adapter boundary for Fluxer and future channelssrc/config.ts— route and flow config typessrc/router.ts— config-driven flow resolutionsrc/flows/*— starter flows
Development
cp .env.example .env
npm install
npm run dev
Build
npm run build
npm start
Fluxer.js note
This scaffold now includes a thin Fluxer.js adapter using @fluxerjs/core. The adapter listens for MessageCreate, maps incoming messages into flow contexts, and sends replies back through the originating message when possible.
Deploying to vulpbox
Assumed shape for deployment:
- Push this repo to Forgejo.
- On vulpbox, clone or pull the repo into a deploy directory.
- Install Node.js 20+ and run
npm ci && npm run build. - Run the service under a process manager such as systemd or PM2.
- Provide secrets via environment files or a service environment, not in git.
Included deployment helpers:
scripts/deploy.sh— pull/build/restart helper for vulpboxdeploy/fluxer-bridge.service— systemd unit template
Example systemd service sketch:
[Service]
WorkingDirectory=/srv/fluxer-bridge
EnvironmentFile=/srv/fluxer-bridge/.env
ExecStart=/usr/bin/node /srv/fluxer-bridge/dist/index.js
Restart=always
If you want a Forgejo webhook deploy later, this repo is already shaped so a simple pull/build/restart script can sit on vulpbox beside it.