SkillAgentSearch skills...

Ferrite

A fast, lightweight text editor for Markdown, JSON, YAML, and TOML files. Built with Rust and egui for a native, responsive experience.

Install / Use

/learn @OlaProeis/Ferrite

README

Ferrite

English | 简体中文

<div align="center">

Website Latest Release License GitHub Stars GitHub Issues Translation Status

getferrite.dev — Official website with downloads, features, and documentation

</div>

A fast, lightweight text editor for Markdown, JSON, YAML, and TOML files. Built with Rust and egui for a native, responsive experience.

⚠️ Platform Note: Ferrite is developed and tested on Windows and Linux. macOS support is experimental. If you encounter issues, please report them.

<details> <summary><strong>🛡️ Code Signing & Antivirus</strong></summary>

Starting with v0.2.6.1, all Windows releases are digitally signed with a certificate from SignPath Foundation. This means:

  • Windows SmartScreen recognizes the publisher — no more "Unknown publisher" warnings
  • Antivirus false positives are significantly reduced thanks to the trusted code signature
  • Integrity verification — you can verify that the binary hasn't been tampered with

Previous False Positives

Older unsigned builds may still trigger antivirus detections. This was caused by:

  • Live Pipeline feature: Uses cmd.exe /C on Windows for shell commands, which ML-based detection can misidentify
  • Rust compilation patterns: Rust binaries can trigger heuristic detections due to unique characteristics

We've addressed this through code signing, build profile adjustments (disabled symbol stripping, speed optimization), and reporting to Microsoft's Security Intelligence portal.

If You're Still Affected

If Windows Defender quarantines Ferrite:

  1. Upgrade: Download the latest signed release from GitHub Releases
  2. Verify the signature: Right-click ferrite.exe → Properties → Digital Signatures → should show "SignPath Foundation"
  3. Check VirusTotal: Upload the file to VirusTotal — signed builds should show clean results

Ferrite does NOT access passwords, browser data, or make unsolicited network connections. The only network access is the manual "Check for Updates" button (Settings → About), which contacts the GitHub Releases API when you click it. The application only accesses files you explicitly open.

</details>

🤖 AI-Assisted Development

This project is 100% AI-generated code. All Rust code, documentation, and configuration was written by Claude (Anthropic) via Cursor with MCP tools.

<details> <summary><strong>About the AI workflow</strong></summary>

My Role

  • Product direction — Deciding what to build and why
  • Testing — Running the app, finding bugs, verifying features
  • Review — Reading generated code, understanding what it does
  • Orchestration — Managing the AI workflow effectively

The Workflow

  1. Idea refinement — Discuss concepts with multiple AIs (Claude, Perplexity, Gemini Pro)
  2. PRD creation — Generate requirements using Task Master
  3. Task execution — Claude Opus handles implementation (preferring larger tasks over many subtasks)
  4. Session handover — Structured prompts maintain context between sessions
  5. Human review — Every handover is reviewed; direction adjustments made as needed

📖 Full details: AI Development Workflow

Open Process

The actual prompts and documents used to build Ferrite are public:

| Document | Purpose | |----------|---------| | current-handover-prompt.md | Active session context | | ai-workflow/ | Full workflow docs, PRDs, historical handovers | | handover/ | Reusable handover templates |

This transparency is intentional — I want others to learn from (and improve upon) this approach.

</details>

Screenshots

Ferrite Demo

| Raw Editor | Split View | Zen Mode | |------------|------------|----------| | Raw Editor | Split View | Zen Mode |

v0.2.7 (Latest): Wikilinks & backlinks panel. Vim mode. Welcome page for first-launch setup. GitHub-style callouts. Ctrl+Scroll zoom. Keep text selected after formatting. Frontmatter editor. Image rendering in preview. Format toolbar & side panel toggles. Nix/NixOS flake support. New packaging: .deb, .rpm, macOS .app bundles. Single-instance file opening. 20+ bug fixes. See CHANGELOG.md for full details.

📦 v0.2.6 Highlights: Custom Editor Engine with virtual scrolling (80MB file uses ~80MB RAM), Multi-Cursor Editing, Code Folding, IME/CJK input improvements.

Features

