bulletty は、ターミナル愛好家のために設計されたRSSリーダーです。コマンドラインを離れることなく購読源を閲覧できるだけでなく、すべての記事を自動的にMarkdown形式でローカルに保存し、後から検索や読み返しが容易になります。

プロジェクト概要

属性内容
GitHubcrocidb/bulletty
Stars378
言語Rust
特徴ターミナルUI、Markdown保存、ローカル優先
最終更新2日前

解決する課題

従来のRSSリーダーは、ウェブアプリケーションやデスクトップGUIアプリケーションが主流ですが、いくつかの共通する問題があります:

  • オンライン必須:一度接続が切れると、以前キャッシュした記事の表示が崩れたり、アクセスできなくなったりする
  • データのロックイン:お気に入りの記事はサービス提供者的サーバーに保存され、エクスポートが困難
  • 一貫性のない読書体験:ウェブ版のレイアウト、フォント、ダークモードなどの設定がしばしば不十分

bulletty の考え方はシンプルです。RSSコンテンツ自体が構造化されたテキストであるなら、なぜMarkdownとして保存しないのか?そうすれば、ネットワークがなくても、どのテキストエディタやMarkdownリーダーでもこれらのファイルを開くことができます。

主な機能

ターミナルネイティブなUI

ratatui をベースに構築されたTUIインターフェースで、操作は完全にキーボードで行われます。すでにターミナルでの作業に慣れている人にとって、この操作方法に学習コストはありません。

┌─────────────────────────────────────────────┐
│ bulletty - RSS Reader                        │
├──────────────┬──────────────────────────────┤
│ Hacker News  │ Show HN: I built a ...       │
│ GitHub Blog  │ GitHub Copilot ...          │
│ Rust Blog    │ Announcing Rust 1...        │
│              │                              │
│              │                              │
└──────────────┴──────────────────────────────┘

Markdownローカル保存

これが bulletty の最も特徴的な機能です。取得した各記事は自動的にMarkdown形式に変換され、ソースごとに分類してローカルディレクトリに保存されます。catless、または任意のMarkdownプレビューツールを使って、これらのファイルを直接閲覧できます。

# 記事の保存構造
~/.local/share/bulletty/
├── hacker-news/
   ├── 2026-04-18-show-hn-i-built-a.md
   └── 2026-04-17-announcing-rust-1.md
├── github-blog/
   └── 2026-04-16-github-copilot.md

ポッドキャスト対応

テキストコンテンツだけでなく、bulletty はポッドキャストのソースもサポートしています。音声ファイルのリンクを抽出し、お気に入りのプレーヤーで購読して聴くことができます。

全文検索

すべてのコンテンツがローカルにプレーンテキストとして保存されているため、アプリ内の検索機能に頼ることなく、grepripgrepfd などのツールを使って全文検索が可能です。

# Rustに関するすべての記事を検索
rg "Rust" ~/.local/share/bulletty/

クイックスタート

インストール

# ソースからビルド
git clone https://github.com/crocidb/bulletty.git
cd bulletty
cargo build --release

# バイナリは target/release/bulletty にあります
sudo cp target/release/bulletty /usr/local/bin/

購読源の追加

# bullettyを起動
bulletty

# 'a' を押して新しいRSSソースを追加
# feed URLを入力(例:https://news.ycombinator.com/rss)

よく使うショートカット

キー機能
j/k または ↓/↑上下移動
Enter記事を読む
a購読源を追加
d購読源を削除
rすべてのソースを更新
q終了

比較分析

ツールStars特徴
FreshRSS8.7k機能豊富なWebベースRSSリーダー、セルフホスト対応
Miniflux6.9kミニマリストデザイン、Go言語製
Newsboat3.1k老舗のターミナルRSSリーダー、機能豊富
bulletty378Markdownローカル保存、Rust製、モダンTUI

すでに Newsboat のようなターミナルRSSツールを使っている場合、bulletty に移行する主な動機は、自動化されたMarkdown保存機能かもしれません。この設計により、RSSコンテンツはアプリの内部データベースに閉じ込められるのではなく、ローカルの知識ベースの一部として存在できます。

適したシーン

bulletty は特に以下のようなユーザーに適しています:

  • ターミナルヘビーユーザー:日々のワークフローがターミナルを中心に展開しており、RSS読みのためにブラウザやGUIアプリを別途開きたくない
  • ローカルファースト主義者:すべてのデータをローカルハードドライブに保存し、クラウドサービスに依存したくない
  • 知識管理愛好家:RSS読みをObsidian、Logseqなどのノートツールと組み合わせたい、Markdown形式によりこの統合が簡単になる
  • 開発者/運用担当者:サーバー環境には通常GUIがなく、ターミナルRSSは技術情報を得る唯一の選択肢

制限と注意事項

  • 同期機能なし:複数のデバイス間で読書進捗を同期させたい場合、bulletty は現在そのニーズを満たせません
  • 読書統計なし:読書習慣を追跡する機能はありません
  • ターミナル環境必須:Windowsユーザーは、Windows TerminalやWSLのインストールが必要です

まとめ

bulletty は万能なRSSリーダーではありません。ターミナルユーザーに対して、シンプルで信頼性が高く、データをコントロールできる読書体験を提供することを明確に目指しています。記事を自動的にMarkdownとして保存する設計は、類似ツールの中で際立っています。ブラウザタブでのRSS読みにうんざりしている場合、またはより「Unix的」な情報取得ツールを求めている場合、bulletty は試す価値があります。

属性内容
リポジトリhttps://github.com/crocidb/bulletty
ライセンスMIT
言語Rust
メンテナー@crocidb