Repo Notes
pendingby Takahiro
Import GitHub starred repos and your own repositories as structured notes.
Repo Notes — Obsidian Plugin
🇯🇵 日本語版はこちら
Import your GitHub starred repositories, own repositories, and organization repositories as structured Obsidian notes, with rich frontmatter properties and optional AI-powered README summaries.
Features
- ⭐ GitHub Stars — sync all starred repos as notes
- 📁 My Repos — sync your own public/private repos
- 🏢 Organizations — sync repos from specified GitHub organizations
- 👤 Multi-profile — manage multiple GitHub accounts as separate profiles
- 🗂 Rich frontmatter — URL, description, language, stars, forks, commits, last updated, topics as tags
- 👁 Hide/show properties — keep data fetched but hide individual frontmatter fields from notes
- 🤖 AI README summary — summarize READMEs via Anthropic Claude, Ollama, LM Studio, vLLM, or any OpenAI-compatible API
- 📄 Raw README — embed full README content in notes
- 🔄 Differential sync — skips notes that haven't changed since last sync
- 📝 Per-note commands — sync or AI-summarize a single note from the command palette
- 📊 Rate limit display — shows GitHub API usage in the sync modal and command palette
- 🌐 i18n — UI switches automatically between English and Japanese based on Obsidian's locale
Installation
Manual
- Download the latest release from Releases
- Extract
main.js,manifest.json, andstyles.cssinto your vault:<vault>/.obsidian/plugins/repo-notes/ - In Obsidian → Settings → Community plugins → enable Repo Notes
BRAT (Beta Reviewers Auto-update Tool)
Add this repository URL via the BRAT plugin.
Setup
- Go to Settings → Repo Notes
- Create a profile (e.g. "Personal", "Work")
- Paste your GitHub Personal Access Token
Required token scopes
| Feature | Classic PAT | Fine-grained PAT |
|---|---|---|
| Starred repos | public_repo | Starring (read) |
| Private repos | repo | Repositories (read) |
| README / commits | public_repo | Contents (read) |
| Organization repos | read:org | Organization → Members (read) |
Generate tokens at github.com/settings/tokens
Note structure
Each repository becomes a single Markdown file with frontmatter properties:
---
source: starred # or "my-repo" / "org-repo"
profile: "Personal"
repo: "owner/repo-name"
url: "https://github.com/owner/repo-name"
website: "https://example.com"
description: "..."
language: TypeScript
stars: 8420
forks: 1203
commits: 3241
last_updated: 2025-03-18
starred_at: 2024-11-15
synced_at: 2025-03-20
tags: ["obsidian", "markdown"]
---
Fully queryable via Dataview:
TABLE stars, language, last_updated
FROM "GitHub Stars"
WHERE profile = "Personal"
SORT stars DESC
AI README Summary
Enable Include AI README summary in settings and choose a provider.
Providers
Anthropic (cloud)
The default provider. Requires an Anthropic API key. Summaries are generated by Claude Haiku — fast and cost-effective (a few cents per 100 repos).
| Setting | Value |
|---|---|
| Provider | Anthropic |
| API Key | sk-ant-api03-... |
| Model | claude-haiku-4-5-20251001 (default) |
Ollama (local / remote)
Run models locally with Ollama. No API key required for local use.
# Install a model first
ollama pull llama3.2
| Setting | Value |
|---|---|
| Provider | OpenAI-compatible |
| Base URL | http://localhost:11434/v1 (local) or http://<host>:11434/v1 (remote) |
| Model | llama3.2, mistral, gemma3, etc. |
| API Key | (leave blank for local) |
LM Studio (local / remote)
Run models locally with LM Studio. Enable the local server in LM Studio first.
| Setting | Value |
|---|---|
| Provider | OpenAI-compatible |
| Base URL | http://localhost:1234/v1 (local) or http://<host>:1234/v1 (remote) |
| Model | the model name shown in LM Studio |
| API Key | (leave blank for local) |
vLLM (remote)
vLLM exposes an OpenAI-compatible API endpoint.
| Setting | Value |
|---|---|
| Provider | OpenAI-compatible |
| Base URL | http://<host>:8000/v1 |
| Model | the model name served by vLLM |
| API Key | depends on your vLLM setup |
Any OpenAI-compatible API
The OpenAI-compatible provider works with any server that implements the /v1/chat/completions endpoint — including OpenAI itself, Together AI, Groq, and self-hosted solutions.
Summary language
Select English or Japanese for the generated summaries, regardless of the README's original language.
Command palette
| Command | Description |
|---|---|
Sync all repos | Open the sync modal and sync all profiles |
Sync this note | Re-sync the currently open repo note (no AI) |
Summarize this note | Run AI summarization on the currently open repo note |
Check API rate limit | Show remaining GitHub API calls as a notice |
Open settings | Open the Repo Notes settings tab |
Sync vs. Summarize: "Sync this note" preserves the existing AI summary without calling the AI again. "Summarize this note" fetches a fresh README and runs AI, without re-syncing other metadata.
Development
git clone https://github.com/<you>/obsidian-repo-notes
cd obsidian-repo-notes
docker compose run --rm build # type check + production build
docker compose run --rm test # run unit tests
docker compose run --rm lint # ESLint
docker compose run --rm format-check # Prettier
Symlink the repo into your vault's plugin folder for live development:
ln -s $(pwd) /path/to/vault/.obsidian/plugins/repo-notes
License
Repo Notes — Obsidian プラグイン
GitHubのStarしたリポジトリ・自分のリポジトリ・Organizationのリポジトリを、YAMLフロントマター付きの構造化されたObsidianノートとしてインポートするプラグインです。AIによるREADME要約にも対応しています。
機能
- ⭐ GitHub Stars — Starしたリポジトリを一括ノート化
- 📁 自分のRepo — public/privateリポジトリを同期
- 🏢 Organization — 指定したOrganizationのリポジトリを同期
- 👤 マルチプロファイル — 複数のGitHubアカウントをプロファイルで管理
- 🗂 リッチなフロントマター — URL、説明文、言語、Star数、Fork数、コミット数、最終更新日、トピックをタグとして保存
- 👁 プロパティの表示/非表示 — データは取得しつつ、フロントマターの各項目を非表示にできる
- 🤖 AI README要約 — Anthropic Claude・Ollama・LM Studio・vLLM・OpenAI互換APIでREADMEを自動要約
- 📄 README全文埋め込み — READMEの全文をノートに含める
- 🔄 差分同期 — 前回sync以降に変更がないノートはスキップ
- 📝 ノート単体コマンド — コマンドパレットから1件だけsyncまたはAI要約できる
- 📊 レート制限表示 — syncモーダルとコマンドパレットでGitHub APIの残り使用量を確認
- 🌐 多言語対応 — ObsidianのロケールにあわせてUIが日英自動切り替え
インストール
手動インストール
- Releases から最新版をダウンロード
main.js・manifest.json・styles.cssをVaultの以下に配置:<vault>/.obsidian/plugins/repo-notes/- Obsidian → 設定 → コミュニティプラグイン → Repo Notes を有効化
BRAT(Beta Reviewers Auto-update Tool)
BRATプラグイン にこのリポジトリのURLを追加することでインストール可能です。
セットアップ
- 設定 → Repo Notes を開く
- プロファイルを作成(例:「Personal」「Work」)
- GitHub Personal Access Tokenを貼り付ける
必要なトークンスコープ
| 機能 | Classic PAT | Fine-grained PAT |
|---|---|---|
| Star済みリポジトリ | public_repo | Starring(read) |
| プライベートリポジトリ | repo | Repositories(read) |
| README / コミット数 | public_repo | Contents(read) |
| Organizationリポジトリ | read:org | Organization → Members(read) |
トークンの発行: github.com/settings/tokens
ノートの構造
リポジトリ1件につき1つのMarkdownファイルが生成されます:
---
source: starred # または "my-repo" / "org-repo"
profile: "Personal"
repo: "owner/repo-name"
url: "https://github.com/owner/repo-name"
website: "https://example.com"
description: "..."
language: TypeScript
stars: 8420
forks: 1203
commits: 3241
last_updated: 2025-03-18
starred_at: 2024-11-15
synced_at: 2025-03-20
tags: ["obsidian", "markdown"]
---
Dataview を使ってノートを検索・集計できます:
TABLE stars, language, last_updated
FROM "GitHub Stars"
WHERE profile = "Personal"
SORT stars DESC
AI README要約
設定で README要約(AI)を含める をオンにして、使用するプロバイダーを選択してください。
プロバイダー
Anthropic(クラウド)
デフォルトのプロバイダー。Anthropic APIキー が必要です。 Claude Haikuで要約を生成します。高速かつ低コスト(100リポジトリあたり数セント程度)。
| 設定 | 値 |
|---|---|
| プロバイダー | Anthropic |
| APIキー | sk-ant-api03-... |
| モデル | claude-haiku-4-5-20251001(デフォルト) |
Ollama(ローカル / リモート)
Ollama を使ってローカルでモデルを実行します。ローカル使用時はAPIキー不要。
# 事前にモデルをダウンロード
ollama pull llama3.2
| 設定 | 値 |
|---|---|
| プロバイダー | OpenAI互換 |
| Base URL | http://localhost:11434/v1(ローカル)/ http://<ホスト>:11434/v1(リモート) |
| モデル | llama3.2、mistral、gemma3 など |
| APIキー | (ローカルの場合は空白でOK) |
LM Studio(ローカル / リモート)
LM Studio を使ってローカルでモデルを実行します。事前にLM Studioのローカルサーバーを起動してください。
| 設定 | 値 |
|---|---|
| プロバイダー | OpenAI互換 |
| Base URL | http://localhost:1234/v1(ローカル)/ http://<ホスト>:1234/v1(リモート) |
| モデル | LM Studioで表示されているモデル名 |
| APIキー | (ローカルの場合は空白でOK) |
vLLM(リモート)
vLLM はOpenAI互換のAPIエンドポイントを提供します。
| 設定 | 値 |
|---|---|
| プロバイダー | OpenAI互換 |
| Base URL | http://<ホスト>:8000/v1 |
| モデル | vLLMで配信しているモデル名 |
| APIキー | vLLMの設定に依存 |
その他のOpenAI互換API
OpenAI互換 プロバイダーは /v1/chat/completions エンドポイントを実装しているサーバーであれば何でも対応します。OpenAI本家・Together AI・Groq・その他セルフホスト環境でも使用可能です。
要約言語
生成される要約の言語を 英語 または 日本語 から選択できます。元のREADMEの言語に関わらず指定した言語で出力されます。
コマンドパレット
| コマンド | 説明 |
|---|---|
Sync all repos | syncモーダルを開いて全プロファイルを同期 |
Sync this note | 開いているrepoノートを1件だけ再sync(AI呼び出しなし) |
Summarize this note | 開いているrepoノートのAI要約を実行 |
Check API rate limit | GitHubのAPI残り使用量をNoticeで表示 |
Open settings | Repo Notesの設定タブを開く |
Sync と Summarize の違い: "Sync this note" は既存のAI要約を保持したままメタデータを更新します(AI呼び出しなし)。"Summarize this note" はREADMEを取得してAIで要約を生成します(メタデータの再同期なし)。
開発
git clone https://github.com/<you>/obsidian-repo-notes
cd obsidian-repo-notes
docker compose run --rm build # 型チェック + 本番ビルド
docker compose run --rm test # ユニットテスト
docker compose run --rm lint # ESLint
docker compose run --rm format-check # Prettier
ライブ開発用にVaultのプラグインフォルダへシンボリックリンクを作成:
ln -s $(pwd) /path/to/vault/.obsidian/plugins/repo-notes
ライセンス
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.