Skip to content
Merged
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
15 changes: 5 additions & 10 deletions .github/workflows/indexnow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,8 @@ jobs:

- name: Note on Google (its ping endpoint no longer exists)
run: |
# Google deprecated this in 2023 β€” they recommend Search Console.
# We try anyway because it's a free no-op if it fails.
# Google retired the sitemap ping endpoint in June 2023; it now
# returns 404, so calling it was doing nothing. Google discovers
# the sitemap from robots.txt and re-crawls on its own schedule β€”
# the only manual lever is Search Console > Sitemaps / URL
# Inspection, which needs an authenticated human. IndexNow above
# still covers Bing, Yandex, Seznam and Naver.
&& echo "βœ“ Google sitemap ping accepted" \
|| echo "::warning::Google sitemap ping failed (expected since 2023; use Search Console)"
# Google retired the sitemap ping endpoint in June 2023 (it now
# returns 404). Google discovers the sitemap from robots.txt; the
# only manual lever is Search Console. IndexNow above still covers
# Bing, Yandex, Seznam and Naver.
echo "Google: no ping endpoint β€” use Search Console > Sitemaps"
30 changes: 15 additions & 15 deletions README.md

Large diffs are not rendered by default.

26 changes: 13 additions & 13 deletions docs/docs.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:type" content="image/png">
<meta property="og:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~12 MB native, zero Electron, 49-tool MCP server.">
<meta property="og:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~13 MB native, zero Electron, 49-tool MCP server.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Notepatra Documentation β€” Install, Features, Plugins, AI, MCP">
<meta name="twitter:description" content="Complete Notepatra documentation: installation, the Password Generator and other plugins, AI integration, the MCP server, keyboard shortcuts, compare/diff, configuration, building from source, verifying releases, troubleshooting.">
<meta name="twitter:image" content="https://notepatra.org/og-card.png">
<meta name="twitter:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~12 MB native, zero Electron, 49-tool MCP server.">
<meta name="twitter:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~13 MB native, zero Electron, 49-tool MCP server.">

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data: https://raw.githubusercontent.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' data:; connect-src 'self' https://api.github.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests">
<meta http-equiv="X-Content-Type-Options" content="nosniff">
Expand Down Expand Up @@ -429,7 +429,7 @@ <h1>Notepatra Documentation</h1>
<!-- ══════════════ Getting started ══════════════ -->

