Skip to content

Chrome Extension

extension/ in the platform repo — a Manifest V3 Chrome extension that lets you edit any published docs page from the browser side panel, without leaving the page.

How a page becomes editable

The extension is decentralized: there is no server-side registry of editable sites. A published page opts in by declaring its own source in meta tags:

<meta name="source-repo" content="FreeDocStore/<kb-id>">
<meta name="source-path" content="docs/<page>.md">

The KB deploy workflow injects these tags into every generated HTML page, mapping it back to the Markdown file that produced it. When the extension sees the tags, the side panel offers editing; without them, it stays read-only.

Editing flow

The side panel follows the platform rule — prompt, not textarea:

  1. Open a published docs page, open the side panel.
  2. Describe the change.
  3. The extension drafts a proposal against the source Markdown in the repo.
  4. Review the diff.
  5. Accept — the change lands in GitHub as a commit or PR on the source repo.
  6. GitHub Actions rebuilds and redeploys the page.

Install

  • Chrome Web Store (production channel), or
  • load extension/dist/ as an unpacked extension for development.

Development

cd extension
npm install
npm run build      # bundles to dist/
npm run typecheck
npm test

Release

Versioning is semver, with manifest.json and package.json kept in lockstep. CI can upload to the Chrome Web Store automatically when the CWS credentials (CWS_CLIENT_ID, CWS_CLIENT_SECRET, CWS_REFRESH_TOKEN, CWS_PUBLISHER_ID) are configured as repo secrets on the platform repo.