Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions docs/privacy.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Nexpath Browser Extension — Privacy Policy</title>
<meta name="description" content="Privacy policy for the Nexpath browser extension — an AI coding assistant for Replit, Bolt.new, StackBlitz and Lovable. Your API key and settings stay in your browser; prompt context goes only to OpenAI using your own key. No telemetry, no tracking.">
<meta name="description" content="Privacy policy for the Nexpath browser extension — an AI coding assistant for Replit, Bolt.new and Lovable. Your API key and settings stay in your browser; prompt context goes only to OpenAI using your own key. No telemetry, no tracking.">
<style>
:root{
--bg:#ffffff; --fg:#1a1d1f; --muted:#5b6266; --rule:#e3e6e8;
Expand Down Expand Up @@ -74,7 +74,7 @@ <h1>Nexpath Browser Extension — Privacy Policy</h1>

<p>
It runs only on the supported sites: <strong>Replit</strong>, <strong>Bolt.new</strong>,
<strong>StackBlitz</strong>, and <strong>Lovable</strong>. Nexpath is an independent tool and is
and <strong>Lovable</strong>. Nexpath is an independent tool and is
not affiliated with, endorsed by, or sponsored by any of them.
</p>

Expand Down Expand Up @@ -153,9 +153,8 @@ <h2>Permissions and why they are needed</h2>
<ul>
<li><strong>storage</strong> — save your API key and preferences locally.</li>
<li><strong>tabs</strong> — show the popup on the correct agent tab when the agent finishes responding.</li>
<li><strong>scripting</strong> — inject the scripts that read the chat and render the popup.</li>
<li>
<strong>Site access</strong> (Replit, Bolt.new, StackBlitz, Lovable) — Nexpath only works on
<strong>Site access</strong> (Replit, Bolt.new, Lovable) — Nexpath only works on
these AI coding sites and runs nowhere else.
</li>
</ul>
Expand Down
4 changes: 4 additions & 0 deletions src/ext-browser/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ First release candidate — CLI‑parity classifier and popup.
- Space now toggles a single option's details without collapsing others (non‑exclusive, CLI parity).
- "Copy to clipboard" now closes the popup instead of returning to the option list (CLI
`clipboard_only` parity).
- **Store summary aligned to brand:** the manifest `description` (which Chrome uses as the store
summary) now reads "AI coding assistant for Replit, Bolt, and Lovable — a behaviour-guidance
layer for vibe coders." — the same pattern the Nexpath VS Code extension uses, kept within
Chrome's 132-char summary limit (guard-tested).
- **Minimised permissions:** removed the unused `scripting` permission from both manifests —
all injection is declarative (`content_scripts` + `web_accessible_resources`), so it was
never used. The extension now requests only `storage` and `tabs`. A manifest guard test
Expand Down
2 changes: 1 addition & 1 deletion src/ext-browser/manifest.chrome.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"manifest_version": 3,
"name": "Nexpath",
"version": "0.1.5",
"description": "Behaviour guidance for vibe coders using AI coding agents.",
"description": "AI coding assistant for Replit, Bolt, and Lovable — a behaviour-guidance layer for vibe coders.",
"permissions": [
"storage",
"tabs"
Expand Down
2 changes: 1 addition & 1 deletion src/ext-browser/manifest.firefox.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"manifest_version": 3,
"name": "Nexpath",
"version": "0.1.5",
"description": "Behaviour guidance for vibe coders using AI coding agents.",
"description": "AI coding assistant for Replit, Bolt, and Lovable — a behaviour-guidance layer for vibe coders.",
"permissions": [
"storage",
"tabs"
Expand Down
8 changes: 8 additions & 0 deletions src/ext-browser/manifest.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@ describe('ext-browser manifests — permission surface', () => {
expect(manifest.manifest_version).toBe(3);
expect(manifest.version).toMatch(/^\d+\.\d+\.\d+$/);
});

it('has a store-summary description within the Chrome 132-char limit', () => {
// Chrome derives the store SUMMARY from the manifest `description` (not editable in the
// dashboard) and caps it at 132 chars — over-length silently truncates on the listing.
expect(manifest.description.length).toBeGreaterThan(0);
expect(manifest.description.length).toBeLessThanOrEqual(132);
});
});
}

Expand All @@ -50,5 +57,6 @@ describe('ext-browser manifests — permission surface', () => {
expect(firefox.permissions).toEqual(chrome.permissions);
expect(firefox.host_permissions).toEqual(chrome.host_permissions);
expect(firefox.version).toEqual(chrome.version);
expect(firefox.description).toEqual(chrome.description);
});
});
2 changes: 1 addition & 1 deletion src/ext-browser/options/options.html
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ <h1>Nexpath Settings</h1>
<label>Supported Agent Sites</label>
<ul class="site-list">
<li>Replit <span class="badge">replit.com</span></li>
<li>Bolt.new <span class="badge">bolt.new / stackblitz.com</span></li>
<li>Bolt.new <span class="badge">bolt.new</span></li>
<li>Lovable <span class="badge">lovable.dev</span></li>
</ul>
</section>
Expand Down