About This File
X-Lifestyle Core is a foundation mod -- shared infrastructure a family of X-Lifestyle mods and utilities will build on, not a content mod itself. It's genuinely early: most of what's built so far is plumbing for other mods, with just enough live now that you'll actually notice it in play. Each feature below follows the same shape: what it does in plain terms, then a collapsed "Developer Guide" spoiler with the actual API for anyone building their own X-Lifestyle mod against it. Skip the spoilers if you're just here to play.
What's here now (live in this release)
Day-start sidebar notes
Restyles the base game's own daily reminders (fitness decay, "It's a work day.", laundry, scheduled demos, ...) into a themed banner, plus a post-it note other X-Lifestyle mods can post their own short-lived reminders to. Up to 15 posted notes render at once, spilling into extra notes below the button row once there are more than 5.
Two widgets, both auto-rendered at day-start -- a read-only notices banner (the base game's own captured reminder text) and a post-it board other mods post to.
Post from your own Twee content -- first argument is the message, second is how many day-starts it stays visible (including today):
```twee (bmft_sticky_note_post: "Callie will be at the gym today.", 1) ```
Posting the exact same text again just refreshes its expiry instead of adding a duplicate line.
Same thing from JS, if you're not in a Twee passage:
```js window.BMFT.StickyNotes.post(message, days); ```
Want a one-off toast instead of a standing line? This fires the base game's own sticky notification directly, no persistence:
```twee (bmft_sticky_note_notify: "Pills go on sale today.") ```
Up to 15 messages across every addon combined render at once, newest-first, FIFO past that cap. Both macros are always registered and never throw for a caller-side reason outside bad arguments -- if this feature is ever toggled off inside Core, posting silently does nothing rather than erroring, so nothing in your own mod needs to check first.
Built-in day-start notices
Riding that same sidebar note: which pill (if any) the Pharmacy has on sale today, whether Salvation Armani restocked its racks, and whether your currently active pill wears off today (naming which one, unless it's a spiked pill you haven't identified yet -- in which case it stays a mystery, same as everywhere else in the game). This one's internal orchestration, not something another mod calls into, so there's no separate developer API for it beyond the sticky-note board it posts through above.
Character Dossier tab
A basic tab (your body traits as chips, a plain pronoun row) -- it shows up now purely because the features above are live. Its own dedicated content (a per-pill pronoun picker, a preference-axis system) is still in development, gated off pending more work -- see "What's planned" below. Not an API surface itself, so no developer guide here either.
Shared logging entry point
Lets other X-Lifestyle mod authors log through one shared convention instead of raw console calls, so every mod in the family tags its console output the same way. Not player-visible on its own.
From your own JS:
```js
window.BMFT.Log.warn("[YourMod]", "something degraded, here's why");
```
Same thing from Twee:
```twee (bmft_log: "[YourMod]", "warn", "something degraded, here's why") ```
Levels are debug, info, warn, and error. Error and warn print in every build, including a real release -- keep them rare and genuinely actionable. Debug and info only print in a testing build, but every call (printed or not) still lands in a capped ring buffer a shared debug console can dump. Not gated by a feature flag -- this is dev/debug infrastructure, not player-facing behavior, so it's always live.
A quick note on how I build this: I use AI (Claude Code) as a tool throughout development -- writing code, drafting docs, researching how the base game actually works. Every change gets reviewed before it ships, and I take real care to keep that process from producing anything abusive, unsafe, or careless. But I'll say it plainly: humans make mistakes, and AI makes mistakes too. If something looks wrong, undocumented, or off, tell me -- that's exactly the kind of feedback that makes this better.
Built with help from the X-Lifestyle MCP -- grounded, citable X-Change Life modding knowledge for AI assistants.
https://xcl-mcp.binarymisfit.dev
Source is open -- the code, the whole history, all of it: https://gitgud.io/binarymisfit/x-lifestyle-core
Edited by BinaryMisfit