Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CONTENT_GAPS_ANALYSIS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ This document tracks structural and quality gaps that impact completeness and di

| Metric | Value |
|:-------|:------|
| Tutorial directories | 173 |
| Tutorials with exactly 8 numbered chapters | 170 |
| Tutorial directories | 175 |
| Tutorials with exactly 8 numbered chapters | 172 |
| Tutorials with >8 numbered chapters | 3 |
| Tutorials with 0 numbered chapters | 0 |
| Tutorials with partial chapter coverage (1-7) | 0 |
Expand All @@ -28,7 +28,7 @@ Top chapter-count tutorials:
- `vibesdk-tutorial`: 8 numbered chapter files
- `vibe-kanban-tutorial`: 8 numbered chapter files
- `vercel-ai-tutorial`: 8 numbered chapter files
- `turborepo-tutorial`: 8 numbered chapter files
- `use-mcp-tutorial`: 8 numbered chapter files

### 2) Index Format Variance

Expand Down
2 changes: 2 additions & 0 deletions IMPORT_ROADMAP_TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ This roadmap tracks the next highest-impact tutorial imports for `awesome-code-d
| [`modelcontextprotocol/ruby-sdk`](https://github.com/modelcontextprotocol/ruby-sdk) | 700+ | P1 | `pack-bq` | done |
| [`modelcontextprotocol/php-sdk`](https://github.com/modelcontextprotocol/php-sdk) | 1k+ | P1 | `pack-br` | done |
| [`modelcontextprotocol/ext-apps`](https://github.com/modelcontextprotocol/ext-apps) | 1k+ | P1 | `pack-br` | done |
| [`modelcontextprotocol/mcpb`](https://github.com/modelcontextprotocol/mcpb) | 1k+ | P1 | `pack-bs` | done |
| [`modelcontextprotocol/use-mcp`](https://github.com/modelcontextprotocol/use-mcp) | 1k+ | P1 | `pack-bs` | done |

## P2 (Strategic Extensions)

Expand Down
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
[![GitHub stars](https://img.shields.io/github/stars/johnxie/awesome-code-docs?style=social)](https://github.com/johnxie/awesome-code-docs)
[![Tutorials](https://img.shields.io/badge/tutorials-173-brightgreen.svg)](#-tutorial-catalog)
[![Content Hours](https://img.shields.io/badge/content-1860%2B%20hours-orange.svg)](#-tutorial-catalog)
[![Tutorials](https://img.shields.io/badge/tutorials-175-brightgreen.svg)](#-tutorial-catalog)
[![Content Hours](https://img.shields.io/badge/content-1880%2B%20hours-orange.svg)](#-tutorial-catalog)
[![Last Updated](https://img.shields.io/github/last-commit/johnxie/awesome-code-docs?label=updated)](https://github.com/johnxie/awesome-code-docs/commits/main)

[**Browse Tutorials**](#-tutorial-catalog) · [**A-Z Directory**](discoverability/tutorial-directory.md) · [**Learning Paths**](#-learning-paths) · [**Contributing**](#-contributing) · [**Community**](#-community)
Expand Down Expand Up @@ -68,7 +68,7 @@ Use this quick-start map if you searched for a specific outcome.
| build RAG systems | [LlamaIndex](tutorials/llamaindex-tutorial/) | [Haystack](tutorials/haystack-tutorial/) → [RAGFlow](tutorials/ragflow-tutorial/) |
| run LLMs locally or at scale | [Ollama](tutorials/ollama-tutorial/) | [llama.cpp](tutorials/llama-cpp-tutorial/) → [vLLM](tutorials/vllm-tutorial/) → [LiteLLM](tutorials/litellm-tutorial/) |
| build AI apps with TypeScript/Next.js | [Vercel AI SDK](tutorials/vercel-ai-tutorial/) | [CopilotKit](tutorials/copilotkit-tutorial/) → [LobeChat](tutorials/lobechat-ai-platform/) |
| build MCP tools and integrations | [MCP Python SDK](tutorials/mcp-python-sdk-tutorial/) | [FastMCP](tutorials/fastmcp-tutorial/) → [MCP Servers](tutorials/mcp-servers-tutorial/) → [Awesome MCP Servers](tutorials/awesome-mcp-servers-tutorial/) → [Composio](tutorials/composio-tutorial/) → [Daytona](tutorials/daytona-tutorial/) → [GenAI Toolbox](tutorials/genai-toolbox-tutorial/) → [awslabs/mcp](tutorials/awslabs-mcp-tutorial/) → [MCP Inspector](tutorials/mcp-inspector-tutorial/) → [MCP Registry](tutorials/mcp-registry-tutorial/) → [MCP Specification](tutorials/mcp-specification-tutorial/) → [MCP TypeScript SDK](tutorials/mcp-typescript-sdk-tutorial/) → [MCP Go SDK](tutorials/mcp-go-sdk-tutorial/) → [MCP Rust SDK](tutorials/mcp-rust-sdk-tutorial/) → [MCP Java SDK](tutorials/mcp-java-sdk-tutorial/) → [MCP C# SDK](tutorials/mcp-csharp-sdk-tutorial/) → [MCP Swift SDK](tutorials/mcp-swift-sdk-tutorial/) → [MCP Kotlin SDK](tutorials/mcp-kotlin-sdk-tutorial/) → [MCP Ruby SDK](tutorials/mcp-ruby-sdk-tutorial/) → [MCP PHP SDK](tutorials/mcp-php-sdk-tutorial/) → [MCP Ext Apps](tutorials/mcp-ext-apps-tutorial/) → [MCP Use](tutorials/mcp-use-tutorial/) |
| build MCP tools and integrations | [MCP Python SDK](tutorials/mcp-python-sdk-tutorial/) | [FastMCP](tutorials/fastmcp-tutorial/) → [MCP Servers](tutorials/mcp-servers-tutorial/) → [Awesome MCP Servers](tutorials/awesome-mcp-servers-tutorial/) → [Composio](tutorials/composio-tutorial/) → [Daytona](tutorials/daytona-tutorial/) → [GenAI Toolbox](tutorials/genai-toolbox-tutorial/) → [awslabs/mcp](tutorials/awslabs-mcp-tutorial/) → [MCP Inspector](tutorials/mcp-inspector-tutorial/) → [MCP Registry](tutorials/mcp-registry-tutorial/) → [MCP Specification](tutorials/mcp-specification-tutorial/) → [MCP TypeScript SDK](tutorials/mcp-typescript-sdk-tutorial/) → [MCP Go SDK](tutorials/mcp-go-sdk-tutorial/) → [MCP Rust SDK](tutorials/mcp-rust-sdk-tutorial/) → [MCP Java SDK](tutorials/mcp-java-sdk-tutorial/) → [MCP C# SDK](tutorials/mcp-csharp-sdk-tutorial/) → [MCP Swift SDK](tutorials/mcp-swift-sdk-tutorial/) → [MCP Kotlin SDK](tutorials/mcp-kotlin-sdk-tutorial/) → [MCP Ruby SDK](tutorials/mcp-ruby-sdk-tutorial/) → [MCP PHP SDK](tutorials/mcp-php-sdk-tutorial/) → [MCP Ext Apps](tutorials/mcp-ext-apps-tutorial/) → [MCPB](tutorials/mcpb-tutorial/) → [use-mcp](tutorials/use-mcp-tutorial/) → [MCP Use](tutorials/mcp-use-tutorial/) |

---

Expand Down Expand Up @@ -97,7 +97,7 @@ This section tracks high-impact open-source vibe-coding and coding-agent ecosyst
```
╔════════════════════════════════════════════════════════════╗
║ 🤖 AI & AGENTS │ 🔧 DEV TOOLS │ 🗄️ DATA │ 🎤 SPEECH ║
║ 67+ tutorials │ 33 tutorials │ 14 tutorials │ 3 tutorials ║
║ 67+ tutorials │ 35 tutorials │ 14 tutorials │ 3 tutorials ║
╚════════════════════════════════════════════════════════════╝
```

Expand Down Expand Up @@ -237,6 +237,8 @@ AI coding assistants, build systems, and dev infrastructure.
| **[MCP Ruby SDK](tutorials/mcp-ruby-sdk-tutorial/)** | 700+ | Ruby | Official Ruby MCP server/client SDK with streamable HTTP sessions, schema-aware primitives, notifications, and release workflows |
| **[MCP PHP SDK](tutorials/mcp-php-sdk-tutorial/)** | 1.3K+ | PHP | Official PHP MCP SDK with attribute discovery, server builder composition, schema controls, and stdio/HTTP transport patterns |
| **[MCP Ext Apps](tutorials/mcp-ext-apps-tutorial/)** | 1.4K+ | TypeScript/Spec | Official MCP Apps extension SDK/spec for interactive UI resources, host bridges, security constraints, and migration workflows |
| **[MCPB](tutorials/mcpb-tutorial/)** | 1.7K+ | TypeScript/CLI | Official MCP bundle packaging format and CLI workflows for manifest authoring, packing, signing, and verification |
| **[use-mcp](tutorials/use-mcp-tutorial/)** | 1.0K+ | TypeScript/React | Archived official React hook for MCP auth, connection lifecycle, and tool/resource/prompt client integration patterns |
| **[MCP Use](tutorials/mcp-use-tutorial/)** | 9.1K+ | Python/TypeScript | Full-stack MCP agents, clients, servers, and inspector workflows across both runtimes |
| **[OpenAI Python SDK](tutorials/openai-python-sdk-tutorial/)** | 29.8K+ | Python | GPT API, embeddings, assistants, batch processing |
| **[tiktoken](tutorials/tiktoken-tutorial/)** | 17.1K+ | Python/Rust | Token counting, encoding, cost optimization |
Expand Down Expand Up @@ -365,12 +367,12 @@ Continue ──→ Aider ──→ OpenHands ──→ Claude Code ──→ Cla
> *"I want to build AI tool servers and extend Claude with custom capabilities"*

```
MCP Python SDK ──→ FastMCP ──→ MCP Servers ──→ Awesome MCP Servers ──→ Composio ──→ Daytona ──→ GenAI Toolbox ──→ awslabs/mcp ──→ MCP Inspector ──→ MCP Registry ──→ MCP Specification ──→ MCP TypeScript SDK ──→ MCP Go SDK ──→ MCP Rust SDK ──→ MCP Java SDK ──→ MCP C# SDK ──→ MCP Swift SDK ──→ MCP Kotlin SDK ──→ MCP Ruby SDK ──→ MCP PHP SDK ──→ MCP Ext Apps ──→ MCP Use
(build (build servers (reference (discovery and (tool + auth (sandbox (db-focused (aws server (debug + (publish + (protocol (client/server (go sdk + (rust rmcp + (java sdk + (csharp sdk + (swift sdk + (kmp core + (ruby server + (php server + (interactive ui + (full-stack
servers) fast) implementations) curation) runtime) infra) mcp control plane) ecosystem) transport tests) discovery ops) contract deep dive) sdk internals) conformance) task/oauth focus) spring modules) aspnet filters) lifecycle controls) transport model) client workflow) discovery model) host bridge model) mcp workflows)
MCP Python SDK ──→ FastMCP ──→ MCP Servers ──→ Awesome MCP Servers ──→ Composio ──→ Daytona ──→ GenAI Toolbox ──→ awslabs/mcp ──→ MCP Inspector ──→ MCP Registry ──→ MCP Specification ──→ MCP TypeScript SDK ──→ MCP Go SDK ──→ MCP Rust SDK ──→ MCP Java SDK ──→ MCP C# SDK ──→ MCP Swift SDK ──→ MCP Kotlin SDK ──→ MCP Ruby SDK ──→ MCP PHP SDK ──→ MCP Ext Apps ──→ MCPB ──→ use-mcp ──→ MCP Use
(build (build servers (reference (discovery and (tool + auth (sandbox (db-focused (aws server (debug + (publish + (protocol (client/server (go sdk + (rust rmcp + (java sdk + (csharp sdk + (swift sdk + (kmp core + (ruby server + (php server + (interactive ui + (bundle pack + (react hook + (full-stack
servers) fast) implementations) curation) runtime) infra) mcp control plane) ecosystem) transport tests) discovery ops) contract deep dive) sdk internals) conformance) task/oauth focus) spring modules) aspnet filters) lifecycle controls) transport model) client workflow) discovery model) host bridge model) sign verify) archived guidance) mcp workflows)
```

**Duration:** 80-110 hours | **Difficulty:** Intermediate to Advanced
**Duration:** 88-120 hours | **Difficulty:** Intermediate to Advanced

### 🟢 Path 8: Speech & Voice AI

Expand Down Expand Up @@ -417,10 +419,10 @@ Dyad ──→ bolt.diy ──→ Cline ──→ Roo Code ──→ VibeSDK ─
╔══════════════════════════════════════════════════════════╗
║ COLLECTION OVERVIEW ║
╠══════════════════════════════════════════════════════════╣
║ 📦 Total Tutorials 173
║ 📝 Numbered Chapters 1,387
║ 📏 Tutorial Markdown 472,000+ lines ║
║ ⏱️ Estimated Hours 1,860+ ║
║ 📦 Total Tutorials 175
║ 📝 Numbered Chapters 1,403
║ 📏 Tutorial Markdown 473,000+ lines ║
║ ⏱️ Estimated Hours 1,880+ ║
║ ✅ Local Broken Links 0 ║
║ 🧭 Structure Drift 0 (all root canonical) ║
╚══════════════════════════════════════════════════════════╝
Expand Down
2 changes: 1 addition & 1 deletion TUTORIAL_STRUCTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ tutorials/<tutorial-name>/

| Pattern | Count |
|:--------|:------|
| `root_only` | 173 |
| `root_only` | 175 |
| `docs_only` | 0 |
| `index_only` | 0 |
| `mixed` | 0 |
Expand Down
6 changes: 4 additions & 2 deletions categories/ai-ml-platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Snapshot (February 12, 2026)

- repository-wide tutorials: **173**
- repository-wide tutorials: **175**
- AI/agent + developer-tooling coverage: **largest cluster in the catalog**
- canonical structure status: **all tracks publish full chapter sets**

Expand All @@ -17,7 +17,7 @@
| Build vibe-coding products | [Dyad](../tutorials/dyad-tutorial/) | [bolt.diy](../tutorials/bolt-diy-tutorial/) → [VibeSDK](../tutorials/vibesdk-tutorial/) → [HAPI](../tutorials/hapi-tutorial/) |
| Build RAG systems | [LlamaIndex](../tutorials/llamaindex-tutorial/) | [Haystack](../tutorials/haystack-tutorial/) → [RAGFlow](../tutorials/ragflow-tutorial/) |
| Run LLMs in production | [Ollama](../tutorials/ollama-tutorial/) | [vLLM](../tutorials/vllm-tutorial/) → [LiteLLM](../tutorials/litellm-tutorial/) |
| Build MCP integrations | [MCP Python SDK](../tutorials/mcp-python-sdk-tutorial/) | [FastMCP](../tutorials/fastmcp-tutorial/) → [MCP Servers](../tutorials/mcp-servers-tutorial/) → [Awesome MCP Servers](../tutorials/awesome-mcp-servers-tutorial/) → [Composio](../tutorials/composio-tutorial/) → [Daytona](../tutorials/daytona-tutorial/) → [GenAI Toolbox](../tutorials/genai-toolbox-tutorial/) → [awslabs/mcp](../tutorials/awslabs-mcp-tutorial/) → [MCP Inspector](../tutorials/mcp-inspector-tutorial/) → [MCP Registry](../tutorials/mcp-registry-tutorial/) → [MCP Specification](../tutorials/mcp-specification-tutorial/) → [MCP TypeScript SDK](../tutorials/mcp-typescript-sdk-tutorial/) → [MCP Go SDK](../tutorials/mcp-go-sdk-tutorial/) → [MCP Rust SDK](../tutorials/mcp-rust-sdk-tutorial/) → [MCP Java SDK](../tutorials/mcp-java-sdk-tutorial/) → [MCP C# SDK](../tutorials/mcp-csharp-sdk-tutorial/) → [MCP Swift SDK](../tutorials/mcp-swift-sdk-tutorial/) → [MCP Kotlin SDK](../tutorials/mcp-kotlin-sdk-tutorial/) → [MCP Ruby SDK](../tutorials/mcp-ruby-sdk-tutorial/) → [MCP PHP SDK](../tutorials/mcp-php-sdk-tutorial/) → [MCP Ext Apps](../tutorials/mcp-ext-apps-tutorial/) → [MCP Use](../tutorials/mcp-use-tutorial/) |
| Build MCP integrations | [MCP Python SDK](../tutorials/mcp-python-sdk-tutorial/) | [FastMCP](../tutorials/fastmcp-tutorial/) → [MCP Servers](../tutorials/mcp-servers-tutorial/) → [Awesome MCP Servers](../tutorials/awesome-mcp-servers-tutorial/) → [Composio](../tutorials/composio-tutorial/) → [Daytona](../tutorials/daytona-tutorial/) → [GenAI Toolbox](../tutorials/genai-toolbox-tutorial/) → [awslabs/mcp](../tutorials/awslabs-mcp-tutorial/) → [MCP Inspector](../tutorials/mcp-inspector-tutorial/) → [MCP Registry](../tutorials/mcp-registry-tutorial/) → [MCP Specification](../tutorials/mcp-specification-tutorial/) → [MCP TypeScript SDK](../tutorials/mcp-typescript-sdk-tutorial/) → [MCP Go SDK](../tutorials/mcp-go-sdk-tutorial/) → [MCP Rust SDK](../tutorials/mcp-rust-sdk-tutorial/) → [MCP Java SDK](../tutorials/mcp-java-sdk-tutorial/) → [MCP C# SDK](../tutorials/mcp-csharp-sdk-tutorial/) → [MCP Swift SDK](../tutorials/mcp-swift-sdk-tutorial/) → [MCP Kotlin SDK](../tutorials/mcp-kotlin-sdk-tutorial/) → [MCP Ruby SDK](../tutorials/mcp-ruby-sdk-tutorial/) → [MCP PHP SDK](../tutorials/mcp-php-sdk-tutorial/) → [MCP Ext Apps](../tutorials/mcp-ext-apps-tutorial/) → [MCPB](../tutorials/mcpb-tutorial/) → [use-mcp](../tutorials/use-mcp-tutorial/) → [MCP Use](../tutorials/mcp-use-tutorial/) |

## Featured AI/ML Tutorial Tracks

Expand Down Expand Up @@ -45,6 +45,8 @@
- [MCP Ruby SDK](../tutorials/mcp-ruby-sdk-tutorial/)
- [MCP PHP SDK](../tutorials/mcp-php-sdk-tutorial/)
- [MCP Ext Apps](../tutorials/mcp-ext-apps-tutorial/)
- [MCPB](../tutorials/mcpb-tutorial/)
- [use-mcp](../tutorials/use-mcp-tutorial/)
- [MCP Use](../tutorials/mcp-use-tutorial/)
- [OpenAI Python SDK](../tutorials/openai-python-sdk-tutorial/)
- [OpenAI Realtime Agents](../tutorials/openai-realtime-agents-tutorial/)
Expand Down
9 changes: 8 additions & 1 deletion discoverability/tutorial-directory.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This page is auto-generated from the tutorial index and is intended as a fast browse surface for contributors and search crawlers.

- Total tutorials: **173**
- Total tutorials: **175**
- Source: `scripts/generate_discoverability_assets.py`

## A
Expand Down Expand Up @@ -260,6 +260,8 @@ This page is auto-generated from the tutorial index and is intended as a fast br
- Learn how to use `modelcontextprotocol/typescript-sdk` to build production MCP clients and servers, migrate from v1 to v2 safely, and validate behavior with conformance workflows.
- [MCP Use Tutorial: Full-Stack MCP Development Across Agents, Clients, Servers, and Inspector](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/mcp-use-tutorial/index.md)
- Learn how `mcp-use/mcp-use` composes agent, client, server, and inspector workflows across Python and TypeScript with practical security and operations patterns.
- [MCPB Tutorial: Packaging and Distributing Local MCP Servers as Bundles](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/mcpb-tutorial/index.md)
- Learn how to use `modelcontextprotocol/mcpb` to package local MCP servers into signed `.mcpb` bundles with manifest metadata, CLI workflows, and distribution-ready operational controls.
- [MeiliSearch Tutorial: Lightning Fast Search Engine](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/meilisearch-tutorial/index.md)
- A deep technical walkthrough of MeiliSearch covering Lightning Fast Search Engine.
- [Mem0 Tutorial: Building Production-Ready AI Agents with Scalable Long-Term Memory](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/mem0-tutorial/index.md)
Expand Down Expand Up @@ -396,6 +398,11 @@ This page is auto-generated from the tutorial index and is intended as a fast br
- [Turborepo Tutorial: High-Performance Monorepo Build System](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/turborepo-tutorial/index.md)
- A deep technical walkthrough of Turborepo covering High-Performance Monorepo Build System.

## U

- [use-mcp Tutorial: React Hook Patterns for MCP Client Integration](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/use-mcp-tutorial/index.md)
- Learn how to use `modelcontextprotocol/use-mcp` to connect React apps to MCP servers with OAuth-aware flows, tool/resource/prompt access, and resilient transport lifecycle handling.

## V

- [Vercel AI SDK Tutorial: Production TypeScript AI Apps and Agents](https://github.com/johnxie/awesome-code-docs/blob/main/tutorials/vercel-ai-tutorial/index.md)
Expand Down
Loading
Loading