Warning
If you do not like using AI generated packages, turn back now. This repository was made entirely as an elaborate test of Matt Pocock's wayfinder skill. Its intent was to create a local Pi-driven (mini) version of Tidewave's pay-to-use built-in taskbar. If you're curious, you can look at issue #17 for the decision tree used to generate the code in this repo.
Pi Browser Taskbar is a development-only bridge from a rendered Rails or Phoenix page to one local,
project-scoped Pi coding session. Choose the
pi-browser-taskbar-rails gem for Rails ERB/Turbo applications or the
pi_browser_taskbar_phoenix Hex package for Phoenix
controller-HEEx/LiveView applications. Both distributions contain their private Browser Client and
need no Node or JavaScript package manager for taskbar use.
Do not install the taskbar in production or use it with sensitive datasets. It sends deliberately submitted visible page text and URL paths to the developer's configured Pi/model provider.
- Architecture and ownership explains the independent adapters, private Browser Client, canonical contract, examples, and root-tooling boundaries.
- Security and remote development explains the threat model and safe local default without redefining the normative wire rules.
- Troubleshooting provides symptom-first diagnosis for both adapters.
- Compatibility records claims checked against package metadata and CI configuration.
- Contributing defines source ownership, generated outputs, and verification.
- Browser and accessibility acceptance defines deterministic packaged-browser accessibility evidence.
- Coordinated releases define protected preparation, preserved artifacts, resumable registry reconciliation, durable checkpoints, and announcement gates.
- Recollect migration records the one-time install, proof, removal, and rollback order.
- Conformance Contract v1 is the single normative source for shared API, lifecycle, context, prompt, security, stable errors, and conformance semantics.
The conventional Rails ERB/Turbo example and Phoenix controller-HEEx/LiveView example demonstrate equivalent named scenarios through public package installation seams.
private Browser Client + adapter provider -> packaged Rails or Phoenix asset
canonical Contract -----------------------> test-time conformance only
built adapter ----------------------------> matching example application
The adapters share no runtime code and never depend on one another. Rails uses an external checkout-scoped broker; Phoenix uses an OTP-supervised runtime. Exact behavior belongs to the canonical contract, not this overview.
Install Ruby, Node, Elixir/Mix, and Hex, then run:
npm ci
npx playwright install --with-deps chromium firefox webkit
bin/verifyThe command checks contract artifacts, documentation and links, generated shared documents and
Browser Client assets, native suites, package contents, clean artifact-installed host flows, the
packaged Chromium/Firefox/WebKit accessibility matrix, fail-closed non-development boot, and
cross-adapter semantics. Built artifacts are written to
build/ and examples are deliberately excluded from them. Release candidates additionally use the
protected coordinated workflow; preparation makes no registry write.
To regenerate committed Browser Client assets and staged offline package documents, run:
bin/buildChange normative shared behavior only in contract/ beside its schemas and fixtures. Change generic
browser interaction only in packages/browser-client/, and framework behavior only in the matching
adapter. Keep examples on public package seams and root tooling free of runtime behavior. See
contributing and the
requirement traceability index.
Pi Browser Taskbar is available under the MIT License.