{"id":325889,"date":"2026-06-18T19:31:18","date_gmt":"2026-06-18T19:31:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pet-freedom-companion\/"},"modified":"2026-06-18T19:30:49","modified_gmt":"2026-06-18T19:30:49","slug":"pet-freedom-companion","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pet-freedom-companion\/","author":23516195,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.0","stable_tag":"1.4.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Pet Freedom Companion","header_author":"Pet Freedom (blonderoofrat.com)","header_description":"Companion for the free Pet Freedom skill for Claude Code: map a pet species' legal status across jurisdictions worldwide and publish it as a sourced WordPress resource. Adds a friendly admin \"Get Started\" page plus one optional, admin-only REST helper for writing SEO post-meta (Rank Math \/ Yoast). Research aid, not legal advice.","assets_banners_color":"187860","last_updated":"2026-06-18 19:30:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/blonderoofrat\/pet-freedom","header_author_uri":"https:\/\/blonderoofrat.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.0":{"tag":"1.4.0","author":"blonderoofrat","date":"2026-06-18 19:30:49"}},"upgrade_notice":{"1.4.0":"<p>Adds a &quot;Published with skill version&quot; display (a new admin-only route the skill writes to) so you can tell when the plugin needs updating. No outbound calls; no breaking changes.<\/p>","1.3.1":"<p>The live-demo link now points to the project landing page (clearer for everyone). No functional change.<\/p>","1.3.0":"<p>WordPress.org review fixes: no remote-file calls (the demo links to GitHub) and consistent <code>petfreedom<\/code> prefixing. No functional change.<\/p>","1.2.0":"<p>Removes the self-update and inspect REST routes for WordPress.org compliance; only the admin-only post-meta route remains. No change to how the skill publishes (it uses \/meta).<\/p>","1.1.0":"<p>Adds a friendly Get Started admin page and relicenses to GPLv2-or-later for the WordPress.org directory. No breaking changes; existing REST routes are unchanged.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3577781,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3577781,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3577781,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3577781,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3577781,"resolution":"1","location":"assets","locale":"","width":1240,"height":1080}},"screenshots":{"1":"The Pet Freedom \"Get Started\" admin page: what the project is, what you also need (Claude Code + the free skill), live route status, and the two config constants to keep in sync."}},"plugin_section":[],"plugin_tags":[89592,267781,1903,48732,37189],"plugin_category":[],"plugin_contributors":[267782],"plugin_business_model":[],"class_list":["post-325889","plugin","type-plugin","status-publish","hentry","plugin_tags-animal","plugin_tags-exotic-pets","plugin_tags-legal","plugin_tags-pet","plugin_tags-wildlife","plugin_contributors-blonderoofrat","plugin_committers-blonderoofrat"],"banners":{"banner":"https:\/\/ps.w.org\/pet-freedom-companion\/assets\/banner-772x250.png?rev=3577781","banner_2x":"https:\/\/ps.w.org\/pet-freedom-companion\/assets\/banner-1544x500.png?rev=3577781","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pet-freedom-companion\/assets\/icon-128x128.png?rev=3577781","icon_2x":"https:\/\/ps.w.org\/pet-freedom-companion\/assets\/icon-256x256.png?rev=3577781","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pet-freedom-companion\/assets\/screenshot-1.png?rev=3577781","caption":"The Pet Freedom \"Get Started\" admin page: what the project is, what you also need (Claude Code + the free skill), live route status, and the two config constants to keep in sync."}],"raw_content":"<!--section=description-->\n<p><strong>Pet Freedom<\/strong> helps you research, verify, and publish the legal status of an animal \u2014 whether it can be <strong>kept, bred, sold, and transported<\/strong> \u2014 across countries, states, and territories, as a structured, SEO-ready WordPress resource. It is <em>species-agnostic<\/em> (you set the species in one config file) and <em>privacy-preserving<\/em> (your credentials and private notes never leave your machine; published pages render only public-safe fields).<\/p>\n\n<p><strong>See it before you install anything:<\/strong> the <a href=\"https:\/\/blonderoofrat.com\/pet-freedom\/\">Pet Freedom page<\/a> has a one-click \"Try it live\" demo that boots a real WordPress in your browser (via WordPress Playground), preloaded with a worldwide example resource. No account, no server.<\/p>\n\n<p>This plugin \u2014 <strong>Pet Freedom Companion<\/strong> \u2014 is the small WordPress half of the project. It adds:<\/p>\n\n<ul>\n<li>A friendly <strong>Get Started<\/strong> admin page that explains what Pet Freedom is, what else you need, and shows whether everything is wired up correctly.<\/li>\n<li>One optional, <strong>admin-only<\/strong> REST helper used by the publishing tool: read\/write post meta, so SEO meta for <strong>Rank Math<\/strong> or <strong>Yoast<\/strong> can be set programmatically.<\/li>\n<li>A second <strong>admin-only<\/strong> route the publishing tool uses to record which <strong>skill version<\/strong> last published to your site, shown on the Get Started page as an update\/drift signal (so you can tell if the plugin needs updating).<\/li>\n<\/ul>\n\n<p>Both routes require the <code>manage_options<\/code> capability \u2014 nothing is exposed to anonymous visitors. The plugin stores no secrets, references no specific domain\/owner\/species, makes no outbound calls, and does not modify its own files; all configuration lives in your own <code>config.json<\/code>.<\/p>\n\n<h4>Do I need anything else?<\/h4>\n\n<p>Yes. This plugin is the companion, not the engine. The actual research-and-publish work is done by <strong>Claude Code<\/strong> plus the free, open-source <strong>Pet Freedom skill<\/strong>:<\/p>\n\n<ul>\n<li>Claude Code: https:\/\/claude.com\/claude-code<\/li>\n<li>The free Pet Freedom skill (and its <code>config.json<\/code>), distributed on GitHub: https:\/\/github.com\/blonderoofrat\/pet-freedom<\/li>\n<\/ul>\n\n<p>The skill is distributed via GitHub regardless of this plugin's listing here.<\/p>\n\n<h4>Honesty &amp; responsibility<\/h4>\n\n<p>This is a <strong>research aid, not legal advice.<\/strong> Laws change and are interpreted by local officials. Every published page tells readers to verify with the responsible authority and read the source themselves. If you publish information produced with this tool, <strong>you<\/strong> are responsible for its accuracy and for following your local laws.<\/p>\n\n<h4>Open source<\/h4>\n\n<ul>\n<li>This WordPress plugin is <strong>GPLv2 or later<\/strong> (so it is compatible with the WordPress.org directory).<\/li>\n<li>The wider Pet Freedom project (the Claude Code skill, its Python tooling, and docs) is <strong>MIT<\/strong> (code) \/ <strong>CC BY 4.0<\/strong> (docs). See the GitHub repository.<\/li>\n<\/ul>\n\n<p>A gift from the roof-rat community at https:\/\/blonderoofrat.com \u2014 built to map the law for one unusual companion animal, generalized so it works for any species.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (Plugins \u2192 Add New \u2192 search \"Pet Freedom Companion\", or upload the .zip via Plugins \u2192 Add New \u2192 Upload Plugin).<\/li>\n<li>Open the new <strong>Pet Freedom<\/strong> menu item in wp-admin and read the <strong>Get Started<\/strong> page.<\/li>\n<li>Install <strong>Claude Code<\/strong> and the free <strong>Pet Freedom skill<\/strong> from GitHub: https:\/\/github.com\/blonderoofrat\/pet-freedom<\/li>\n<li>In the skill's <code>config.json<\/code>, keep the <code>plugin.namespace<\/code> and <code>plugin.option_prefix<\/code> values in sync with the <code>PETFREEDOM_NS<\/code> and <code>PETFREEDOM_OPT_PREFIX<\/code> constants shown on the Get Started page.<\/li>\n<li>Create a WordPress Application Password for a user with publish rights, and give it to the skill so it can publish on your behalf.<\/li>\n<\/ol>\n\n<p>You do not strictly need this plugin to use the skill \u2014 it can also publish through core WP REST plus a bundled SEO fallback. Install this companion when you want the friendly admin page and a uniform SEO post-meta endpoint.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20see%20it%20in%20action%20before%20installing%3F\"><h3>Can I see it in action before installing?<\/h3><\/dt>\n<dd><p>Two ways. (1) The <a href=\"https:\/\/blonderoofrat.com\/pet-freedom\/\">Pet Freedom page<\/a> has a one-click \"Try it live\" demo that runs entirely in your browser via WordPress Playground (no account, no server). (2) Browse the real, maintained resource this skill produces, in production: <a href=\"https:\/\/blonderoofrat.com\/roof-rat-laws\/\">Are Roof Rats Legal?<\/a> (100+ jurisdictions, search-indexed). The first is the sandbox to try; the second is the finished thing in the wild.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20it%20up%3F\"><h3>How do I set it up?<\/h3><\/dt>\n<dd><p>The easy way: paste a short prompt into <strong>Claude Code<\/strong> and it walks you through the whole setup \u2014 <code>config.json<\/code>, your Application Password, whether to use this plugin or the bundled SEO fallback, seeding, and publishing \u2014 including step-by-step help with the parts you do by hand, and troubleshooting. The exact prompt is on the plugin's <strong>Get Started<\/strong> admin page (and in the project README on GitHub). Prefer to do it manually? See <code>docs\/INSTALL.md<\/code> in the repository.<\/p><\/dd>\n<dt id=\"what%20does%20this%20plugin%20actually%20do%20on%20its%20own%3F\"><h3>What does this plugin actually do on its own?<\/h3><\/dt>\n<dd><p>It adds a <strong>Get Started<\/strong> info page to wp-admin and registers two optional, admin-only REST routes: post-meta read\/write, and a small skill-version marker the publishing tool sets so the Get Started page can show which skill version last published. It does not publish anything by itself, collect any personal data, modify its own files, or expose anything to anonymous visitors.<\/p><\/dd>\n<dt id=\"do%20i%20need%20anything%20else%3F\"><h3>Do I need anything else?<\/h3><\/dt>\n<dd><p>Yes \u2014 the free <strong>Pet Freedom skill<\/strong> for <strong>Claude Code<\/strong>. The skill does the research, verification, and publishing; this plugin is the small WordPress companion it talks to. Get the skill here: https:\/\/github.com\/blonderoofrat\/pet-freedom (Claude Code: https:\/\/claude.com\/claude-code).<\/p><\/dd>\n<dt id=\"is%20this%20legal%20advice%3F\"><h3>Is this legal advice?<\/h3><\/dt>\n<dd><p>No. It is a <strong>research aid, not legal advice.<\/strong> Always verify with the responsible authority and read the original source. You are responsible for the accuracy of anything you publish and for following your local laws.<\/p><\/dd>\n<dt id=\"does%20it%20collect%20or%20send%20any%20of%20my%20data%3F\"><h3>Does it collect or send any of my data?<\/h3><\/dt>\n<dd><p>No. The plugin stores no secrets, references no specific domain\/owner\/species, and adds no tracking. Your credentials and private notes stay on your own machine; published pages render only public-safe fields.<\/p><\/dd>\n<dt id=\"are%20the%20rest%20routes%20safe%3F\"><h3>Are the REST routes safe?<\/h3><\/dt>\n<dd><p>Yes. Both routes (<code>\/meta<\/code> and <code>\/skill-version<\/code>) require the <code>manage_options<\/code> capability (a site administrator, e.g. via an Application Password) and are never exposed to anonymous visitors. <code>\/meta<\/code> sanitizes meta keys and only reads\/writes post meta; <code>\/skill-version<\/code> stores only a sanitized version string for display. The plugin contains no file-writing or self-update code and makes no outbound calls.<\/p><\/dd>\n<dt id=\"which%20seo%20plugins%20are%20supported%3F\"><h3>Which SEO plugins are supported?<\/h3><\/dt>\n<dd><p>Rank Math and Yoast (via the generic post-meta route), or a no-plugin fallback shipped with the skill. You choose in the skill's <code>config.json<\/code>.<\/p><\/dd>\n<dt id=\"where%20do%20i%20report%20issues%20or%20get%20the%20source%3F\"><h3>Where do I report issues or get the source?<\/h3><\/dt>\n<dd><p>GitHub: https:\/\/github.com\/blonderoofrat\/pet-freedom \u2014 issues, source, and the skill itself live there. Project home: https:\/\/blonderoofrat.com<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added an admin-only <code>\/skill-version<\/code> route and a \"Published with skill version\" row on the Get Started page. The publishing tool (the Pet Freedom skill) records its version when it builds your site, so you can see at a glance whether the skill is newer than this plugin expects and the plugin needs updating. The plugin still makes no outbound calls and stores no secrets (just a version string for display).<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>The admin \"Get Started\" page and readme now link to the project's landing page (blonderoofrat.com\/pet-freedom\/) for the live demo, instead of a GitHub URL. Clearer for non-technical users and keeps the plugin free of remote-file calls.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>WordPress.org review fixes: removed the hard-coded external blueprint URL from the plugin. The \"try it live\" demo now links to the project's GitHub, where the one-click WordPress Playground demo lives, so the plugin calls no remote files.<\/li>\n<li>Renamed the admin page callback and menu slug to use the consistent <code>petfreedom<\/code> prefix, avoiding generic names.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Removed the <code>\/inspect<\/code> and self-update (<code>\/plugin-update<\/code>) REST routes for WordPress.org directory compliance and to keep the plugin minimal. It now exposes only the admin-only <code>\/meta<\/code> route the skill needs; updates flow through the directory (or a re-uploaded .zip), and the plugin never modifies its own files.<\/li>\n<li>Added a one-click \"see it live in your browser\" WordPress Playground demo link to the Get Started page and readme.<\/li>\n<li>Updated the Get Started page and docs to match.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added a user-facing <strong>Get Started<\/strong> admin page (top-level \"Pet Freedom\" menu) explaining the project, what else is needed, live REST-route status, and the config constants.<\/li>\n<li>Relicensed the plugin to <strong>GPLv2 or later<\/strong> for WordPress.org directory compatibility (the wider project remains MIT \/ CC BY 4.0).<\/li>\n<li>Added plugin headers (Plugin URI, Author, License URI, Requires at least, Requires PHP) and discovery links to GitHub and blonderoofrat.com.<\/li>\n<li>No new write routes and no data collection \u2014 the new page is read-only\/info-only.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: admin-only REST helpers \u2014 generic post-meta read\/write (Rank Math \/ Yoast SEO meta), install inspect, and an admin-authenticated self-update endpoint.<\/li>\n<\/ul>","raw_excerpt":"Map a pet species&#039; legal status across jurisdictions worldwide and publish it \u2014 companion to the free Pet Freedom skill for Claude Code.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/325889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=325889"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/blonderoofrat"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=325889"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=325889"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=325889"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=325889"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=325889"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=325889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}