<h2 id="introduction" class="anchor-target">Introduction</h2>
<p>Notepatra is a <strong>native</strong> code editor written in C++17 with a Rust core for the heavy-lifting (memory-mapped file I/O, Aho-Corasick search, Myers diff, formatters). It targets <strong>Linux x64 / ARM64, macOS Apple Silicon, and Windows x64</strong>. The bare executable is ~12 MB (12.6 MB on Linux x64) on each platform; downloads range 4.1 MB (Linux ARM64) to ~43.0 MB (Windows MSI with Qt DLLs bundled).</p>
<p>Notepatra is a <strong>native</strong> code editor written in C++17 with a Rust core for the heavy-lifting (memory-mapped file I/O, Aho-Corasick search, Myers diff, formatters). It targets <strong>Linux x64 / ARM64, macOS Apple Silicon, and Windows x64</strong>. The bare executable is ~13 MB (13.4 MB on Linux x64) on each platform; downloads range 4.4 MB (Linux ARM64) to ~43.9 MB (Windows MSI with Qt DLLs bundled).</p>
<p>Unlike Electron-based editors, Notepatra does not ship a browser runtime. It uses Qt5 + QScintilla β€” a battle-tested Scintilla-based editor engine β€” so 238 file types, 82 language lexers, brace matching, folding, and code completion are built in.</p>
<p>Unlike cloud-first editors, Notepatra's AI is <strong>local-first</strong>. The AI dock dropdown ships <strong>six backends</strong>: <a href="https://ollama.com">Ollama</a> (default Β· <code>localhost:11434</code>), <a href="https://github.com/ggml-org/llama.cpp">llama.cpp</a>'s llama-server (loads any GGUF directly Β· <code>localhost:8080</code>), <a href="https://openrouter.ai">OpenRouter</a> (cloud Β· 100+ models β€” Claude, GPT, Gemini, Grok, Kimi, …), <a href="https://ollama.com/cloud">Ollama Cloud</a> (cloud Β· gpt-oss:120b, qwen3-coder:480b, deepseek-v3.1:671b), <a href="https://openai.com">OpenAI</a> direct, and <a href="https://azure.microsoft.com/en-us/products/ai-services/openai-service">Azure OpenAI</a> (enterprise). The <code>llama.cpp</code> entry also accepts a user-configured base URL via Settings β†’ Preferences β†’ AI, so it can reach any OpenAI-compatible HTTP server you've installed. Nothing leaves your computer unless you pick a cloud backend. No mandatory API keys, no subscription, no telemetry.</p>
<p><strong>The AI runs as an agent.</strong> Tick <strong>Coding Mode</strong> in the AI dock (with a workspace open and a tool-capable model) and the model gets up to 13 native tools β€” file tools <code>read_file</code>, <code>list_dir</code>, <code>write_file</code>, <code>search</code>, <code>apply_diff</code>; data tools <code>query_sql</code>, <code>csv_query</code>, <code>generate_chart</code>; and read-only git tools <code>git_status</code>, <code>git_diff</code>, <code>git_log</code>, <code>git_branch_list</code>, <code>git_show</code> β€” plus three-layer path safety, a 25-call hard cap per turn, and persistent per-workspace chat history. See <a href="#ai-coding-mode">Coding Mode (agentic)</a> below for the full surface.</p>
Expand Down Expand Up @@ -459,12 +459,12 @@ <h3>Manual download</h3>
<table>
<thead><tr><th>Platform</th><th>Asset</th><th>Size</th></tr></thead>
<tbody>
<tr><td>🐧 Linux x64</td><td><code>notepatra-linux-x64.tar.gz</code></td><td>~4.4 MB</td></tr>
<tr><td>🐧 Linux ARM64</td><td><code>notepatra-linux-arm64.tar.gz</code></td><td>~4.1 MB</td></tr>
<tr><td>🍎 macOS Apple Silicon</td><td><code>notepatra-macos-arm64.dmg</code></td><td>~27.7 MB</td></tr>
<tr><td>πŸͺŸ Windows x64 (MSI)</td><td><code>notepatra-&lt;version&gt;.msi</code></td><td>~43.0 MB</td></tr>
<tr><td>πŸͺŸ Windows x64 (installer)</td><td><code>notepatra-setup-&lt;version&gt;.exe</code></td><td>~32.8 MB</td></tr>
<tr><td>πŸͺŸ Windows x64 (portable)</td><td><code>notepatra-windows-x64.zip</code></td><td>~37.4 MB</td></tr>
<tr><td>🐧 Linux x64</td><td><code>notepatra-linux-x64.tar.gz</code></td><td>~4.7 MB</td></tr>
<tr><td>🐧 Linux ARM64</td><td><code>notepatra-linux-arm64.tar.gz</code></td><td>~4.4 MB</td></tr>
<tr><td>🍎 macOS Apple Silicon</td><td><code>notepatra-macos-arm64.dmg</code></td><td>~28.0 MB</td></tr>
<tr><td>πŸͺŸ Windows x64 (MSI)</td><td><code>notepatra-&lt;version&gt;.msi</code></td><td>~43.9 MB</td></tr>
<tr><td>πŸͺŸ Windows x64 (installer)</td><td><code>notepatra-setup-&lt;version&gt;.exe</code></td><td>~33.0 MB</td></tr>
<tr><td>πŸͺŸ Windows x64 (portable)</td><td><code>notepatra-windows-x64.zip</code></td><td>~37.8 MB</td></tr>
</tbody>
</table>

Expand Down Expand Up @@ -618,7 +618,7 @@ <h2 id="first-launch" class="anchor-target">First launch</h2>
<!-- ══════════════ Lite vs Full + packs (v0.1.64+) ══════════════ -->

<h2 id="lite-vs-full" class="anchor-target">Lite mode vs Full mode (v0.1.64+)</h2>
<p>Starting in v0.1.64, Notepatra ships two build flavors per release. <strong>Lite</strong> is the default download β€” a bare ~12.6 MB binary with no heavy dependencies bundled. <strong>Full</strong> is the opt-in flavor. On every platform it bundles the <strong>DuckDB</strong> query engine (v1.1.3) next to the binary; on <strong>Linux and Windows</strong> it additionally bundles QtWebEngine for inline Vega-Lite chart rendering. <strong>macOS Full is DuckDB-only</strong> β€” Homebrew's <code>qt@5</code> no longer ships QtWebEngine (and there is no Apple-Silicon Qt5 WebEngine), so inline Vega charts stay a Linux/Windows Full feature; the native fenced <code>```chart</code> renderer (QtCharts) still works everywhere. On Linux the <code>-full</code> tarball links <code>libQt5WebEngineWidgets</code> from your distro (install <code>qtwebengine5-dev</code> / <code>qt5-qtwebengine</code>) and ships <code>libduckdb.so</code> alongside the binary. Heavy features go through <strong>packs</strong> that you install on demand, the way DuckDB ships a tiny core plus optional extensions (<code>httpfs</code>, <code>parquet</code>, <code>spatial</code>, etc.).</p>
<p>Starting in v0.1.64, Notepatra ships two build flavors per release. <strong>Lite</strong> is the default download β€” a bare ~13.4 MB binary with no heavy dependencies bundled. <strong>Full</strong> is the opt-in flavor. On every platform it bundles the <strong>DuckDB</strong> query engine (v1.1.3) next to the binary; on <strong>Linux and Windows</strong> it additionally bundles QtWebEngine for inline Vega-Lite chart rendering. <strong>macOS Full is DuckDB-only</strong> β€” Homebrew's <code>qt@5</code> no longer ships QtWebEngine (and there is no Apple-Silicon Qt5 WebEngine), so inline Vega charts stay a Linux/Windows Full feature; the native fenced <code>```chart</code> renderer (QtCharts) still works everywhere. On Linux the <code>-full</code> tarball links <code>libQt5WebEngineWidgets</code> from your distro (install <code>qtwebengine5-dev</code> / <code>qt5-qtwebengine</code>) and ships <code>libduckdb.so</code> alongside the binary. Heavy features go through <strong>packs</strong> that you install on demand, the way DuckDB ships a tiny core plus optional extensions (<code>httpfs</code>, <code>parquet</code>, <code>spatial</code>, etc.).</p>

