Ernest Defoe
Administrators
-
Joined
-
Last visited
-
Currently
Viewing Forums Index
Everything posted by Ernest Defoe
-
AI Helper Extension — support and discussion
AI Helper turns Claude — or any model you prefer — into a member of your support team. Mention it, or point it at your support tags, and it replies in seconds using your own forum's posts as context. That means answers about your product, your rules, and your history — not generic AI filler.## ✨ What it does - 🤖 Answers automatically — replies to @mentions and to new posts in the tags you choose. - 🧠 Grounded in your forum (RAG) — it searches your existing posts and answers from them, so replies stay accurate and on-topic. - 🔌 Bring any model — native Anthropic (Claude), or any OpenAI-compatible provider (OpenAI, OpenRouter, Groq, Azure, even local models). - 💸 Exact cost tracking — an admin dashboard shows spend vs. budget with a daily graph. Numbers come straight from the API, not estimates. - 🛑 Hard budget cap — set a monthly limit and the bot pauses itself when it's reached. No surprise bills. - ✍️ Auto or Draft mode — post answers directly, or hold them for a moderator to approve and edit first. - 📝 One-click summaries — any member can get a clean TL;DR of a long thread. ## 🧠 "Grounded in your forum" — what that means On its own, an AI model has no idea what's inside your community. AI Helper fixes that with retrieval: before answering, it finds your most relevant past posts and feeds them to the model. Two modes: - Keyword (FULLTEXT) — works out of the box, no extra key. - Semantic (embeddings) — optional upgrade that matches by meaning (so "can't log in" finds "password won't work"). Costs pennies. ## 🚀 Getting started 1. Install, then open Admin → AI Helper. 2. Add your API key, pick a model, and set a monthly budget. 3. Choose Auto or Draft, select your support tags, and switch it on. Bring your own API key — it stays on your server, and the bot only ever sees content the asker can already view. This is a 💸 Premium Extension that must be purchased on Floxum. Cost is a one time charge of $5.00 since you also have to pay for your API tokens as well.
-
What are some extension ideas?
@Claude_Bot so you will need an API key from Anthropic or any other AI provider (ChatGPT, etc) to use this?
-
AI Assistant — mention @Claude_Bot for help
I have setup and AI Assistant here to help with support questions, take notes on bug reports so they can be fixed as well. All you have to do is mention @Claude_Bot and it will reply to your message. It's not instant but you will receive a reply to your question. It polls the forum every few minutes looking for new posts and auto reads topics in #bug-reports.
-
What are some extension ideas?
@Claude_Bot the AI Helper might be a good one. Expand on this some more.
-
What are some extension ideas?
@Claude_Bot what are some ideas you may have for extensions?
-
Calendar — support and discussion
calendar 2.0.4 What's Changed fix(security): don't serve unpublished events from the single-event iCal endpoint fix: address remaining Floxum code-review findings Full Changelog: https://github.com/ernestdefoe/calendar/compare/2.0.3...2.0.4 View release on GitHub
-
What are some extension ideas?
@KBExit while still lacking in themes I have released 3 free themes for the general public (Respawn, Aurora, Mosaic), 1 premium theme (Bespoke), and one that is publicly available that was made for my football site (Gridiron Nation). So I'm filling the gap some what.
- Bespoke — support and discussion
-
Theme Toggle — support and discussion
theme-toggle 3.0.10 What's Changed fix: keep the mobile theme menu on-screen inside the slide-out drawer Full Changelog: https://github.com/ernestdefoe/theme-toggle/compare/3.0.9...3.0.10 View release on GitHub
- Bespoke — support and discussion
-
Our use of vibe coding in our themes and extensions.
Yes I used Claude to create the post above.
- Bespoke — support and discussion
-
Calendar — support and discussion
calendar 2.0.3 What's Changed Page Builder: contribute calendar blocks to the editor palette Full Changelog: https://github.com/ernestdefoe/calendar/compare/2.0.2...2.0.3 View release on GitHub
- Bespoke — support and discussion
- Bespoke — support and discussion
- Bespoke — support and discussion
- Bespoke — support and discussion
- Bespoke — support and discussion
- Bespoke — support and discussion
-
Calendar — support and discussion
calendar 2.0.2 What's Changed Fix create-event (no form wrapper), redesign event modal, use default loader Full Changelog: https://github.com/ernestdefoe/calendar/compare/2.0.1...2.0.2 View release on GitHub
-
Bespoke — support and discussion
bespoke 2.0.13 What's Changed UX: long-form reading aids + reply/quote discoverability Per-user "My Theme" — members can personalise their own view (visual + layout) Scope reply/quote CSS to .Post-controls — don't touch .Post-actions (FoF Reactions) Reading aids: lower back-to-top threshold to 300px for discoverability Full Changelog: https://github.com/ernestdefoe/bespoke/compare/2.0.12...2.0.13 View release on GitHub
-
Calendar — support and discussion
calendar 2.0.1 What's Changed Phase A: engagement engine — activity heatmap, streaks & forum pulse Phase B: live countdowns — [countdown=…] in posts + event countdowns Phase C + D: On This Day memories + member celebrations (birthdays/anniversaries) docs: README — document the engagement engine (heatmap, pulse, countdowns, memories, celebrations) Fix calendar admin: missing widget-toggle labels + CategoryManager spinner loop Fix CategoryManager render crash: key the 'add' row (mixed keyed/unkeyed fragment) Full Changelog: https://github.com/ernestdefoe/calendar/compare/2.0.0...2.0.1 View release on GitHub
-
Calendar — support and discussion
Calendar & Events for Flarum A full-featured, free calendar & events extension for Flarum 2. Month and list views, RSVPs, colour-coded categories, recurring events, cover images, a proper iCal feed, one-click Google Calendar export, and a drop-anywhere Upcoming Events widget that looks right on the default theme — and integrates natively with Bespoke and Page Builder. Built to feel premium. Priced at free. Features🗓️ Month, Week, Day & list views with quick prev / today / next navigation. Week/Day are true time grids with hour lines, a live "now" indicator, side-by-side overlapping events, and double-click-to-create at the clicked time slot. 📍 Location on every event, rendered as a one-tap Google Maps link. 🔁 Recurring events (daily / weekly / monthly / yearly) via standard RRULE, expanded on the fly so each occurrence shows on the right day. ✅ RSVP — members mark themselves Going or Interested, with live counts. 🎨 Categories with colours — filter the calendar and give each event a coloured accent. Managed from a dedicated admin panel with a colour picker. 🖼️ Cover image per event — paste a URL, or upload a file directly when FoF Upload is installed (auto-detected; falls back to a URL field otherwise). 📅 iCal export — a subscribable feed.ics for the whole calendar plus a per-event .ics download (RFC 5545, proper escaping & folding). 🟦 Google Calendar — "Add to Google Calendar" deep-links with title, time, description and location pre-filled. 💬 Optional discussion thread per event (hybrid model) so members can comment using Flarum's native discussion UI. 🧩 Upcoming Events widget — works standalone on the default theme, and registers as a first-class widget/block in Bespoke and Page Builder. 🌓 Theme-aware — every colour resolves through Flarum's own CSS variables, so it looks correct in light & dark and on custom themes out of the box. 🔐 Permissions — separate "create events" and "manage all events" controls. Installation php flarum migrate php flarum cache:clear``` Then open **Admin → Calendar** to configure it. ## Updating ```composer update ernestdefoe/calendar php flarum migrate php flarum cache:clear``` ## Configuration **Admin → Calendar** gives you: | Setting | What it does | | --- | --- | | **Default view** | Month grid or upcoming list when the calendar opens. | | **Week starts on** | Sunday or Monday. | | **Index widget** | Show an "Upcoming events" widget on the forum index. | | **Widget count** | How many upcoming events the widget lists. | | **Link discussion** | Auto-create a discussion thread for each new event (for comments). | | **Categories** | Add / rename / recolour / delete colour-coded categories. | Two permissions are added under **Admin → Permissions**: * **Create calendar events** — who can add events. * **Manage all calendar events** — who can edit/delete events they don't own. ## The Upcoming Events widget The widget is a self-contained component, so it shows up automatically wherever your theme supports it: * **Default theme** — appears in the index sidebar (toggle in admin). * **Bespoke** — available in the widget tray as **Upcoming events**. * **Page Builder** — available as an **Events** block. ## Calendar subscription (iCal) Every calendar exposes a subscribable feed at: ```https://your-forum.example/calendar/feed.ics``` Paste that URL into Google Calendar (*Other calendars → From URL*), Apple Calendar (*File → New Calendar Subscription*), or Outlook to keep events in sync. Each event also has its own `.ics` download and an "Add to Google Calendar" link. ## How events are modelled Events are their own records (title, time, location, recurrence, etc.). When **Link discussion** is enabled, creating an event also spins up a normal Flarum discussion linked to it, so comments, mentions, likes and notifications all work exactly as members expect — no parallel comment system to learn. ## Compatibility * Flarum `^2.0` * PHP `^8.3` * No required third-party extensions. Plays nicely with Bespoke & Page Builder when present, and degrades gracefully when they aren't. * **Optional:** [FoF Upload](https://github.com/FriendsOfFlarum/upload) — enables drag-free file uploads for event cover images. ## Contributing Issues and PRs welcome. To build the front-end locally: ```cd js npm install npm run dev # watch npm run build # production``` ## License [MIT](https://github.com/ernestdefoe/calendar/blob/main/LICENSE) © ernestdefoe
-
Bespoke — support and discussion
@Subarist based on your feedback I am currently working on an update to address some of the UI/UX suggestions you made and also adding a big update to the theme. With the update I am working on each member can change colors, fonts, font size, hero customization, add/remove widgets and change positions. Basically anything the Admin can do users will be able to do as well and it saves just for them.
-
Our use of vibe coding in our themes and extensions.
💬 How we build: yes, we vibe code everything — here's why (and how we keep it safe) We believe in being straight with the people who use our themes and extensions, so here it is: every theme and extension we ship is built with vibe coding. All of it. If that word makes you nervous, or makes you roll your eyes, this post is for you. We want to make the honest case for why it's a great way to build — and be just as honest about the ways it goes wrong when people don't respect it. What "vibe coding" actually means Vibe coding is building software by describing what you want in plain language and letting an AI assistant write the code, then steering it conversationally — "make the buttons bigger," "now add a dark-mode toggle," "that broke the sidebar, fix it" — instead of hand-typing every line yourself. You're still the one in charge. You're still making every decision about what gets built, how it behaves, and whether it's good enough to ship. You're just spending your time on the what and the why instead of the boilerplate. ⚡ Why it's good — for those still on the fence It's fast where speed actually matters. Ideas that used to sit in a backlog for months can be prototyped in an afternoon. That means more features, more often, and bugs fixed while they're still fresh. Iteration becomes cheap. When changing something costs minutes instead of hours, you experiment more. You try the bold version of an idea instead of the safe one, because if it doesn't work you just try again. It frees you to focus on the experience. The hours not spent wrestling with boilerplate go into the things you actually feel as a user: the layout, the polish, the little touches that make an extension a pleasure to use. It lowers the wall. A great idea for a theme or feature no longer dies just because someone didn't have ten years of framework experience. More good ideas get to exist. It keeps the big picture in view. Describing a feature in plain language forces you to be clear about what it should do — which, honestly, is where most software goes right or wrong long before the first line of code. If you've been on the fence, the short version is: it lets a small operation move like a big one, and ship things that are genuinely good. ⚠️ The harms — for those who don't use it properly This is the part people skip, and it's exactly why vibe coding gets a bad reputation. Used carelessly, it can ship real damage: Shipping code you don't understand. The single biggest trap. If you can't explain what a piece of code does, you can't tell when it's quietly broken — and you definitely can't fix it under pressure when something goes wrong on someone's live forum. Security holes you never see. AI will happily write something that works but leaves a door open — missing permission checks, unsanitized input, leaky endpoints. For an extension that runs on other people's communities, that's not a small mistake. Invisible technical debt. Code that looks fine and runs fine can still be a tangled mess underneath. Skip the review and you build a tower that gets harder to change with every "just add one more thing." Confidently wrong answers. AI sometimes invents functions, settings, or APIs that don't actually exist, and states it with total confidence. Without testing, those land straight in a release. "It worked on my screen." Generated code often handles the happy path beautifully and falls apart on the edge cases — the empty list, the weird timezone, the user with 4,000 notifications. Skipping testing means your users find those edges for you. The pattern in every one of these is the same: the harm doesn't come from using AI to write code. It comes from abdicating judgment — treating the output as finished instead of as a first draft. ✅ How we do it responsibly We vibe code everything, and we still sleep fine, because we treat the AI as a very fast junior developer — not an oracle: We read and understand every line that ships. If we can't explain it, it doesn't go out. We test against the messy real world, not just the happy path — odd inputs, big forums, light and dark themes, missing optional dependencies. We sweat security on anything that touches permissions, user input, or data. We own the result. When something breaks, "the AI wrote it" is not an excuse — it's our name on the extension, and our responsibility to fix it. That's the whole philosophy: vibe coding gives us speed; judgment keeps it safe. Drop either half and you get something worse than not using it at all. We're proud of how we build, and we think the results speak for themselves across our themes and extensions. If you've got questions about any of this — or you're curious how a specific feature came together — ask away. We're happy to talk about it. </ernestdefoe·online>