Repo Notes

unlisted

by Takahiro

Import GitHub starred repos and your own repositories as structured notes.

2 starsUpdated 13d agoMIT
View on GitHub

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

  1. Download the latest release from Releases
  2. Extract main.js, manifest.json, and styles.css into your vault:
    <vault>/.obsidian/plugins/repo-notes/
    
  3. In Obsidian → Settings → Community plugins → enable Repo Notes

BRAT (Beta Reviewers Auto-update Tool)

Add this repository URL via the BRAT plugin.

Setup

  1. Go to Settings → Repo Notes
  2. Create a profile (e.g. "Personal", "Work")
  3. Paste your GitHub Personal Access Token

Required token scopes

FeatureClassic PATFine-grained PAT
Starred repospublic_repoStarring (read)
Private reposrepoRepositories (read)
README / commitspublic_repoContents (read)
Organization reposread:orgOrganization → 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).

SettingValue
ProviderAnthropic
API Keysk-ant-api03-...
Modelclaude-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
SettingValue
ProviderOpenAI-compatible
Base URLhttp://localhost:11434/v1 (local) or http://<host>:11434/v1 (remote)
Modelllama3.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.

SettingValue
ProviderOpenAI-compatible
Base URLhttp://localhost:1234/v1 (local) or http://<host>:1234/v1 (remote)
Modelthe model name shown in LM Studio
API Key(leave blank for local)

vLLM (remote)

vLLM exposes an OpenAI-compatible API endpoint.

SettingValue
ProviderOpenAI-compatible
Base URLhttp://<host>:8000/v1
Modelthe model name served by vLLM
API Keydepends 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

CommandDescription
Sync all reposOpen the sync modal and sync all profiles
Sync this noteRe-sync the currently open repo note (no AI)
Summarize this noteRun AI summarization on the currently open repo note
Check API rate limitShow remaining GitHub API calls as a notice
Open settingsOpen 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

MIT


Repo Notes — Obsidian プラグイン

🇬🇧 English version above

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が日英自動切り替え

インストール

手動インストール

  1. Releases から最新版をダウンロード
  2. main.jsmanifest.jsonstyles.css をVaultの以下に配置:
    <vault>/.obsidian/plugins/repo-notes/
    
  3. Obsidian → 設定 → コミュニティプラグイン → Repo Notes を有効化

BRAT(Beta Reviewers Auto-update Tool)

BRATプラグイン にこのリポジトリのURLを追加することでインストール可能です。

セットアップ

  1. 設定 → Repo Notes を開く
  2. プロファイルを作成(例:「Personal」「Work」)
  3. GitHub Personal Access Tokenを貼り付ける

必要なトークンスコープ

機能Classic PATFine-grained PAT
Star済みリポジトリpublic_repoStarring(read)
プライベートリポジトリrepoRepositories(read)
README / コミット数public_repoContents(read)
Organizationリポジトリread:orgOrganization → 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 URLhttp://localhost:11434/v1(ローカル)/ http://<ホスト>:11434/v1(リモート)
モデルllama3.2mistralgemma3 など
APIキー(ローカルの場合は空白でOK)

LM Studio(ローカル / リモート)

LM Studio を使ってローカルでモデルを実行します。事前にLM Studioのローカルサーバーを起動してください。

設定
プロバイダーOpenAI互換
Base URLhttp://localhost:1234/v1(ローカル)/ http://<ホスト>:1234/v1(リモート)
モデルLM Studioで表示されているモデル名
APIキー(ローカルの場合は空白でOK)

vLLM(リモート)

vLLM はOpenAI互換のAPIエンドポイントを提供します。

設定
プロバイダーOpenAI互換
Base URLhttp://<ホスト>:8000/v1
モデルvLLMで配信しているモデル名
APIキーvLLMの設定に依存

その他のOpenAI互換API

OpenAI互換 プロバイダーは /v1/chat/completions エンドポイントを実装しているサーバーであれば何でも対応します。OpenAI本家・Together AI・Groq・その他セルフホスト環境でも使用可能です。

要約言語

生成される要約の言語を 英語 または 日本語 から選択できます。元のREADMEの言語に関わらず指定した言語で出力されます。

コマンドパレット

コマンド説明
Sync all repossyncモーダルを開いて全プロファイルを同期
Sync this note開いているrepoノートを1件だけ再sync(AI呼び出しなし)
Summarize this note開いているrepoノートのAI要約を実行
Check API rate limitGitHubのAPI残り使用量をNoticeで表示
Open settingsRepo 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

ライセンス

MIT

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.