<h3>Why this split?</h3>
<p>v0.1.63 bundled QtWebEngine into every release for one specific feature β€” the AI Data Analyst's inline chart card. Most users will never trigger a chart, but every install paid the disk + download cost. v0.1.64 flipped the default: lite by default, charts move to an optional pack. Same architecture mirrors how Cursor / VS Code / Sublime add language servers and renderers β€” small core, install what you need.</p>
Expand All @@ -630,7 +630,7 @@ <h3>Why this split?</h3>
<tbody>
<tr>
<td><strong>Lite</strong> (default)</td>
<td>~12 MB</td>
<td>~13 MB</td>
<td>Everything: editor, lexers, AI Assistant, Coding Mode, Data Analyst tool calls, Git, REST client, hex editor, plugins, themes.</td>
<td>Inline Vega-Lite chart rendering. The Data Analyst can still generate chart specs β€” they show as a "Chart rendering requires the Charts Pack" card with [View JSON instead] to copy the spec out.</td>
</tr>
Expand Down Expand Up @@ -2156,10 +2156,10 @@ <h4>Is Notepatra a port of another editor?</h4>
<p>No. Notepatra is its own application β€” a native Qt5 + QScintilla editor with an original C++17/Rust core for the hot paths (memory-mapped file I/O, Aho-Corasick search, Myers diff, the formatters). The editing surface is QScintilla β€” the mature Scintilla engine, the same one Notepad++ is built on β€” so folding, brace matching and lexing are battle-tested rather than reinvented; everything around it (the AI dock, the tools, the Rust core, the UI) is Notepatra's own. It builds from a single codebase for Linux x64 / ARM64, macOS Apple Silicon, and Windows x64.</p>

<h4>What's the difference between the Lite and Full builds, and which do I get?</h4>
<p>The default download is <strong>Lite</strong>: the complete editor β€” all 82 lexers, the AI dock, diagrams, formatters, Git, terminal β€” with no browser engine bundled, which is why the bare binary stays ~12 MB. <strong>Full</strong> bundles the DuckDB engine on every platform, and β€” on <strong>Linux and Windows</strong> β€” adds QtWebEngine so the <code>generate_chart</code> AI tool can render interactive Vega-Lite charts inline. (<strong>macOS Full is DuckDB-only</strong>: Homebrew <code>qt@5</code> no longer ships QtWebEngine and there is no Apple-Silicon Qt5 WebEngine, so inline Vega charts are a Linux/Windows feature.) Everything else is identical. Most people want Lite; reach for Full only if you need the DuckDB engine or WebEngine-rendered Vega charts β€” the native QtCharts inline charts and the <code>.npd</code> diagram renderer work in <em>both</em> flavors on <em>every</em> platform. See <a href="#lite-vs-full">Lite mode vs Full mode</a>.</p>
<p>The default download is <strong>Lite</strong>: the complete editor β€” all 82 lexers, the AI dock, diagrams, formatters, Git, terminal β€” with no browser engine bundled, which is why the bare binary stays ~13 MB. <strong>Full</strong> bundles the DuckDB engine on every platform, and β€” on <strong>Linux and Windows</strong> β€” adds QtWebEngine so the <code>generate_chart</code> AI tool can render interactive Vega-Lite charts inline. (<strong>macOS Full is DuckDB-only</strong>: Homebrew <code>qt@5</code> no longer ships QtWebEngine and there is no Apple-Silicon Qt5 WebEngine, so inline Vega charts are a Linux/Windows feature.) Everything else is identical. Most people want Lite; reach for Full only if you need the DuckDB engine or WebEngine-rendered Vega charts β€” the native QtCharts inline charts and the <code>.npd</code> diagram renderer work in <em>both</em> flavors on <em>every</em> platform. See <a href="#lite-vs-full">Lite mode vs Full mode</a>.</p>

