Reviewer flagged inc/about.php line 19 — an inline <style> block —
asking us to use wp_enqueue_style instead. Per their hint that the
team may not list every instance of an issue, fixed the entire CSS
inline-styling pattern across the plugin:
- inc/about.php: <style> block (lines 19-59) → moved to buddy.css
- inc/about.php: <span style="color:#646970; font-weight:400;">
→ .buddy-about-intro__version class
- inc/about.php: <p style="margin-bottom:0;"> → .buddy-about-intro__cta
- inc/settings.php: <form style="..."> → .buddy-settings-form class
- inc/settings.php: <h2 style="margin-top:0;"> → scoped under form class
- inc/admin-page.php: <p style="max-width:720px;">
→ .buddy-admin-description utility class
The only remaining inline style is in inc/dashboard-widget.php at the
stat-bar width — that is a runtime-computed %d value, legitimately
inline.
The buddy.css file was already enqueued on the About / Settings /
Admin / Dashboard pages via the existing buddy_enqueue_admin_assets
function, so no new enqueue logic was needed.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Rebrand to RangerHQ Buddy and prepare for the WordPress.org Plugin
Directory. Same workflow as rangerhq-radio v0.7.0 → v0.7.5.
Changes:
- Plugin Name: Buddy → RangerHQ Buddy (matches family naming)
- Plugin URI: icanhelp.ie/buddy → davidtkeane.com/rangerhq-buddy
- Author URI: rangersmyth.xyz → davidtkeane.com
- Text Domain: buddy → rangerhq-buddy (62 occurrences across 8 PHP files)
- Add LICENSE file (full GPL v2 text from gnu.org)
- Add wp.org-format readme.txt with all 8 required headers
- Remove inc/updater.php (self-hosted Gitea updater forbidden for
wp.org-hosted plugins per the rangerhq-radio v0.7.3 walkback)
- Replace mt_rand with wp_rand in inc/state.php for better RNG
- Add 5 translator comments for printf-style i18n placeholders
- Wrap 2 dashboard-widget.php printf placeholders in (int) casts
- Add tests/ to .gitignore (PCP reports are local-only)
PCP audit: 85 issues → ~1 (the .gitignore file itself, stripped from
the submission zip).
Plugin Check Namer Tool: "Generally Allowable" verdict on both name
and slug.
Plugin URI https://davidtkeane.com/rangerhq-buddy/ returns HTTP 200.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Buddy is born. First commit of a new standalone WordPress plugin —
the spiritual successor to the tamagotchi that once lived inside
A-WP-Notes v1.1.5 (gracefully retired). Rebuilt from scratch with
all the v3-discipline lessons baked in from day one.
PHASE A — pet exists
- Dashboard widget at WP Admin → Dashboard showing SVG character +
name + mood label + four stats bars.
- Dedicated admin page at WP Admin → Buddy → My Buddy (bigger view).
- About page with side-by-side intro + plain-prose cards (Logbook
About-page pattern carried forward).
- Settings page with name-rename form + Updates panel.
- Per-user state in user_meta key buddy_state (each WP admin gets
their own pet, no shared state).
- Inline SVG sprite renderer with three mood tones (happy/neutral/
sad) and three sizes (sm/md/lg). CSS keyframe animations: bobbing
+ periodic blinking. Zero image files.
- Self-hosted update checker wired up from commit 1, ported from
Logbook v3.3.5: /releases/latest with /tags?limit=1 fallback,
12h success cache / 1h negative cache. UI on Settings page.
- dashicons-pets admin-menu icon — literal paw-print, brand match.
ARCHITECTURE LOCKED FROM COMMIT 1
- Single-word brand name "Buddy" — no WP prefix, no future rebrand.
- Public GPL v2+ Gitea repo (ranger/a-buddy).
- Constants prefix BUDDY_*, function prefix buddy_*, text domain
buddy. Clean naming throughout — none of Logbook's wp-notes-*
historical-artifact baggage.
- Single H1 per admin page, no nested toggle boxes, no duplicate
sections — Tier-1 discipline carried forward from Logbook.
- All assets local (inline SVG, plain CSS), no third-party CDN,
no Gravatar-style external pings.
NOT IN THIS RELEASE (planned)
- Phase B — Feed/Play/Clean/Sleep interactions + cooldown timers.
- Phase C — WP-cron decay + "Buddy is hungry" dismissible notices
(port the persistent-dismissal pattern from Logbook).
- Phase D — Multiple species (dog, dragon, sprite), per-species
personality phrases.
- Phase E — Site-health hook: pet stats react to wp_get_site_health()
results. The killer feature.
- Phase F — Pro tier (€2.99 lifetime) with custom skins + multi-pet.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>