- Ferrite は、Markdown、JSON、YAML、TOML ファイルを高速かつ軽量に編集できる Rust ベースのテキストエディタ
- egui フレームワークを使用し、ネイティブ級の応答性とクロスプラットフォーム実行環境を提供
- WYSIWYG プレビュー、MermaidJS ダイアグラム描画、Git 統合、ワークスペースモード など多様な機能をサポート
- プロジェクトの すべての Rust コードと文書が AI(Anthropic の Claude) によって生成され、人間はレビューとテストを担当
- AI 支援開発の実際の適用事例として、Rust エコシステムと AI 開発の協業可能性を示すプロジェクト
Ferrite 概要
- Ferrite は、Markdown、JSON、YAML、TOML ファイルをサポートする 高速・軽量テキストエディタ
- Rust と egui で書かれており、ネイティブ級の応答性とクロスプラットフォーム実行を実現
- 主に Windows で開発・テストされており、Linux と macOS でも動作可能
- Windows、Linux(.deb、tar.gz)、macOS(Intel/ARM) 向けの事前ビルド済みバイナリを提供
AI ベースの開発
- Ferrite の すべての Rust コード、文書、設定ファイルは AI(Anthropic の Claude) が作成
- 開発者は製品の方向性設定、テスト、AI 開発の調整役を担当
- コードはレビューとテストを経て受け入れられ、AI 生成プロセスも透明に公開
- このプロジェクトは AI 支援開発の限界と可能性の探求 を目的としている
主な機能
- Markdown のリアルタイムプレビュー(WYSIWYG) と シンタックスハイライト をサポート
- 複数フォーマット対応: Markdown、JSON、YAML、TOML
- Tree Viewer により JSON/YAML/TOML 構造を階層的に探索し、インライン編集が可能
- 正規表現の検索・置換、行移動(Alt+↑/↓)、行複製(Ctrl+Shift+D) などの生産性機能を搭載
- 括弧・引用符の自動クローズ、自動保存、行幅設定、ミニマップ、コードフォールディング機能を提供
MermaidJS ダイアグラム描画
- MermaidJS を使って 11 種類のダイアグラムをネイティブに描画
- Flowchart, Sequence, Pie, State, Mindmap, Class, ER, Git Graph, Gantt, Timeline, User Journey
- Markdown プレビュー内で直接可視化できる
ワークスペースと編集環境
- Workspace Mode によりフォルダ単位で開き、ファイルツリーの探索、高速ファイル切り替え(Ctrl+P)、全文検索(Ctrl+Shift+F)をサポート
- Git 統合により、変更・追加・無視ファイルの状態を視覚的に表示
- セッション復元機能により、タブ、カーソル位置、スクロール状態を再起動時に復元
- Zen Mode により集中できる執筆環境を提供し、Split View でソースと描画結果を同時に確認可能
1件のコメント
Hacker Newsの意見
Zedでの発展を期待していたが、このプロジェクトもかなり興味深い
私は Obsidian をかなりヘビーに使っているが、基礎に集中した本当の代替が出てきてほしい
最終目標が何なのか気になる。今後も追っていくつもり
まだ Show HN に投稿する準備はできていませんが、初期フィードバックを聞きたいです
Electron やWeb技術なしで即座に起動する形で、v0.3.0では Mermaid を別 crate に分離し、egui の TextEdit の限界を超えるカスタムウィジェットを作る予定です
長期的には Rust ベースの headless editor ライブラリ に発展させるのが目標です
詳しくは ROADMAP.md を参照してください
Ferrite が主に Windows で開発・テストされていたという点が興味深い
最近の Windows ユーザーは 二級市民 のように感じることが多かったので、うれしい
ただ、「このプロジェクトは 100% AI で生成されたコードです」という文言を見て少し驚いた
それでも正直に公開した点はよい
一部のユーザーが AI 利用の事実を隠したと指摘した後になって追加されたようです
自分のアプリ Octarine を少し宣伝したい
Rust(Tauri) で書かれた WYSIWYG スタイルの Markdown ノートアプリで、すべてのデータをローカルに保存する
「vibe coded」ではない :)
最近 HN では AI 生成コンテンツが増えているが、この投稿も AI生成コードとコメント であふれているようだ
おそらく人気のある話題をうまく突いたからだと思う
スクリーンショットの文字が小さすぎて 虫眼鏡 が必要なほどだ
スクリーンショットは大きすぎず小さすぎず、内容がきちんと見えるように撮るのがよい
特に高解像度では余白が多いとかえって可読性が落ちる
高解像度で撮ったので小さい画面では読みにくくなっていました
ウィンドウサイズを小さくして余白を減らして撮り直す予定です
私は Typora には喜んでお金を払った
Markdown だけの対応だが、この分野にはまだ可能性が大きい
特に LLM が構造化テキストやダイアグラムをたくさん生成する今は、なおさらそう思う
しかもオープンソースだ
egui プロジェクトでここまで egui 特有のスタイルを感じさせないものは珍しい
egui で作業してみた経験がどんなものか気になる
即時モードなので状態管理が単純です
ただし TextEdit はコードエディタ向けではないので、マルチカーソルやコードフォールディングがありません
そのため v0.3.0 でカスタムウィジェットに置き換える予定です
デフォルトテーマがあまりにも「eguiっぽい」という点はカスタムテーマで解決しています
ネイティブ Markdown レンダリング を使っているのはうれしい
他のライブラリのように Chromium を立ち上げてスクリーンショットを撮る方式ではないのがよい
共有時には見え方が異なるかもしれない
Ferrite 内では問題なく、共有用としては v0.3.0 で SVGエクスポート 機能を追加する予定です
なぜリポジトリから AI エージェントの設定と指示を削除したのか気になる(.gitignore を参照)
ただし AI の設定ファイルはプロジェクトには不要なので除外しました
README に AI の支援を受けたことを追記する予定です
コードはレビューした上で取り込んでおり、無批判に受け入れたわけではありません
コミットは10個しかなく、一部は絵文字だらけの markdown 文書で埋まっている
Mermaid のパースとレイアウト だけでも別 crate として分離されたら有用そうだ
高速な CLI ツールとして SVG/PDF/PNG 出力ができるとよい
約7000行の Mermaid レンダラを 独立した crate として抽出し、SVG/PNG 出力と CLI 対応を追加する予定です
純粋な Rust で書かれているので WASM 互換も可能です。期待してもらえればうれしいです