What is Notepatra?
Notepatra is a native code editor written from scratch in C++17 with a Rust core for hot paths (memory-mapped I/O, Aho-Corasick search, Myers diff, formatters). Runs on Linux x64 / ARM64, macOS Apple Silicon, and Windows x64 from a single codebase. ~9 MB bare executable, no Electron runtime, no telemetry, no mandatory account. Local-first AI is built in: pick from Ollama, llama.cpp, OpenRouter, OpenAI, Azure OpenAI, or Ollama Cloud. As of v0.1.67: 226 file types · 92 language lexers, native DuckDB engine for the Data Analyst mode, agentic Coding Mode with read / list / search / write / apply_diff tools, Cursor-style Composer + Ctrl+I inline edit, multi-cursor, AI-driven git tools.
Is it really free? What's the catch?
No catch. GPL-3.0, no telemetry, no analytics, no API key, no enterprise tier, no subscription. Source on GitHub. The "catch" is that it's a one-person open-source project — no SLA, no warranty, no support contract. See the disclaimer in the footer.
How big is the binary?
The bare executable is ~9 MB stripped across every platform. Latest v0.1.67 download sizes: 3.2 MB Linux x64 tar.gz · 3.0 MB Linux ARM64 tar.gz · 26.6 MB macOS DMG · 39.9 MB Windows MSI / 32.0 MB NSIS / 36.5 MB portable zip. Installed on Windows the on-disk footprint grows to ~75-85 MB because the MSI extracts bundled Qt5 + QScintilla DLLs out of the compressed payload — normal for every Qt-based installer. Linux stays tiny (~9 MB on disk) because Qt is a system package; macOS and Windows bundle Qt + QScintilla DLLs for portability.
Does my code go to the cloud?
By default no — Notepatra is local-first. Pick a local AI backend (Ollama on localhost:11434, llama.cpp's llama-server, LM Studio, Jan, vLLM, KoboldCpp) and nothing leaves your machine. Cloud backends (OpenRouter, OpenAI, Azure OpenAI, Ollama Cloud) are opt-in from the AI dock dropdown. Even when you opt in, the v0.1.55 credential scrubber strips API keys / tokens / private-key blocks from any code or chat content before it leaves the machine, and the privacy "Share file with AI" toggle (default OFF) controls whether the active editor file is even visible to the model. Verifiable with strace.
What languages does Notepatra highlight?
226 file types via 92 language lexers as of v0.1.67 — Python, JavaScript, TypeScript, C, C++, C#, Java, Kotlin, Rust, Go, Dart, Solidity, Zig, Vala, Hack, Julia, R, Protobuf, F#, HCL/Terraform, Thrift, GraphQL, GDScript, Nim, Cython, Mojo, Crystal, Elixir, Scala, Groovy, Apex, HTML, CSS, SQL (5 dialects), JSON, JSON5, YAML, TOML, Markdown, Bash, Fish, Nushell, Ruby, Perl, Lua, Fortran, Verilog, VHDL, MATLAB, LaTeX, BibTeX, Jinja, Liquid, Twig, Dockerfile, DotEnv, Gitignore, Pascal, CMake, Makefile, and more. Each lexer ships with comment / uncomment / block-comment syntax (Ctrl+Q / Ctrl+Shift+Q) and proper file-extension routing.
How do I verify a download is genuine?
Every release ships with SHA-256 checksums, cosign signatures (Sigstore + Rekor), and SLSA build provenance. The install scripts verify SHA-256 automatically and refuse to install on mismatch. Full guide in SECURITY.md.
Will it open big files?
Yes — up to 2 GB. The Rust core uses memory-mapped I/O (mmap2), so opening a 2 GB log file doesn't load the whole file into RAM (pages are faulted in lazily as you scroll). Files larger than 50 MB automatically disable syntax highlighting and auto-complete to keep things snappy.
Can I write plugins?
Yes. Drop a .so/.dylib/.dll in ~/.config/notepatra/plugins/. The plugin C API is two functions: notepatra_plugin_name() and notepatra_plugin_run(text, len). Example in the README.
Who built it and why?
Built by Prateek Singh, constructed with Claude. The short version: Linux and macOS deserved a first-class native code editor, and 2026 deserved one with AI built in — local-first by default, cross-platform from one codebase, ~9 MB stripped.