bulletty:378⭐のターミナルRSSリーダー、記事をMarkdownで自動保存
bulletty は、ターミナル愛好家のために設計されたRSSリーダーです。コマンドラインを離れることなく購読源を閲覧できるだけでなく、すべての記事を自動的にMarkdown形式でローカルに保存し、後から検索や読み返しが容易になります。
プロジェクト概要
| 属性 | 内容 |
|---|---|
| GitHub | crocidb/bulletty |
| Stars | 378 |
| 言語 | 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形式に変換され、ソースごとに分類してローカルディレクトリに保存されます。cat、less、または任意の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 はポッドキャストのソースもサポートしています。音声ファイルのリンクを抽出し、お気に入りのプレーヤーで購読して聴くことができます。
全文検索
すべてのコンテンツがローカルにプレーンテキストとして保存されているため、アプリ内の検索機能に頼ることなく、grep、ripgrep、fd などのツールを使って全文検索が可能です。
# 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 | 特徴 |
|---|---|---|
| FreshRSS | 8.7k | 機能豊富なWebベースRSSリーダー、セルフホスト対応 |
| Miniflux | 6.9k | ミニマリストデザイン、Go言語製 |
| Newsboat | 3.1k | 老舗のターミナルRSSリーダー、機能豊富 |
| bulletty | 378 | Markdownローカル保存、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 |