Popii 1.0 — Cakemix
Popii
Popii 1.0 — Cakemix
Section titled “Popii 1.0 — Cakemix”Cakemix is the codename for Popii 1.0, a convention-first Discord bot framework for Bun and TypeScript.
import { command } from "popii-framework";
export default command({ name: "ping", description: "Replies with pong", slash: true, async do(pop) { await pop.reply("Pong!"); },});Start a project
Section titled “Start a project”bunx popii initcd my-botbun run devPopii discovers commands, events, middleware, snaps, and tasks from the project structure. It provides hot reload, typed plugins, localization, sharding, testing utilities, and a production dashboard.
Production dashboard
Section titled “Production dashboard”The 1.0 dashboard uses Hono, Arctic Discord OAuth, encrypted server-side sessions, SQLite migrations, guild-scoped authorization, CSRF protection, audit records, and health checks.
import { webPlugin } from "popii-framework";
webPlugin({ publicUrl: "https://bot.example.com", oauth: { clientId: process.env.DISCORD_CLIENT_ID!, clientSecret: process.env.DISCORD_CLIENT_SECRET!, },});Generate the required POPII_WEB_ENCRYPTION_KEY with popii secret generate web.
popii init popii plugin add <package>popii dev [entry] popii plugin remove <package>popii sync [entry] popii plugin search <query>popii test [...bunArgs] popii plugin listpopii generate <type> <name> popii db <generate|migrate|status>popii doctor [--json] popii web checkpopii deploy <target> popii secret generate webSee the documentation for tutorials, production deployment, plugin development, and the 1.0 upgrade guide.
Requires Bun 1.1+ and Discord.js 14. MIT licensed.