amal66 is getting Mike ready for real deployment

A quiet but practical round of hardening aimed at running Mike in production rather than on a laptop.

infrastructuresecurity

amal66 has added the kind of plumbing that separates a demo from something you'd actually host. First, security headers on both the app and its backend - browser-level instructions that close off common web attacks before they start. Second, a "readiness" check: a way for the hosting platform to ask not just "is this thing running?" but "is it actually ready to take real traffic, with its dependencies online?" That distinction matters when you sit Mike behind a load balancer, because it stops requests being sent to an instance that's still warming up.

None of this is flashy, and amal66 is following well-trodden conventions rather than inventing anything. But it's the groundwork that lets the same fork later grow a fuller health-check story covering storage and beyond.

So what Anyone weighing whether to self-host Mike for a firm or product should note this fork is quietly doing the unglamorous work that makes that safe.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from amal66/mike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
0a153ed6 fix(chapter-07): add security headers and readiness checks Amal 2026-05-24 ↗ GitHub
commit body
Chapter: 07 - Deployable hardening.

Plain-English map:
Add API and frontend security headers, wire the structured request logger into
the Express app, and add a readiness endpoint that checks whether dependencies
are available.

Why it matters:
Browsers and platforms need clear signals. Security headers reduce browser-side
risk, while readiness checks tell deploy platforms when the app can actually
serve traffic.

Principle:
Defense in depth plus honest health checks.

Precedent borrowed:
Upstream PR #78 and standard container/load-balancer practice that separates
liveness from readiness.

Upstream base: willchen96/mike@d39f580.
Original local commit: 73ff97a.

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-585.md from inside the repo you want the changes in.

⬇ Download capture-thread-585.md