Core Editing

  • WYSIWYG Markdown Editing - Edit markdown with live preview, click-to-edit formatting, and syntax highlighting
  • Multi-Format Support - Native support for Markdown, JSON, CSV, YAML, and TOML files
  • Multi-Encoding Support - Auto-detect and preserve file encodings (UTF-8, Latin-1, Shift-JIS, Windows-1252, GBK, and more)
  • Tree Viewer - Hierarchical view for JSON/YAML/TOML with inline editing, expand/collapse, and path copying
  • Find & Replace - Search with regex support and match highlighting
  • Go to Line (Ctrl+G) - Quick navigation to specific line number
  • Undo/Redo - Full undo/redo support per tab

View Modes

  • Split View - Side-by-side raw editor and rendered preview with resizable divider; both panes are fully editable
  • Zen Mode - Distraction-free writing with centered text column

Editor Features

  • Syntax Highlighting - Full-file syntax highlighting for 100+ languages (Rust, Python, JavaScript, Go, TypeScript, PowerShell, and more)
  • Code Folding - Fold/unfold regions with gutter indicators (▶/▼) for headings, code blocks, and lists; collapsed content is hidden
  • Semantic Minimap - Navigation panel with clickable header labels, content type indicators, and text density bars (switchable to VS Code-style pixel view)
  • Multi-Cursor Editing - Ctrl+Click to add multiple cursors; type, delete, and navigate at all positions simultaneously
  • Bracket Matching - Highlight matching brackets ()[]{}<> and emphasis pairs ** __
  • Auto-close Brackets & Quotes - Type (, [, {, ", or ' to get matching pair; selection wrapping supported
  • Duplicate Line (Ctrl+Shift+D) - Duplicate current line or selection
  • Move Line Up/Down (Alt+↑/↓) - Rearrange lines without cut/paste
  • Smart Paste for Links - Select text then paste URL to create [text](url) markdown link
  • Drag & Drop Images - Drop images into editor to auto-save to ./assets/ and insert markdown link
  • Table of Contents - Generate/update TOC from headings with <!-- TOC --> block (Ctrl+Shift+U)
  • Snippets - Text expansions like ;date → current date, ;time → current time, plus custom snippets
  • Auto-Save - Configurable auto-save with temp-file safety
  • Line Numbers - Optional line number gutter
  • Configurable Line Width - Limit text width for readability (80/100/120 or custom)
  • Custom Font Selection - Choose preferred fonts for editor and UI; important for CJK regional glyph preferences
  • Keyboard Shortcut Customization - Rebind shortcuts via settings panel

MermaidJS Diagrams

Native rendering of 11 diagram types directly in the preview:

  • Flowchart, Sequence, Pie, State, Mindmap
  • Class, ER, Git Graph, Gantt, Timeline, User Journey

v0.2.5 Mermaid Update: Native Mermaid rendering now supports YAML frontmatter, parallel edges (A --> B & C), classDef/linkStyle styling, improved subgraphs, and more. Complex diagrams may still have rendering differences from mermaid.js. See ROADMAP.md for planned improvements.

CSV/TSV Viewer

  • Native Table View - View CSV and TSV files in a formatted table with fixed-width column alignment
  • Rainbow Column Coloring - Alternating column colors for improved readability
  • Delimiter Detection - Auto-detect comma, tab, semicolon, and pipe separators
  • Header Row Detection - Intelligent detection and highlighting of header rows

Workspace Features

  • Workspace Mode - Open folders with file tree, quick switcher (Ctrl+P), and search-in-files (Ctrl+Shift+F)
  • Git Integration - Visual status indicators (modified, added, untracked, ignored) with auto-refresh on save, focus, and file changes
  • Session Persistence - Restore open tabs, cursor positions, and scroll offsets on restart

Terminal Workspace

  • Integrated Terminal - Multiple instances with shell selection (PowerShell, CMD, WSL, bash)
  • Tiling & Splitting - Create complex 2D grids with horizontal and vertical splits
  • Smart Maximize - Temporarily maximize any pane to focus on work (Ctrl+Shift+M)
  • Layout Persistence - Save and load your favorite terminal arrangements to JSON files
  • Theming & Transparency - Custom color schemes (Dracula, etc.) and background opacity
  • Drag-and-Drop Tabs - Reorder terminals with visua
View on GitHub
GitHub Stars1.3k
CategoryDevelopment
Updated7h ago
Forks56

Languages

Rust

Security Score

100/100

Audited on Mar 19, 2026

No findings