chore: wp.org submission prep — v0.1.3

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>
This commit is contained in:
2026-06-07 01:56:26 +01:00
parent 0675c9f7d8
commit cba0df9439
11 changed files with 505 additions and 299 deletions
+8 -8
View File
@@ -21,7 +21,7 @@ const BUDDY_META_KEY = 'buddy_state';
*/
function buddy_default_state() {
return array(
'name' => __( 'Buddy', 'buddy' ),
'name' => __( 'Buddy', 'rangerhq-buddy' ),
'species' => 'default',
'hunger' => 80,
'happiness' => 80,
@@ -112,12 +112,12 @@ function buddy_overall_mood( array $state ) {
* you'll catch it.
*/
function buddy_mood_label( $mood_score ) {
if ( $mood_score >= 75 && mt_rand( 1, 100 ) <= 5 ) {
return array( 'label' => __( 'Cheeky 😉', 'buddy' ), 'tone' => 'wink' );
if ( $mood_score >= 75 && wp_rand( 1, 100 ) <= 5 ) {
return array( 'label' => __( 'Cheeky 😉', 'rangerhq-buddy' ), 'tone' => 'wink' );
}
if ( $mood_score >= 80 ) { return array( 'label' => __( 'Thriving', 'buddy' ), 'tone' => 'happy' ); }
if ( $mood_score >= 60 ) { return array( 'label' => __( 'Content', 'buddy' ), 'tone' => 'happy' ); }
if ( $mood_score >= 40 ) { return array( 'label' => __( 'Okay', 'buddy' ), 'tone' => 'neutral' ); }
if ( $mood_score >= 20 ) { return array( 'label' => __( 'Hungry', 'buddy' ), 'tone' => 'sad' ); }
return array( 'label' => __( 'Distressed', 'buddy' ), 'tone' => 'sad' );
if ( $mood_score >= 80 ) { return array( 'label' => __( 'Thriving', 'rangerhq-buddy' ), 'tone' => 'happy' ); }
if ( $mood_score >= 60 ) { return array( 'label' => __( 'Content', 'rangerhq-buddy' ), 'tone' => 'happy' ); }
if ( $mood_score >= 40 ) { return array( 'label' => __( 'Okay', 'rangerhq-buddy' ), 'tone' => 'neutral' ); }
if ( $mood_score >= 20 ) { return array( 'label' => __( 'Hungry', 'rangerhq-buddy' ), 'tone' => 'sad' ); }
return array( 'label' => __( 'Distressed', 'rangerhq-buddy' ), 'tone' => 'sad' );
}