全エンジニアが知っておくべきGitHubリポジトリ42選【2024最新版】


この記事は[Nuco Advent Calendar 2024](https://qiita.com/advent-calendar/2024/nuco)の25日目の記事です。

# はじめに

今どきのエンジニアならばぜひ知っておくべきGitHubリポジトリを一挙紹介します！

- 開発業務に役立つツール
- 日常の学習に使える教材集
- キャッチアップしておきたいトレンド技術
- 今のうちにContributorになっておきたいOSS

などの観点で、有名どころから最近伸び始めているものまで、全42個を選びぬきました！

知っているだけで、普段の業務効率や情報収集の質がグッと上がるものばかりですので、ぜひ最後まで読んでいただけると嬉しいです。


※各リポジトリのFork数・Star数は、2024年12月現在のものです。

:::note
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています！興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=92b0aa084f528d5dd25e)まで。
:::

# 開発ツール

### Webアプリ開発

#### FastAPI

https://github.com/fastapi/fastapi


:::note info

**非同期処理やWebSocketにも強いWebアプリ開発フレームワーク**
:::

PythonのWebアプリケーションフレームワークといえばFlaskなどが長く使われていますが、ここ数年で使用率が伸びているのがFastAPIです。

- 型ヒントによる堅牢設計
- APIドキュメントの自動生成
- 非同期処理やWebSocket対応

などが強みです。

|Fork|Star|
|:-:|:-:|
|6.8k|78.8k|


#### Gradio

https://github.com/gradio-app/gradio


:::note info
**LLM系デモアプリ開発のお供！PythonだけでUIまで完結できる便利ライブラリ**
:::

