A local workspace for Markdown, MDX, JSON, YAML, shell scripts, and text files.
Open folders you already have. Read, edit, search, preview, and keep your files as normal files on disk.
EXT is a desktop app for people who keep useful files across folders, projects, notes, repos, and downloads.
It does not import your files into a vault. It does not sync them to a service. It does not hide them behind a database. You add folders, EXT scans the supported files, and you keep working with the same files every other editor already sees.
EXT treats these as editable local files:
- Markdown:
.md,.markdown - MDX:
.mdx - JSON:
.json - YAML:
.yml,.yaml - Text:
.txt - Shell scripts:
.sh,.bash,.zsh,.fish,.ksh,.csh,.tcsh - Shell config files:
.bashrc,.bash_profile,.profile,.zshrc,.zprofile,.zshenv,.zlogin,.zlogout,.kshrc - Extensionless shell scripts with a shell shebang
Images are shown when Markdown references them, but EXT does not add images to the workspace file list or manage image assets.
- Add local folders as workspaces.
- Browse files from multiple folders in one app.
- Use smart views for recent files, favorites, Markdown files, text files, modified files, and TODOs.
- Keep files in their original folders.
- Remove a workspace from EXT without deleting anything from disk.
- Edit files with CodeMirror 6.
- Use tabs for open files.
- Switch between editor-only, split, and preview-only layouts.
- Autosave changes to disk.
- Use find and replace in the current file.
- See saved state, file type, encoding, line endings, and Git branch in the status bar.
- Convert line endings between
LFandCRLF.
- Preview Markdown and MDX files.
- Render GitHub-Flavored Markdown.
- Render LaTeX/math-heavy Markdown safely.
- Use outline navigation from Markdown headings.
- Print normal Markdown/MDX previews through the native print dialog.
- Print output uses a plain white page, black text, readable tables, and readable code blocks.
- Printing is disabled for oversized files so the native print window does not crash.
MDX is treated as Markdown-like source. EXT does not execute imports, exports, JSX, or components.
- Edit JSON and YAML as source files.
- Edit valid or broken JSON/YAML without forcing schema validation.
- Edit shell scripts and shell config files as source files.
- Highlight shell syntax for normal and large supported shell files.
- Do not execute, source, lint, format, or run shell scripts.
- Use viewport-bounded highlighting for large structured/source files where needed.
- Create files and folders.
- Rename files.
- Delete files with confirmation.
- Reveal files in the system file explorer.
- Copy absolute file paths.
- Open files in the system default app.
- Use context menus from files, tabs, and the editor.
EXT is built to avoid freezing on large local files.
- Large Markdown files use demand-driven preview work.
- Large JSON, YAML, and shell files avoid full-document syntax work when that would hurt responsiveness.
- Very large files use safer editor paths instead of trying to render everything at once.
- Huge documents can still be opened externally when a dedicated editor is the better tool.
The goal is simple: keep EXT responsive. It is not trying to become the best tool for every giant file.
When the active file is inside a Git repo, EXT shows the current local branch in the status bar. It hides outside Git folders.
This is local-only. EXT does not call GitHub APIs, ask for GitHub login, fetch, pull, push, or manage commits.
EXT is not:
- a cloud notes service
- a hosted vault
- a collaboration suite
- a WYSIWYG editor
- a terminal
- a Git client
- an IDE
- a publishing system
It is a local workspace and editor for common project/doc files.
Demo media lives in the repository for README and development use. Production builds strip demo media and development examples from packaged apps.
Prebuilt installers are attached to GitHub Releases.
Available packages:
- Windows:
.exe/.msi - macOS:
.dmg - Linux:
.deband AppImage
- Apple Silicon Macs, M1/M2/M3/M4: download the
aarch64.dmg - Intel Macs, Core i5/i7/i9: download the
x86_64.dmg
The macOS builds are currently unsigned and not notarized, so macOS may show a warning. These are technical preview builds.
On macOS, use Cmd where the table says Ctrl/Cmd.
| Shortcut | Action |
|---|---|
Ctrl/Cmd + P |
Focus global file search / quick open |
Ctrl/Cmd + F |
Open find and replace |
Ctrl/Cmd + B |
Toggle the sidebar |
Ctrl/Cmd + 1 |
Focus the editor |
Ctrl/Cmd + 2 |
Focus the preview / split area |
Ctrl/Cmd + Tab |
Switch to the next tab |
Ctrl/Cmd + Shift + Tab |
Switch to the previous tab |
Ctrl/Cmd + W |
Close the current tab |
- Tauri v2
- Rust backend
- React
- TypeScript
- Vite
- CodeMirror 6
- markdown-it
- DOMPurify
- Node.js
- Rust stable
- Tauri system prerequisites for your operating system
npm installnpm run devnpm run buildnpm run tauri:buildGenerated bundles are written under:
src-tauri/target/release/bundle/
Platform-specific packages are best built on their native OS:
- Windows installers on Windows
- macOS DMG on macOS
- Linux packages on Linux
To clear EXT's saved browser/development state and start with a fresh workspace list:
npm run reset:stateTo also clear the desktop app state used by the Tauri build:
npm run reset:state:desktopThese commands remove saved EXT settings/workspaces from local development storage. They do not delete your actual workspace folders or files.
Frontend:
npm run test
npm run buildBackend:
cd src-tauri
cargo fmt --check
cargo clippy -- -D warnings
cargo testGitHub Actions run frontend and Rust/Tauri checks on pushes and pull requests.
To run the large-file responsiveness benchmark:
npm run benchmark:large-mdThe benchmark covers large Markdown and LaTeX Markdown, plus large valid/broken JSON, YAML, MDX, and shell files where supported.
It checks that EXT stays responsive while heavy files are opened, highlighted, searched, previewed, or routed through the large-file safeguards.
Benchmark files are development assets and are not shipped in production installers.
- Update the version.
- Commit the change.
- Create and push a tag:
git tag v0.1.0
git push origin v0.1.0- GitHub Actions builds release artifacts.
Release builds should use the tagged version for generated artifact names so installer versions match the release tag.
DESIGN.mdexplains the architecture.CONTRIBUTING.mdexplains contribution rules and review expectations.
EXT is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).
You are free to use, study, modify, and fork EXT. Personal forks and open-source contributions are welcome.
If you distribute a modified version of EXT, you must keep it under the same license and provide the corresponding source code.
The EXT name, logo, icon, screenshots, and other brand assets are not covered by the GPL license grant. Do not use them in a way that suggests your fork or modified build is the official EXT app.




