=== BriefWing – TL;DR AI Summary & Recommended Source ===
Contributors: florianhiess
Tags: ai, chatgpt, summary, geo, seo
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Let readers summarize a page with ChatGPT, Claude, Perplexity, Grok or Google AI Mode, and prefer your site on Google. No cookies, no tracking.

== Description ==

BriefWing gives your readers a TLDR of the page they are on, written by the AI tool they already use. Two small helpers for readers who work with AI tools:

* **Summarize with AI** opens ChatGPT, Claude, Perplexity, Grok or Google AI Mode with a ready-made prompt about the current page.
* **Prefer on Google** links to the Google preference page for this source, so people can tell Google to favor the site in their own results.

Both are plain links. No script runs before a click, nothing is stored, no consent banner is needed. Data only reaches a service once a visitor actually clicks.

= Why the prompt matters =

People no longer only search, they ask. They paste an address into an AI tool and have the page explained to them. This plugin puts that step on the page itself, with a prompt you wrote: stay with the content, invent no figures, name the source. That is the difference between a summary and a guess.

= Why there is no Gemini entry =

Gemini has no working URL prefill, neither with `?q=` nor with `?prompt=`, so a link there opens an empty window for most people. Google AI Mode (`udm=50`) takes its place: same mechanics as a search field, and it does accept a prompt. For Gemini itself the dropdown carries an optional "Copy prompt" entry, and every URL template can be edited in the settings.

= Features =

* Each button can be switched on and off on its own
* Free URL for the Google button, prefilled with the site domain
* Long prompt with placeholders, plus a short prompt for search-field services
* Prompt override per single entry, and a per-entry opt out
* Five styles: solid, outline, pill, minimal, neo brutalism
* Light, dark and automatic color scheme, three sizes
* Free colors for accent, hover state and the pill ground, hover applies to both buttons
* Web safe font families, or inherit font and size from the theme
* Icons only below 768 pixels, optional, with the label kept in the accessible name
* Positions: before the content, after the content, both, top of the page, sticky bottom bar, upright floating side rail, or nowhere automatically
* Each button can take its own position
* Every public post type, custom post types included, selectable individually
* Shortcode, block and a `wpais_render()` template tag
* Keyboard operable, screen reader labels, respects prefers-reduced-motion, hidden in print
* Ready for translation via translate.wordpress.org, compatible with Polylang and WPML

= Shortcodes =

`[briefwing]` for both buttons, `[briefwing buttons="ai"]` and `[briefwing buttons="prefer"]` for one of them. The attributes `style`, `scheme`, `size`, `align`, `variant` and `class` override the settings per placement.

== Installation ==

1. Upload the folder to `wp-content/plugins/`, or install the ZIP under Plugins, Add New, Upload.
2. Activate the plugin.
3. Open Settings, BriefWing and go through the panels. The Google URL is prefilled with your domain on activation.

== Frequently Asked Questions ==

= Does this need a consent banner? =

No. The buttons are links. Nothing is loaded from a third party before a click, and no cookie is set. Once a visitor clicks, their IP address and the prompt reach the service they chose, which is worth a sentence in the privacy notice. See the Privacy section below for wording you can copy.

= The buttons do not show up =

Check three things: the post type is ticked in "Placement", the position is not set to "Nowhere automatically", and the entry itself does not have "Hide the buttons on this entry" ticked. The "Top of the page" position also needs a theme that calls `wp_body_open()`.

= A service opens with an empty prompt =

Its URL scheme has probably changed. Every service has an editable URL template in the AI services panel, `{prompt}` marks the spot the encoded prompt goes into.

= Can I add another service? =

Through the `wpais_provider_defaults` filter, yes. Adding one from the settings screen is planned for the Pro version, which is why the "+ Add your own service" button is switched off.

= Does the plugin work with my theme? =

It does not touch template files. Automatic positions use core hooks only (`the_content`, `wp_body_open`, `wp_footer`), and anything a theme does not fire can still be placed with the shortcode, the block or the template tag. All styling is scoped to `.wpais` and driven by CSS custom properties, so a theme can restyle the buttons by overriding tokens.

= Can I turn the plugin CSS off completely? =

Yes, in the Appearance panel. The class structure stays the same, so you can style everything in your own theme.

== Screenshots ==

1. Both buttons under an article, solid style in light mode.
2. The open dropdown with all five AI services and the copy entry.
3. The AI services panel: every service with an editable URL template and drag ordering.
4. The Appearance panel with the live preview, styles, color scheme and hover colors.
5. The prompt override and the opt out in the editor sidebar.

== Changelog ==

= 1.0.0 =
* First release.

== Upgrade Notice ==

= 1.0.0 =
First release.

== Privacy ==

The plugin sets no cookies, stores no personal data and makes no request to a third party on its own. The buttons are links.

When a visitor clicks one of the AI services, their IP address and the prompt, which contains the address of the page, reach that service. When a visitor clicks the Google button, they land on a Google settings page. Both are the visitor's own decision and happen in a new tab.

A sentence for your privacy notice:

"Using the Summarize with AI button you can hand this page to an AI service of your choice. Your IP address and the address of this page are only transmitted to that provider once you click one of the services. No connection is made before that."
