Skip to content

Commit 060a34f

Browse files
docs(readme): rewrite README for clarity and tone
- Feature list was too terse to convey what each subsystem actually does; expanded each section so readers understand the depth (xdiff, libvterm, ACP, Goal Agent, mini-apps, etc.) - Multi-instance and portable-mode docs condensed into prose; the table added visual noise without adding information - AI agents section moved into the main features block so the doc reads top-to-bottom without jumping around - Minor wording and casing fixes throughout (sentence-case headings, imperative install line, compiler list updated)
1 parent 91f7638 commit 060a34f

1 file changed

Lines changed: 34 additions & 37 deletions

File tree

README.md

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,67 @@
11
# NotepadAI
22

3-
A fast, cross-platform code editor with built-in AI agents, Git integration, and an embedded terminal. Built on [Notepad Next](https://github.com/dail8859/NotepadNext) (a Notepad++ reimplementation in Qt/C++).
3+
You shouldn't have to leave your editor to talk to an AI, run git, or open a shell. NotepadAI is a Notepad++-style code editor that has those things built in, not bolted on the side. It's a fork of [Notepad Next](https://github.com/dail8859/NotepadNext) (itself a Notepad++ reimplementation in Qt/C++), and it stays light and fast while doing a lot more.
44

55
![screenshot](/screenshot.png)
66

77
## Features
88

9-
- **AI Agent Integration** — Chat with Claude Code, Gemini, or any ACP-compatible agent directly inside the editor. Agents can read/write files, run terminal commands, and understand your workspace context.
10-
- **Git Integration** — Inline blame, gutter diff indicators, commit history viewer, staging/unstaging, branch picker, and file-tree decorations. No external Git GUI needed.
11-
- **Embedded Terminal** — Full PTY terminal with mouse reporting, image passthrough, and persistent task registry. Open terminals in workspace or file directory.
12-
- **Notepad++ Compatibility** — Familiar tabbed interface, syntax highlighting for 80+ languages via Scintilla/Lexilla, macro recording, session management, and Notepad++ config import.
13-
- **Lightweight & Fast** — Native C++20/Qt 6 with zero-copy hot paths, precompiled headers, and Control Flow Guard. Starts in milliseconds.
14-
- **Cross-platform** — Windows, Linux (AppImage), and macOS (dmg).
9+
### AI agents
10+
11+
NotepadAI speaks the Agent Client Protocol (ACP) over stdio. Claude Code is the built-in default. Add any other ACP-compatible agent — Gemini, Auggie, or your own command — from Settings. Agents read and write files, run terminal commands, and see your workspace context, so they work on the same code you do.
12+
13+
There's also a separate Goal Agent built in. It isn't ACP: you describe an intent and it plans and executes the steps itself. And when you commit, AI can write the commit message from your staged diff. The protocol details and how to wire up a custom agent are in [doc/AcpAgents.md](doc/AcpAgents.md).
14+
15+
### Git, built in
16+
17+
Inline blame, gutter diff markers, commit history, staging and unstaging, a branch picker, and git status decorations in the file tree. Merge and rebase flows are here too, including an interactive-rebase editor and a 3-way conflict viewer. Most operations never shell out to `git` — it diffs with xdiff and parses status, log, and blame itself. You don't need a separate Git GUI.
18+
19+
### A real terminal
20+
21+
A full PTY terminal built on libvterm and libptyqt, with mouse reporting and a scrollback buffer. It reads your project files — Justfile, Makefile, package.json, deno.json — figures out which tasks you can run, and draws clickable run icons in the editor margin. Open a terminal rooted at the active workspace or at the current file's folder.
22+
23+
### The editor itself
24+
25+
It's still Notepad++ at heart: a tabbed, splittable interface (Qt Advanced Docking System) with syntax highlighting for 80+ languages through vendored Scintilla and Lexilla. Macro recording and playback, session management, and an embedded Lua scripting layer are all here. If you're coming from Notepad++, it imports your config and sessions. There's also an editor minimap and live preview for Markdown and HTML.
26+
27+
### Extras worth knowing
28+
29+
You can define mini-apps — small HTML/JS tools that run in a native WebView inside the editor. Scheduled tasks fire AI agent sessions on a cron schedule. And you can keep several folder-as-workspace roots open at the same time.
1530

1631
## Installation
1732

18-
Download binaries from the [Releases](https://github.com/nullmastermind/NotepadAI/releases) page.
33+
Grab a binary from the [Releases](https://github.com/nullmastermind/NotepadAI/releases) page.
1934

2035
| Platform | Format |
2136
|----------|--------|
2237
| Windows | Installer (.exe) or portable zip |
2338
| Linux | AppImage |
2439
| macOS | Disk image (.dmg) |
2540

26-
## Building from Source
41+
## Building from source
2742

28-
Requirements: CMake 3.21+, Qt 6.5+, Ninja, a C++20 compiler (MSVC, GCC, or Clang).
43+
You need CMake 3.21+, Qt 6.5+, Ninja, and a C++20 compiler (MSVC, clang-cl, GCC, or Clang).
2944

3045
```bash
3146
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
3247
cmake --build build --parallel
3348
```
3449

35-
See [doc/Building.md](doc/Building.md) for platform-specific details.
36-
37-
## AI Agents
38-
39-
NotepadAI speaks the [Agent Client Protocol (ACP)](doc/AcpAgents.md) over stdio. The default built-in agent is Claude Code. Add custom agents via Settings with any command that implements ACP's JSON-RPC 2.0 wire format.
40-
41-
## Multi-Instance / Portable Mode
42-
43-
NotepadAI supports running multiple independent instances, each with its own settings, sessions, and AI history. This is useful when you want separate profiles (e.g., work vs personal) without data conflicts.
44-
45-
All application data is stored under `<data-dir>/NotepadAI/` (settings INI, session backups, ACP chat history).
46-
47-
### Custom data directory
48-
49-
Set a custom data directory using one of these methods (highest priority first):
50-
51-
| Method | Example |
52-
|--------|---------|
53-
| CLI flag | `NotepadAI.exe --data-dir=D:\profiles\work` |
54-
| Environment variable | `NOTEPADAI_DATA_DIR=D:\profiles\work` |
55-
| Portable marker | Create an empty file named `portable` next to the exe |
56-
| Preferences UI | Settings > Data Directory > Browse |
50+
For platform-specific details and packaging on Windows, macOS, and Linux, see [doc/Building.md](doc/Building.md).
5751

58-
Relative paths are resolved relative to the executable's directory.
52+
## Multi-instance and portable mode
5953

60-
When two instances use different data directories, they run as fully independent processes (separate settings, sessions, window state, and SingleApplication identity). Instances sharing the same data directory still behave as a single instance (the second forwards its files to the first).
54+
All app data lives under `<data-dir>/NotepadAI/` — the settings INI, session backups, and ACP chat history. You can point that somewhere else. Highest priority first:
6155

62-
### Portable mode
56+
- CLI flag: `NotepadAI.exe --data-dir=D:/profiles/work`
57+
- Environment variable: `NOTEPADAI_DATA_DIR=D:/profiles/work`
58+
- Portable marker: an empty file named `portable` next to the exe
59+
- Preferences UI: Settings > Data Directory > Browse
6360

64-
Place an empty file named `portable` next to `NotepadAI.exe`. The application will store all data in the same directory as the executable — no writes to `%APPDATA%` or system directories. Ideal for USB drives or self-contained deployments.
61+
Relative paths resolve against the executable's directory. Two instances with different data dirs are fully independent — separate settings, sessions, window state, and SingleApplication identity. Two instances pointed at the same data dir act as one: the second forwards its files to the first and exits. The `portable` marker keeps everything next to the exe and writes nothing to `%APPDATA%` or any system directory, which is what you want on a USB drive.
6562

6663
## License
6764

68-
[GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.txt)
65+
[GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.txt). See the `LICENSE` file.
6966

7067
Based on Notepad Next by Justin Dailey. AI and Git extensions by [nullmastermind](https://github.com/nullmastermind).

0 commit comments

Comments
 (0)