[HuggingFace](https://huggingface.co/)を見ると日々様々なLLMやそれを使ったアプリのデモが公開されていますが、その流れに一役買っているのがGradioです。
チャットや画像の入力、モデルからの回答を画面表示するなど、最低限のWebUIをPythonだけで実装できるライブラリで、そのままHuggingFaceで簡単にデプロイも可能です。

|Fork|Star|
|:-:|:-:|
|2.6k|34.7k|

#### Taipy

https://github.com/Avaiga/taipy


:::note info
**データ加工と可視化に特化した高速Webアプリ開発ツール！**
:::

これもクイックにWebアプリを開発できるツールでPythonとMarkdownのみでデータ加工や可視化機能を有するUIまで構築できます。特にデータサイエンスや分析基盤構築などの場面で便利なライブラリです。

|Fork|Star|
|:-:|:-:|
|1.9k|17.4k|

#### Deno

https://github.com/denoland/deno


:::note info
**Node.jsの次に来る!? 次世代のJS/TSランタイム**
:::

JavaScriptのサーバーサイドランタイムとして市民権を得ているNodeですが、そのNodeの欠点を解消したランタイムとして、昨今注目を集めてきているのがDenoです。
Nodeに対して、

- デフォルトでTypeScriptをサポート
- 潜在的なセキュリティリスクを解決

といった強みがあり、徐々にシェアを伸ばしてきています。

|Fork|Star|
|:-:|:-:|
|5.4k|101k|

#### Svelte

https://github.com/sveltejs/svelte

:::note info
**軽量で高速な次世代フロントエンドライブラリ！**
:::

現在のWebアプリ開発JavaScriptライブラリといえば、おそらくReactと答える人が多いでしょうが、新興のSvelteもますます注目を集めています。

- ReactやVueのように仮想DOMは使わず、コードをすべてJavaScriptに事前コンパイルすることで高速な挙動を実現
- JSXなどの特殊な構文が無く、学習しやすい

といった長所が挙げられます。

|Fork|Star|
|:-:|:-:|
|4.3k|80.6k|

#### json-server

https://github.com/typicode/json-server

:::note info
**フロントエンド開発のお供！ REST APIを簡単構築**
:::

バックエンドのAPIがまだ出揃っていない段階では、モックサーバーを用意して画面開発を行うことになりますが、json-serverはその準備を爆速にしてくれるツールです。
JSONファイルを書くだけでエンドポイントを用意してくれるので、フロントエンド開発


|Fork|Star|
|:-:|:-:|
|7.1k|70.3k|

#### Formbricks

https://github.com/formbricks/formbricks

:::note info
**ユーザーアンケートをお手軽収集できる便利OSS！**
:::

Webサイトに簡単にユーザーアンケートフォームを導入し、結果を収集できるプラットフォームを構築できます。
カスタマイズ可能なので、ユーザー入力フォームとして様々な応用ができるのも魅力の一つです。

|Fork|Star|
|:-:|:-:|
|1.7k|9.4k|

#### shadcn/ui

https://github.com/shadcn-ui/ui

:::note info
**カスタマイズ性抜群のUIコンポーネント集**
:::

TailwindCSSで書かれたReactUIコンポーネントのコレクションで、

- コンポーネント単位のインストール
- 高いカスタマイズ性

が特徴のライブラリです。

Reactのみならず、上述のSvelteで使える[shadcn-svelte](https://github.com/huntabyte/shadcn-svelte)なども開発が進んでいます。

|Fork|Star|
|:-:|:-:|
|4.9k|77.0k|

#### zod

https://github.com/colinhacks/zod

:::note info
**型定義に基づいた安全なバリデーションを実現**
:::

Webアプリの入力フォームバリデーションの実装を簡単かつ堅牢に実装してくれるライブラリです。
文字列や数値などの入力値の方を定義し、それをパースすることで型安全性を担保した入力値チェックを可能にしています。

|Fork|Star|
|:-:|:-:|
|1.2k|34.6k|

### Git

#### gitignore

https://github.com/github/gitignore

:::note info
**プロジェクト作成時に必携の.gitignore集**
:::

`.gitignore`に何を書けば良いか、迷ったら真っ先に見るべきなのがこのリポジトリです。各言語ごとの「あるある」なignore対象がまとめられているので、「とりあえずコピペして`.gitignore`とする」という感じでプロジェクトをスタートさせたことのある人もいるのではないでしょうか？
歴史あるリポジトリですが、最近でも言語や新興ライブラリに対応できるようPRがマージされています。

|Fork|Star|
|:-:|:-:|
|83.1k|163.0k|

### シェル

#### Oh My ZSH!

https://github.com/ohmyzsh/ohmyzsh

:::note info
**ターミナルのテーマと機能を自分好みにカスタマイズ**
:::

とにかく様々な機能を提供してくれるフレームワークで、zshが飛躍的に使いやすくなります。

- テーマ変更
- カスタム関数
- [各種プラグイン](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins-Overview)

等々、とにかくできることが多いので、一度触ってみることをおすすめします。

|Fork|Star|
|:-:|:-:|
|26.0k|175.0k|


### 認証

#### Hanko

https://github.com/teamhanko/hanko

:::note info
**パスワード無しのログイン機能を簡単提供**
:::

WebAuthnなどの最新の認証技術を使用して、Webサービスにパスワード不要の認証機能を追加することのできるツールです。
パスキーでいろんなサービスが利用できるようになってきている昨今にピッタリのOSSと言えます。

|Fork|Star|
|:-:|:-:|
|938|7.4k|

#### Unkey

https://github.com/unkeyed/unkey

:::note info
**ほんの数行でAPIに認証を追加できるお手軽ツール**
:::

開発しているWebAPIに、簡単にAPIキー認証やレートリミットなどを加えられるプラットフォームです。
PythonやNode.jsなど、様々な言語とフレームワークへの対応が進められています。

|Fork|Star|
|:-:|:-:|
|522|4.3k|

### ベクトルDB

#### Qdrant

https://github.com/qdrant/qdrant

:::note info
**セマンティック検索もできるRust製高速ベクトルDB**
:::

昨今需要が高まっているローカルベクトルDBの中でも、特に注目を集めているのがQdrantです。
Rust製で高速かつ堅牢で、ベクトル近傍探索だけでなく、意味検索も可能になっています。

|Fork|Star|
|:-:|:-:|
|1.4k|21.1k|

### ヘッドレスCMS

#### Strapi

https://github.com/strapi/strapi

:::note info
**無料で簡単、かつカスタマイズ性の高いCMS機能を導入**
:::

CMS機能のあるWebサービスを作りたいなら目を通しておきたいリポジトリです。
WordPressなどのいわゆる全部のせのCMSではなく、APIでCMS機能を提供してくれるので、自分のサービスに合わせた利用がしやすいツールになっています。

|Fork|Star|
|:-:|:-:|
|8.2k|64.3k|

### インフラ管理

#### Cyclops

https://github.com/cyclops-ui/cyclops

:::note info
**Kubenetesをわかりやすく管理できるUIを開発**
:::

CyclopsはKubenetesを管理するWebUIを提供してくれるツールです。
大規模サービスをKubenetesで管理するプラクティスは広く起用されているものの、肝心のKubenetesが難しい、という声はよく聞きます。その運用を助けてくれるこういったツールは、これからますます需要を高めていくと考えられます。


|Fork|Star|
|:-:|:-:|
|772|2.6k|


### 監視


#### Uptime Kuma

https://github.com/louislam/uptime-kuma

:::note info
**Webサービスのヘルスチェックを爆速で導入**
:::

サービスの監視体制をクイックに構築できるセルフホスト型監視プラットフォームです。証明書チェックやHttps疎通確認状況を、簡単な設定で確認できる監視体制を構築できます。
アラート機能もあるため、Slackなどに通知を送るといった設定も容易に可能です。

|Fork|Star|
|:-:|:-:|
|5.5k|61.6k|


### アクセス解析

#### highlight.io

https://github.com/highlight/highlight

:::note info
**画面上のユーザーアクションを収集・分析できるプラットフォーム**
:::

単なるエラーログやAPI呼び出しの履歴だけはなく、画面のスクロールやコンポーネントのクリックなど、様々なユーザーアクションを収集、解析できるプラットフォームです。行動こそがユーザーからの無言のフィードバック、ということで、サービスの改善に不可欠なユーザーフィードバックを集める優良ツールと言えます。


|Fork|Star|
|:-:|:-:|
|379|7.8k|

### Web Assembly

#### Awesome Wasm

https://github.com/mbasso/awesome-wasm

:::note info
**Web Assemblyの情報を大量収集したい人におすすめのリポジトリ**
:::

WebAssemblyに関する様々なドキュメントやWebサイトを集約したリポジトリです。
体系的にWasmを学びたい、実際に開発体験をしてみたいという人は、このリポジトリをリファレンスとしてWasmに取り組んでみるのがおすすめです。

|Fork|Star|
|:-:|:-:|
|506|8.9k|

#### wasm-bindgen

https://github.com/rustwasm/wasm-bindgen

:::note info
**Wasm開発の定番ツールでWeb Assemblyを理解する**
:::

wasm-bindgenは、Rustで書かれたWebAssemblyモジュールとJavaScriptとの間のインターフェースを提供するライブラリです。
RustとJavaScript間でデータを簡単にやり取りできるようになっており、Wasmを利用した高性能なWebアプリケーションの開発をサポートしてくれるおすすめのツールになっています。

|Fork|Star|
|:-:|:-:|
|1.1k|7.9k|

### 動画・音声編集

#### FFmpeg

https://github.com/FFmpeg/FFmpeg

:::note info
**動画・音声操作の決定版！エンジニアでなくとも触れておきたい万能ツール**
:::

マルチメディア処理において広く使われるソフトウェアです。

- 動画・音声の切り出しや結合
- フォーマット変換
- 複数動画の合成

など、一通りのことが可能です。
最近はAIによる動画生成などの動きも活発ですが、それを支えているのもこのFFmpegだったりします。

|Fork|Star|
|:-:|:-:|
|12.3k|46.8k|

# AI関連

### 画像生成

#### Stable Diffusion WebUI

https://github.com/AUTOMATIC1111/stable-diffusion-webui

:::note info
**画像生成AIを始めるならばならまずは触れるべき鉄板ツール**
:::

誰でも簡単にAI画像生成を始められるツールです。
StableDiffusion自体はテキストから画像生成が可能な深層学習モデルで、このリポジトリはそれをWebブラウザで操作できるUIを提供してくれます。（UIは上述のGradioで作られています。）
ダウンロードしたモデルを使って簡単に画像生成を始められるため、とりあえず触ってみる

|Fork|Star|
|:-:|:-:|
|27.2k|145.0k|

#### FLUX

https://github.com/black-forest-labs/flux

:::note info
**今年話題になった最新画像生成モデルによる画像生成体験**
:::

Flux.1はStable Diffusionから離れたチームで開発がスタートした画像生成AIモデルで、一部ではStable Diffusionを凌ぐとも言われる精度を叩き出しています。
このリポジトリを使うとローカルにFlux.1の利用環境を準備できるので、ぜひハイクオリティな画像生成にチャレンジしてみてください。

|Fork|Star|
|:-:|:-:|
|1.3k|18.5k|

### 言語モデル

#### Llama

https://github.com/meta-llama/llama-models

:::note info
**Meta発のオープンなLLMモデルをクイックに使えるリポジトリ**
:::

LlamaはMetaが開発している大規模言語モデルで、2024年現在、version3系までアップデートが進んでいます。
完全ローカル使用ができるため、このリポジトリからクイックに環境構築することで、完全ローカルなLLMアプリの開発なども可能にすることができます。

|Fork|Star|
|:-:|:-:|
|902|5.7k|

#### Ollama

https://github.com/ollama/ollama

:::note info
**Llamaを始めとしたLLMモデルをダウンロードから推論、カスタマイズまで可能に**
:::

Ollamaは、ローカル環境で大規模言語モデルを実行するためのオープンソースフレームワークです。上述のLlamaを含む様々なモデルを簡単にダウンロードして実行できます。API提供しているので、アプリケーションに容易に組み込むことが可能です。

|Fork|Star|
|:-:|:-:|
|8.3k|104k|

### 音声認識

#### Whisper

https://github.com/openai/whisper

:::note info
**OSSで音声認識をやりたいならばまずはこれ**

:::

WhisperはOpenAIが開発した音声認識モデルで、80を超える言語に対応した音声認識と文字起こしが可能です。リポジトリには学習済みモデルやデモコード、詳細なドキュメントが含まれており、誰でも自由に利用・改変できます。

|Fork|Star|
|:-:|:-:|
|8.7k|73.2k|

### LLMアプリ開発

#### LangChain

https://github.com/langchain-ai/langchain

:::note info
**LLMアプリ開発の必携フレームワーク**

:::

LangChainはLLMアプリケーションを構築するためのフレームワークで、非常に盛んなアップデートがなされているリポジトリの一つです。文書検索、チェーンの構築、エージェントの作成など、LLMを活用したアプリケーション開発に必要な豊富なコンポーネントを提供しています。

|Fork|Star|
|:-:|:-:|
|15.7k|96.5k|

#### Open Interpreter

https://github.com/OpenInterpreter/open-interpreter

:::note info
**自然言語でコードが書ける！？超強力AIアシスタント**
:::

Open Interperterは、自然言語で指示を受けてコードを実行できるCLIツールで、LLMを活用してプログラミング、データ分析、システム操作などを行えます。Code Interpreterのオープンソース版として知られており、ローカル環境で使用できるのがやはり大きな魅力です。

|Fork|Star|
|:-:|:-:|
|4.9k|57.5k|

#### langflow

https://github.com/langflow-ai/langflow

:::note info
**ノーコードで複雑なLLMワークフローを実現！**

:::

LangChainのコンポーネントをドラッグ＆ドロップで視覚的に組み合わせることができるUIツールです。フローベースの開発環境を提供し、LLMアプリケーションを直感的に構築できます。コードを書かずにLangChainのチェーンやエージェントを作成できることが特徴です。

|Fork|Star|
|:-:|:-:|
|4,5k|40.1k|

#### Dify

https://github.com/langgenius/dify

:::note info
**複雑なLLMアプリの構成管理をUIで一元化するオーケストレーション**
:::

LLMアプリケーションの開発・デプロイ・運用を一元管理できるオープンソースのプラットフォームです。プロンプトエンジニアリング、APIの管理、アプリケーションの監視などの機能を備えており、WebUIを通じてLLMアプリケーションのライフサイクル全体を管理できます。

|Fork|Star|
|:-:|:-:|
|8.2k|55.6k|

#### Langfuse

https://github.com/langfuse/langfuse

:::note info
**LLMアプリのパフォーマンス測定はこれ一つで完結！**
:::

LLMアプリケーションのモニタリングとオブザーバビリティを提供するオープンソースプラットフォームです。プロンプトの追跡、パフォーマンス計測、コスト分析、フィードバック管理などの機能を備え、本番環境でのLLMアプリケーションの品質管理をサポートしてくれます。

|Fork|Star|
|:-:|:-:|
|679|7.4k|

#### Open WebUI

https://github.com/open-webui/open-webui

:::note info
**ローカルLLMを使ったチャットUIを爆速開発！**
:::

Ollama用の直感的なWebインターフェースを提供するオープンソースプロジェクトです。チャット機能、プロンプトテンプレート管理、会話履歴の保存など、ローカルLLMの操作に必要な機能を備えています。

|Fork|Star|
|:-:|:-:|
|6.4k|52.3k|

#### SWIRL

https://github.com/swirlai/swirl-search

:::note info
**AI検索とRAGによる強力な検索エンジン！**
:::

SWIRLは、企業での検索体験を向上させるためのオープンソース検索プラットフォームです。複数のデータソースを統合し、AI駆動の自然言語処理と組み合わせることで、より正確で文脈に即した検索結果を提供します。Pythonで実装され、Elasticsearchやベクトルデータベースと連携可能です。

|Fork|Star|
|:-:|:-:|
|207|2.3k|

#### Deep Eval

https://github.com/confident-ai/deepeval

:::note info
**LLMの生成結果を評価・テストしてアプリの安定性を高める！**

:::

DeepEvalは、大規模言語モデルの評価とテストに特化したオープンソースのフレームワークです。 ￼
LLMの出力の単体テストに特化しており、LLMの効果測定に必要な最新の評価指標を使用して、LLMの性能を評価します。

|Fork|Star|
|:-:|:-:|
|330|4.1k|




# 学習用

#### freeCodeCamp

https://github.com/freeCodeCamp/freeCodeCamp

:::note info
**完全無料のプログラミング学習プラットフォームの教材集**
:::

無料で学べるプログラミング学習プラットフォームのオープンソースコードベースとカリキュラムを提供しているリポジトリです。フルスタックのウェブ開発や機械学習に関するカリキュラムが含まれていて、全部学ぼうと思うと300時間以上かかるほどのボリュームです。


|Fork|Star|
|:-:|:-:|
|38.4k|408k|


#### Web-Dev-For-Beginners

https://github.com/microsoft/Web-Dev-For-Beginners

:::note info
**12週間でWeb開発を学ぶ！Microsoft発の学習コース**
:::

MicrosoftのAzure Cloud Advocatesチームが提供する、JavaScript、CSS、HTMLの基礎を学ぶための12週間・24レッスンの無料カリキュラムです。 ￼
各レッスンでは、テラリウムやブラウザ拡張機能、スペースゲームなどのプロジェクトを通じて、実践的にフロントエンド開発を学習できます。

|Fork|Star|
|:-:|:-:|
|12.4k|83.8k|

#### List of Free Learning Resources In Many Languages

https://github.com/EbookFoundation/free-programming-books

:::note info
**各国言語別の無料プログラミング教材集！**
:::

さまざまなプログラミング言語やトピックに関する無料の学習リソースを多言語で提供するオープンソースのリポジトリです。 ￼
無料のプログラミング書籍、オンラインコース、インタラクティブなプログラミングリソース、問題集、ポッドキャストなど、多岐にわたる学習資料が含まれています。 

|Fork|Star|
|:-:|:-:|
|62.1k|342.0k|

#### developer-roadmap

https://github.com/kamranahmedse/developer-roadmap

:::note info
**エンジニアに必要なあらゆる知識をドキュメントや動画で学べる分野別ロードマップ集**
:::

エンジニアがキャリアを成長させるためのロードマップやガイド、教育コンテンツを提供する、コミュニティ主導のリポジトリです。 ￼
フロントエンド、バックエンド、DevOpsなど、さまざまな分野のロードマップが用意されており、各トピックをクリックすると詳細情報のドキュメントや動画にアクセスできるため、そのまま教材として活用できます。

|Fork|Star|
|:-:|:-:|
|39.6k|302k|

#### Project Based Learning

https://github.com/practical-tutorials/project-based-learning

:::note info
**開発言語別×プロジェクト別で学ぶソフトウェア開発サンプル集**

:::

初心者のソフトウェア開発者がゼロからアプリケーションを構築する方法を学ぶためのプログラミングチュートリアルをまとめたリポジトリです。 ￼
C、C++、JavaScript、Pythonなど、さまざまなプログラミング言語でのプロジェクトベースの学習教材が含まれており、実際のアプリケーション開発を通じて、実践的なスキル習得をサポートします。

|Fork|Star|
|:-:|:-:|
|27.1k|208k|

#### The System Design Primer

https://github.com/donnemartin/system-design-primer

:::note info
**大規模システムの設計パターンを練習問題付きで学ぶ**

:::

大規模システムの設計方法を学ぶためのオープンソースプロジェクトです。
スケーラビリティ、可用性、耐障害性などの設計課題に対応するための知識が体系的にまとめられており、学習だけでなく、システム設計系の面接対策などにもりようできます。
もちろん日本語版も提供されています。

|Fork|Star|
|:-:|:-:|
|47.0k|281.0k|

# 便利アプリ

#### GitHub Profile README Generator

https://github.com/rahuldkjain/github-profile-readme-generator

:::note info
**GitHubのProfile READMEをめっちゃイイ感じに作る！**

:::

ユーザーが自身のGitHubプロフィール用のREADME.mdファイルを簡単に作成できるオープンソースツールです。 ￼
名前、スキル、プロジェクトリンクなどの情報を入力するだけで、イイ感じなプロフィールREADMEを生成できます。
コピーして自身のGitHubリポジトリに追加するだけで公開できるので、自分のGitHubをよりリッチにしたい方はおすすめです。。 

|Fork|Star|
|:-:|:-:|
|7.0k|22.0k|

#### Home Assistant

https://github.com/home-assistant/core

:::note info
**自宅の電化製品を一元管理するホームオートメーションを実現！**

:::

ローカルでの制御とプライバシーを重視したオープンソースのホームオートメーションプラットフォームです。 ￼
Raspberry Piやローカルサーバー上での実行に適しており、様々な電化製品をコントロールすることで自宅を一気にスマートホーム化できます。

|Fork|Star|
|:-:|:-:|
|31.4k|74.8k|



# おわりに

いかがでしたでしょうか？

- 「個人開発で使ってみよう」
- 「このリポジトリでガッツリ勉強してみよう」

と思えるようなものが一つでも多くあると嬉しいです。



::: note
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています！興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=92b0aa084f528d5dd25e)まで。
:::