<h4>How big is it, really?</h4>
<p>The bare executable is ~12 MB (~12.6 MB on Linux x64) on every platform β€” no Electron, no bundled browser runtime. Download sizes differ because Linux links Qt from your distro while macOS and Windows bundle it: roughly 4.4 MB (Linux x64 tar.gz), 27.7 MB (macOS DMG with Qt), 43.0 MB (Windows MSI with the Qt DLLs). The GitHub release page is always canonical for exact bytes.</p>
<p>The bare executable is ~13 MB (~13.4 MB on Linux x64) on every platform β€” no Electron, no bundled browser runtime. Download sizes differ because Linux links Qt from your distro while macOS and Windows bundle it: roughly 4.7 MB (Linux x64 tar.gz), 28.0 MB (macOS DMG with Qt), 43.9 MB (Windows MSI with the Qt DLLs). The GitHub release page is always canonical for exact bytes.</p>

<h4>Does my code go to the cloud? Is there any telemetry?</h4>
<p>No telemetry, no analytics, no account β€” the editor starts fully offline. Every outbound connection is one you trigger: (1) your selected AI backend β€” a <em>local</em> Ollama (<code>localhost:11434</code>) or llama-server (<code>localhost:8080</code>) by default, or whichever URL you set on the llama.cpp entry; (2) <code>git push/pull</code> from the Git panel; (3) the REST client when you send a request; (4) one GitHub-API call at launch if the update check is enabled. Cloud AI backends (Ollama Cloud / OpenRouter / OpenAI / Azure OpenAI) are <strong>opt-in</strong> from the dropdown and use <em>your</em> key β€” your code leaves the machine only when you pick one and send it. All of this is verifiable with <code>strace</code>, and the built-in AI Interaction Log records exactly what was sent so you never have to take our word for it.</p>
Expand Down
6 changes: 3 additions & 3 deletions docs/enterprise.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:type" content="image/png">
<meta property="og:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~12 MB native, zero Electron, 49-tool MCP server.">
<meta property="og:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~13 MB native, zero Electron, 49-tool MCP server.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Notepatra for Enterprise β€” License, Supply Chain, IT/Legal Review">
<meta name="twitter:description" content="Plain-English explainer for IT, legal, and procurement teams reviewing Notepatra. GPL-3.0 standalone app, no telemetry, no mandatory network calls, signed releases.">
<meta name="twitter:image" content="https://notepatra.org/og-card.png">
<meta name="twitter:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~12 MB native, zero Electron, 49-tool MCP server.">
<meta name="twitter:image:alt" content="Notepatra β€” the code editor built for the AI era. C++ and Rust, ~13 MB native, zero Electron, 49-tool MCP server.">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }

Expand Down Expand Up @@ -295,7 +295,7 @@ <h2>Snapshot for your software-acceptance form</h2>
<tr><td>Supply chain</td><td>Each release page on GitHub publishes SHA-256 checksums, cosign signatures (recorded in the Sigstore Rekor transparency log), and SLSA build-provenance attestations. The releases are built from public source on GitHub Actions; bit-for-bit reproducible builds are planned but not yet implemented.</td></tr>
<tr><td>Code signing</td><td>SHA-256 + cosign on every release artifact at the time of writing. Operating-system code signing (Authenticode on Windows, Apple notarization on macOS) is on the roadmap; current builds are unsigned at the OS level but are cryptographically verifiable via cosign.</td></tr>
<tr><td>Platforms</td><td>Linux x64 / ARM64, macOS Apple Silicon, Windows x64</td></tr>
<tr><td>Footprint</td><td>Bare executable under 12 MB (~11.5 MB on Linux x64). Latest Lite (default) downloads: 4.1 MB (Linux x64 tar.gz), 27.5 MB (macOS DMG), 42.4 MB (Windows MSI); the opt-in Full download is larger (bundles DuckDB, plus WebEngine on Linux/Windows). Exact sizes vary release-to-release; the GitHub release page is canonical.</td></tr>
<tr><td>Footprint</td><td>Bare executable under 12 MB (~11.5 MB on Linux x64). Latest Lite (default) downloads: 4.4 MB (Linux x64 tar.gz), 27.5 MB (macOS DMG), 42.4 MB (Windows MSI); the opt-in Full download is larger (bundles DuckDB, plus WebEngine on Linux/Windows). Exact sizes vary release-to-release; the GitHub release page is canonical.</td></tr>
<tr><td>Updates</td><td>Manual. No auto-update daemon. No background service.</td></tr>
<tr><td>Plugins</td><td>Drop a <code>.so</code>/<code>.dylib</code>/<code>.dll</code> in <code>~/.config/notepatra/plugins/</code>. No remote plugin registry. No auto-install.</td></tr>
</table>
Expand Down
Loading
Loading