Repository navigation
v0.11.0
Delivers the buy skill and the local-browser plan: offer sources and the Shopify Catalog, a local store index, browser import, the portage setup wizard, hand-off targets and a Portage browser profile. WebMCP learns to drive stores that don't run Portage. Five adapter exes that crashed at launch are fixed, and the buy Claude Code plugin ships through this repo's own marketplace.
- portage-cli 0.8.0 delivers Phases 1-8 of
docs/plans/buy-skill-and-local-browser.md.findgains a second backend kind,OfferSource. The first one is the Shopify Catalog.--max-pricenow filters its offers too.- Categories and a shared
Classifierroutefindto stores that sell what the query asks for. portage index build/refresh/show/add/remove/sourcesbuilds a local store and product index. The repo's known-stores list (221 stores, 396 products) is fetched over jsdelivr, and the user's own entries always win.portage browser importturns the user's own bookmarks and history into index entries. It reads only history and bookmark files, never password, cookie or autofill stores. Nothing is saved without a TTY "y" or--yes.portage setupruns an interactive wizard on a TTY. Under--jsonor with no TTY it prints the same read-only report asportage doctor.buy --handoff-target default|print|profile|agent:<name>picks where a dead-end checkout URL goes. Amazon, walmart.com, ebay.com, bestbuy.com and any host inhandoff_only_hostsare hand-off only. Portage never sends them a request.portage browser profile init|open|statusmanages a dedicated Portage browser profile for hand-offs.- Five opt-in retailer offer sources: Walmart Affiliate, eBay Browse, Best Buy Products, Etsy Open API v3 and Amazon Creators. Each needs its own key, and every offer they return ends in hand-off.
- The WebMCP hand-off path now uses presets, schema matching and approved checkout autofill. A mutating tool mapping needs the shopper's confirmation first.
dry_run: truewas ignored on this path and is now honoured. - Requires
portage-ucp-webmcp0.2.0 or newer for WebMCP paths. An older install is treated as absent instead of raisingNameError. - Rolls up 0.7.4 and 0.7.5, published on 2026-09-25.
portage doctorreports how Portage was installed (Homebrew or gem) and warns when anotherportageonPATHshadows it.portageloads~/.portage/.env. Doctor runs the seller checks only for a seller. portage buy "coffee"runs as a search when the argument doesn't look like a URL. Doctor flags a DuckDuckGo-only search setup, which only resolves entity queries.PORTAGE_AGENT_PROFILEdefaults to the repo's published profile instead of failing on a fresh install.
- portage-ucp-webmcp 0.2.0 drives stores that don't run Portage.
- Platform presets are detected from the exact set of tool names a page registers, never from page text. Shopify is the first preset.
Matcher.proposemaps an unknown page's tools to UCP actions by name and input-schema shape, never by a tool's untrusteddescription.Autofillfills a checkout's contact and shipping fields and picks the cheapest shipping rate in any currency. It never touches payment fields, never clicks pay, and stops at the first sign of a CAPTCHA.- Fixes
assets/autofill.js, which didn't parse, so every realAutofill.callraised.
- portage-ucp-bigcommerce, -magento, -wix 0.1.5 and portage-ucp-woocommerce 0.2.2 fix a
NoMethodErrorat launch. Each exe called.starton a plainMCP::Server, which has no#startin mcp 0.25.0. Each gem gains anexe_spec.rbthat runs the exe as a real subprocess and does a JSON-RPC handshake with it. - portage-ucp-etsy 0.1.5 adds
exe/portage-ucp-etsyandexamples/portage_ucp.rb. It was the only adapter without them. buyplugin (plugins/buy, listed in.claude-plugin/marketplace.json) is the agent-facing interface toportage. It covers the find → dry-run → confirm → buy flow, hand-off, hand-off-only retailers, and hard rules: no raw card data, no browser credential reads, no CAPTCHA bypass, confirm before buying. It needsportage-cli0.8.0.rake homebrew:updateregenerates the Homebrew formula and runs at the end ofpublish_all. The docs now lead withbrew install.
What shipped
portage-cli 0.7.3 → 0.8.0
c8a5274Homebrew Phase 4: brew-first docs and install checks in portage doctor3e5b64dLoad ~/.portage/.env, and run doctor's seller checks only for a seller0104ab8buy: accept bare query with no --query; doctor/find surface duckduckgo-only search limits5090654Derive WebMCP session capabilities from the page's tools7af985bWebMCP Phase 1: platform presets and the hand-off checkout path11d87bcWebMCP Phase 2: schema matching for unknown pages, confirmed by the userc8935bcWebMCP Phase 3: approved autofill of the store's checkout92cece2WebMCP Phase 4: document presets, matching and autofille4b2c72Fix autofill.js parsing, dry runs on the WebMCP hand-off, and rerun the live checks80c7a93portage-cli: OfferSource seam + Shopify Catalog (Phase 1)1169700portage-cli: categories + Classifier + find routing caps (Phase 2a)8231629portage-cli: local store index + portage index (Phase 2b)fa4b321portage-cli: known-stores list in the repo, fetched over jsdelivr (Phase 2c)1a58c0aportage-cli: browser import of bookmarks and history as index seeds (Phase 3)f091200portage-cli: portage setup wizard (Phase 4)cd719bbportage-cli: hand-off targets + hand-off-only hosts (Phase 5)8a3a6e9portage-cli: Portage browser profile (Phase 6)9385aadportage-cli: retailer offer sources (Phase 7)bae99faportage-cli: docs + buy skill release (Phase 8)80666cfportage-cli: apply find --max-price to offer-source offers
portage-ucp-webmcp 0.1.1 → 0.2.0
5090654Derive WebMCP session capabilities from the page's tools7af985bWebMCP Phase 1: platform presets and the hand-off checkout pathbf573deComplete the Shopify WebMCP preset fingerprint from a live sweep11d87bcWebMCP Phase 2: schema matching for unknown pages, confirmed by the userc8935bcWebMCP Phase 3: approved autofill of the store's checkout92cece2WebMCP Phase 4: document presets, matching and autofill5b6378eRecord the WebMCP live checks against a real Shopify checkoute4b2c72Fix autofill.js parsing, dry runs on the WebMCP hand-off, and rerun the live checks7b8d4e4Read shipping-rate prices one pattern at a time, with real ISO codes
portage-ucp-bigcommerce 0.1.4 → 0.1.5
8a0f268Fix portage-ucp-bigcommerce's exe: StdioTransport#open, not .start
portage-ucp-magento 0.1.4 → 0.1.5
78fbbf3Fix portage-ucp-magento's exe: StdioTransport#open, not .start
portage-ucp-wix 0.1.4 → 0.1.5
d292b8cFix portage-ucp-wix's exe: StdioTransport#open, not Server.build.start
portage-ucp-woocommerce 0.2.1 → 0.2.2
387827bFix portage-ucp-woocommerce's exe: StdioTransport#open, not .start
portage-ucp-etsy 0.1.4 → 0.1.5
3850fc2Add a standalone MCP server exe for portage-ucp-etsyca6ce83Add a spec that exe/portage-ucp-etsy and its example config load4f68f3bDocument the standalone MCP server exe in portage-ucp-etsy's READMEb72bfcdLink portage-ucp-etsy's example config by absolute URL
Also in this cycle
391c5e0buy skill + plugin marketplace (Phase 0)928ee7bRecord the clean-session /buy check in the buy skill plane153209/5b75385Add rake homebrew:update and run it at the end of publish_allceb8837/c2113a9Add a Read the Docs link to the top of the READMEad9a54dCut 0.11.0: portage-cli 0.8.0, portage-ucp-webmcp 0.2.0, adapter exe fixes
The 0.10.0 release set (proxy support, portage-ucp 0.10.0) was published to RubyGems on 2026-09-25. Its notes are on the v0.10.0 release.
See each gem's own CHANGELOG for full details, and the design log for the rationale.