代码库教学平台生成器

Documee MCP Server是一个专业的模型上下文协议服务器,通过AI助手快速分析代码库并生成可教学课程平台,适用于开发者学习、技术文档编写和团队培训。

  • by briansbrian
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 briansbrian/documee-MCP

使用说明

Documee MCP 服务器

在几秒钟内将任何代码库转换为可教的课程平台。

一个专业的模型上下文协议(MCP)服务器,为AI助手提供上帝模式功能,用于代码库分析和课程生成。采用FastMCP构建,简化服务器实现,三层缓存实现超快性能。

🚀 快速开始

# 1. Clone and navigate to project
cd documee-mcp

# 2. Create virtual environment (Python 3.12+)
python -m venv venv

# 3. Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# 4. Install dependencies
pip install -r requirements.txt

# 5. Run the server
python -m src.server

# 6. Test with MCP Inspector
npx @modelcontextprotocol/inspector python -m src.server

⚡ 上帝模式表演

Documee MCP服务器通过智能缓存、并行处理和循证验证实现了“上帝模式”性能:

  • 快20倍 初步分析(2-3s vs 30-100s)
  • 快450倍 缓存操作(0.1秒vs 45秒)
  • 99%准确率 有信心分数
  • 70%+缓存命中率 初始扫描后
  • 0%幻觉 通过循证验证进行评分

📋 目录

📦 安装

先决条件

  • Python 3.12或更高版本 (必填)
  • Node.js 18+ (用于MCP检验员测试)
  • Git (用于克隆存储库)

分步安装

1.验证Python版本

python --version
# Should output: Python 3.12.0 or higher

如果你没有Python 3.12,请从以下网址下载 python.org.

2.克隆存储库

git clone https://github.com/yourusername/documee-mcp.git
cd documee-mcp

3.创建虚拟环境

窗户:

python -m venv venv
venv\Scripts\activate

macOS/Linux:

python -m venv venv
source venv/bin/activate

你应该看看 (venv) 在您的终端提示中。

4.安装依赖项

pip install -r requirements.txt

这将安装:

  • fastmcp>=0.5.0 -用于简化MCP服务器实现的FastMCP框架
  • aiofiles>=23.2.1 -异步文件I/O
  • aiosqlite>=0.19.0 -异步SQLite数据库
  • pyyaml>=6.0.1 -YAML配置解析
  • python-dotenv>=1.0.0 -环境变量管理
  • pytest>=7.4.3 -测试框架
  • pytest-asyncio>=0.21.1 -异步测试支持
  • pytest-cov>=4.1.0 -代码覆盖率报告

5.验证安装

# Check if server starts
python -m src.server --help

# Run tests
pytest tests/ -v

可选:安装MCP检查器

用于测试和调试:

npm install -g @modelcontextprotocol/inspector

🏗️ 项目结构

documee-mcp/
├── src/                          # Source code
│   ├── server.py                 # MCP server entry point (FastMCP)
│   ├── tools/                    # MCP tool implementations
│   │   ├── scan_codebase.py      # Codebase structure scanner
│   │   ├── detect_frameworks.py  # Framework detection
│   │   └── discover_features.py  # Feature discovery
│   ├── cache/                    # Caching system
│   │   └── unified_cache.py      # 3-tier cache manager
│   ├── models/                   # Data models
│   │   └── schemas.py            # Dataclasses for results
│   ├── utils/                    # Utility functions
│   │   ├── file_utils.py         # File operations
│   │   └── path_utils.py         # Path sanitization
│   └── config/                   # Configuration
│       └── settings.py           # Settings management
├── tests/                        # Test suite
│   ├── test_cache.py             # Cache tests
│   ├── test_scan_codebase.py     # Scanner tests
│   ├── test_detect_frameworks.py # Framework detection tests
│   └── test_discover_features.py # Feature discovery tests
├── cache_db/                     # SQLite cache storage
│   └── cache.db                  # Persistent cache database
├── examples/                     # Usage examples
│   ├── basic_usage.py            # Basic MCP client example
│   ├── kiro_config.json          # Kiro integration config
│   └── claude_config.json        # Claude Desktop config
├── docs/                         # Documentation
│   ├── ULTIMATE-MCP-SERVER.md    # Complete implementation guide
│   ├── GOD-MODE-TOOLKIT.md       # Vision and capabilities
│   └── QUICK-START-GUIDE.md      # 5-minute quick start
├── config.yaml                   # Server configuration
├── requirements.txt              # Python dependencies
└── README.md                     # This file

🏛️ 架构概述

高级体系结构

┌─────────────────────────────────────────────────────────────┐
│                        AI Client                             │
│                  (Claude, GPT, Kiro)                         │
└────────────────────────┬────────────────────────────────────┘
                         │ JSON-RPC 2.0 over stdio
                         ▼
┌─────────────────────────────────────────────────────────────┐
│                    MCP Server Core                           │
│                     (FastMCP)                                │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │   Tools      │  │  Resources   │  │   Prompts    │      │
│  │  (3 tools)   │  │ (2 resources)│  │  (1 prompt)  │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────┐
│              UnifiedCacheManager (3-Tier)                    │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │ Memory (LRU) │→ │    SQLite    │→ │Redis (opt.)  │      │
│  │   <0.001s    │  │    <0.1s     │  │   <0.2s      │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────┐
│                    File System                               │
│         (Codebase, package.json, requirements.txt)           │
└─────────────────────────────────────────────────────────────┘

关键组件

  1. MCP服务器核心 (src/server.py)

    • 采用FastMCP构建,简化实施
    • 基于装饰器的工具、资源和提示注册
    • 从类型提示自动生成JSON模式
    • 缓存初始化/清理的寿命管理
  2. 大学校长 (src/cache/unified_cache.py)

    • 第1层(内存):LRU缓存,500MB限制,<0.001s访问
    • 第2层(SQLite):持久缓存,<0.1s访问
    • 第三层(Redis):可选分布式缓存,<0.2秒访问
    • 缓存升级:频繁访问的数据移动到更快的层
  3. 发现工具 (src/tools/)

    • 扫描_降级:分析目录结构、语言、文件类型
    • 检测框架:确定具有置信度得分的框架
    • 发现功能:查找路线、组件、API、实用程序

数据流

  1. 通过JSON-RPC 2.0调用AI客户端工具
  2. FastMCP根据JSON模式验证参数
  3. 工具检查缓存(内存→ SQLite→ Redis)
  4. 如果缓存未命中,工具将执行分析
  5. 结果缓存在所有具有TTL的层中
  6. 结果以JSON格式返回给AI客户端

📚 文档

⚠️ 重要:实施状态

在实现服务器之前,请阅读:

状态: 基础代码正确。在服务器实现之前,规范文档需要更新。

基本文档(从这里开始)

其他资源

🎯 用法示例

工具1:扫描_降级

扫描代码库以了解其结构、语言和大小。

# Using MCP client
result = await mcp.call_tool("scan_codebase", {
    "path": "/path/to/your/project",
    "max_depth": 10,
    "use_cache": True
})

# Result structure:
{
    "codebase_id": "a1b2c3d4e5f6g7h8",
    "structure": {
        "total_files": 245,
        "total_directories": 38,
        "total_size_mb": 12.5,
        "languages": {
            "TypeScript": 120,
            "JavaScript": 85,
            "Python": 40
        },
        "file_types": {
            ".tsx": 65,
            ".ts": 55,
            ".js": 85,
            ".py": 40
        }
    },
    "summary": {
        "primary_language": "TypeScript",
        "project_type": "web-application",
        "has_tests": true,
        "size_category": "medium"
    },
    "scan_time_ms": 2847.3,
    "from_cache": false
}

演出

  • 第一次扫描:1000个文件2-3秒
  • 缓存扫描:<0.1秒

工具2:detect_frameworks

使用置信度分数检测框架和库。

result = await mcp.call_tool("detect_frameworks", {
    "codebase_id": "a1b2c3d4e5f6g7h8",
    "confidence_threshold": 0.7,
    "use_cache": True
})

# Result structure:
{
    "frameworks": [
        {
            "name": "React",
            "version": "18.2.0",
            "confidence": 0.99,
            "evidence": ["package.json dependency"]
        },
        {
            "name": "Next.js",
            "version": "14.0.0",
            "confidence": 0.99,
            "evidence": ["package.json dependency"]
        },
        {
            "name": "Express",
            "version": "4.18.2",
            "confidence": 0.99,
            "evidence": ["package.json dependency"]
        }
    ],
    "total_detected": 3,
    "confidence_threshold": 0.7,
    "from_cache": false
}

信心评分:

  • 0.99:package.json依赖项(JavaScript/TypeScript)
  • 0.95:requirements.txt依赖项(Python)
  • 0.70:默认阈值(可配置)

工具3:发现_特征

查找路由、组件、API、实用程序和挂钩等功能。

result = await mcp.call_tool("discover_features", {
    "codebase_id": "a1b2c3d4e5f6g7h8",
    "categories": ["routes", "api", "components"],
    "use_cache": True
})

# Result structure:
{
    "features": [
        {
            "id": "f1a2b3c4d5e6f7g8",
            "name": "app",
            "category": "routes",
            "path": "/path/to/project/app",
            "priority": "high"
        },
        {
            "id": "g2h3i4j5k6l7m8n9",
            "name": "api",
            "category": "api",
            "path": "/path/to/project/api",
            "priority": "high"
        },
        {
            "id": "h3i4j5k6l7m8n9o0",
            "name": "components",
            "category": "components",
            "path": "/path/to/project/components",
            "priority": "medium"
        }
    ],
    "total_features": 3,
    "categories": ["routes", "api", "components"],
    "from_cache": false
}

功能类别:

  • routes:路线、页面、应用程序目录(高优先级)
  • api:API端点、控制器(高优先级)
  • components:UI组件、小部件(中等优先级)
  • utils:实用程序、助手、库(中等优先级)
  • hooks:React挂钩,Vue可组合(中等优先级)

AI内容丰富工具

通过循证丰富,将基础课程内容转化为丰富的教育材料。

get_enrichment_guide

获得全面的循证指导,以丰富课程内容:

result = await mcp.call_tool("get_enrichment_guide", {
    "codebase_id": "a1b2c3d4e5f6g7h8",
    "lesson_id": "module-1-lesson-1"
})

# Returns comprehensive guide with:
# - Feature mapping (what users do with this code)
# - Evidence bundle (source files, tests, commits, docs)
# - Validation checklist (consistency across sources)
# - Teaching value assessment (why this is worth teaching)
# - Systematic investigation (what, why, how, when, edge cases)
# - Narrative structure (how to organize the explanation)
# - Code section guides (detailed guidance for each snippet)
# - Architecture context (how it fits in the system)
# - Real-world context (practical use cases, analogies)
# - Exercise generation (hands-on practice with hints)
# - Anti-hallucination rules (always cite evidence)

update_lesson_content

用丰富的内容更新课程:

result = await mcp.call_tool("update_lesson_content", {
    "codebase_id": "a1b2c3d4e5f6g7h8",
    "lesson_id": "module-1-lesson-1",
    "enriched_content": {
        "description": "Enhanced description with context and goals",
        "content": "Full learning narrative with progressive explanation",
        "code_examples": [
            {"explanation": "Enhanced explanation with evidence citations"}
        ],
        "exercises": [
            {
                "description": "Clear, engaging description",
                "instructions": "Numbered, specific steps",
                "hints": ["Progressive hints from general to specific"]
            }
        ],
        "learning_objectives": ["Specific, measurable learning goals"]
    }
})

list_lessons_for_enrichment

准备好丰富的课程列表:

result = await mcp.call_tool("list_lessons_for_enrichment", {
    "codebase_id": "a1b2c3d4e5f6g7h8"
})

# Returns list of lessons with:
# - lesson_id, title, status (pending/completed)
# - source_files, teaching_value_score
# - Sorted by teaching value (high to low)

丰富功能:

  • 基于证据的内容生成(引用代码、测试、提交、文档)
  • 初学者友好的类比解释
  • 渐进式学习叙事(简单→ 复杂)
  • 带有渐进式提示的动手练习
  • 抗幻觉验证(交叉参考来源)
  • 教学价值评估(注重高价值内容)

MCP资源

通过资源访问缓存数据:

# Get codebase structure
structure = await mcp.read_resource("codebase://structure")

# Get discovered features
features = await mcp.read_resource("codebase://features")

MCP提示

使用提示来指导AI分析:

# Get analysis workflow prompt
prompt = await mcp.get_prompt("analyze_codebase", {
    "codebase_path": "/path/to/project"
})

# Prompt guides AI through:
# 1. Call scan_codebase
# 2. Call detect_frameworks
# 3. Call discover_features
# 4. Focus on teachable code

⚙️ 配置

配置文件(config.yaml)

创建一个 config.yaml 项目根目录中的文件,用于自定义服务器行为:

server:
  name: codebase-to-course-mcp
  version: 1.0.0
  transport: stdio

cache:
  memory:
    max_size_mb: 500              # Memory cache limit
  sqlite:
    enabled: true
    path: cache_db/cache.db       # SQLite database path
  redis:
    enabled: false
    url: null                     # redis://localhost:6379

analysis:
  max_file_size_mb: 10            # Skip files larger than this
  max_files_per_scan: 10000       # Maximum files to scan
  max_parallel_reads: 10          # Concurrent file reads
  scan_timeout_seconds: 30        # Scan timeout

security:
  allowed_paths: []               # Restrict to specific paths (empty = all)
  max_depth: 10                   # Maximum directory depth
  blocked_patterns:               # Directories to skip
    - node_modules
    - .git
    - dist
    - build
    - __pycache__
    - venv

performance:
  enable_profiling: false         # Enable performance profiling
  log_slow_operations: true       # Log operations >1000ms
  slow_operation_threshold_ms: 1000

logging:
  level: INFO                     # DEBUG, INFO, WARNING, ERROR
  file: server.log                # Log file path
  max_size_mb: 10                 # Log rotation size
  backup_count: 3                 # Number of backup logs

环境变量

用环境变量覆盖配置:

# Cache settings
export CACHE_MAX_SIZE_MB=1000
export REDIS_URL=redis://localhost:6379

# Analysis settings
export MAX_FILE_SIZE_MB=20
export MAX_DEPTH=15

# Logging
export LOG_LEVEL=DEBUG

优先: 环境变量>config.yaml>默认值

默认值

如果没有提供配置,则使用这些默认值:

  • max_memory_mb: 500
  • sqlite_path:cache_db/cache.db
  • redis_url:无(禁用)
  • max_file_size_mb: 10
  • max_depth: 10
  • log_level:信息

🎯 绩效目标

上帝模式绩效目标

Documee MCP服务器旨在实现“上帝模式”性能:

度量 目标 实际 状态
初始扫描 1000个文件小于3秒 2-3s ✅ 已实现
缓存扫描 <0.1秒 0.05-0.1秒 ✅ 已实现
框架检测 第一轮<3s 2-3s ✅ 已实现
功能发现 第一次运行<5s 3-5s ✅ 已实现
完成工作流程 总共<15秒 8-12s ✅ 已实现
缓存命中率 初始扫描后>70% 75%-85% ✅ 已实现
框架精度 package.json为99% 99% ✅ 已实现
加速与无缓存 快20倍 20-30x ✅ 已实现
加速缓存 快450倍 400-500x ✅ 已实现

性能基准

# Run performance benchmarks
pytest tests/test_performance_validation.py -v

# Expected results:
# - scan_codebase (1000 files): 2.5s first run, 0.08s cached
# - detect_frameworks: 2.1s first run, 0.05s cached
# - discover_features: 3.8s first run, 0.06s cached
# - Complete workflow: 10.2s first run, 0.15s cached

高速缓存性能

三层缓存系统提供:

  • 内存(第1层):小于0.001秒的访问时间
  • SQLite(第2层):<0.1s访问时间
  • Redis(第3层):<0.2秒访问时间(可选)

缓存升级: 频繁访问的数据会自动移动到更快的层。

🔒 安全

  • 路径验证:对路径进行消毒,以防止目录遍历攻击
  • 文件大小限制:跳过大于10MB的文件(可配置)
  • 深度限制:防止无限递归(最大深度:10)
  • 输入净化:删除 .. 和 ~ 从路径
  • 堵塞的图案:自动跳过敏感目录(.git、node_modules等)

🧪 测试

运行测试

该项目包括全面的单元测试、集成测试和性能基准测试。

单元测试

单独测试单个组件:

# Run all unit tests
pytest tests/ -v

# Run specific test file
pytest tests/test_cache.py -v

# Run with coverage report
pytest --cov=src tests/

# Generate HTML coverage report
pytest --cov=src --cov-report=html tests/

测试文件:

  • tests/test_cache.py -UnifiedCacheManager测试(内存、SQLite、LRU驱逐)
  • tests/test_scan_codebase.py -扫描程序测试(遍历、语言检测)
  • tests/test_detect_frameworks.py -框架检测测试(package.json、requirements.txt)
  • tests/test_discover_features.py -特征发现测试(模式匹配、优先级)
  • tests/test_utils.py -实用功能测试(路径净化、ID生成)

集成测试

测试完整工作流程:

# Run integration tests
pytest tests/test_analysis_engine_integration.py -v
pytest tests/test_mcp_tools_integration.py -v

性能基准

验证上帝模式绩效目标:

# Run performance validation
pytest tests/test_performance_validation.py -v

# Expected output:
# ✓ scan_codebase (1000 files): 2.5s < 3.0s target
# ✓ scan_codebase (cached): 0.08s < 0.1s target
# ✓ detect_frameworks: 2.1s < 3.0s target
# ✓ discover_features: 3.8s < 5.0s target
# ✓ cache hit rate: 78% > 70% target

MCP检验员测试

MCP Inspector是Anthropic用于验证MCP服务器的官方测试工具。

安装MCP检查器

npm install -g @modelcontextprotocol/inspector

启动检查器

npx @modelcontextprotocol/inspector python -m src.server

这将打开一个web界面 http://localhost:5173 您可以在哪里:

  1. 列出工具 -查看所有3个已注册的工具
  2. 列出资源 -查看2个已注册资源
  3. 列表提示 -查看1个注册提示
  4. 调用工具 -具有自定义参数的测试工具
  5. 阅读资源 -访问缓存数据
  6. 获取提示 -查看提示模板

测试场景

测试1:扫描代码库

{
  "path": ".",
  "max_depth": 5,
  "use_cache": true
}

测试2:检测框架

{
  "codebase_id": "<id_from_scan>",
  "confidence_threshold": 0.7,
  "use_cache": true
}

测试3:发现功能

{
  "codebase_id": "<id_from_scan>",
  "categories": ["routes", "api"],
  "use_cache": true
}

测试4:读取资源

  • 资源URI: codebase://structure
  • 应返回缓存的结构数据

测试5:获取提示

  • 提示名称: analyze_codebase
  • 论据: {"codebase_path": "/path/to/project"}

发展模式

对于自动重新加载的开发:

# Install uv (if not already installed)
pip install uv

# Run in development mode
uv run mcp dev src/server.py

当您更改代码时,这会自动重新加载服务器。

🔌 整合

与Kiro集成

Kiro是一个支持MCP服务器的AI驱动IDE。

1.创建Kiro配置

创建或编辑 .kiro/settings/mcp.json 在您的工作空间中:

{
  "mcpServers": {
    "documee": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/absolute/path/to/documee-mcp",
      "disabled": false,
      "autoApprove": [
        "scan_codebase",
        "detect_frameworks",
        "discover_features"
      ]
    }
  }
}

或者使用示例配置:

cp examples/kiro_config.json .kiro/settings/mcp.json

2.重新启动Kiro

重新启动Kiro或从MCP服务器视图重新加载MCP服务器。

3.在Kiro中使用

在Kiro聊天中,您现在可以使用以下工具:

Analyze this codebase using the documee MCP server.

Kiro将自动呼叫:

  1. scan_codebase 理解结构
  2. detect_frameworks 识别技术栈
  3. discover_features 寻找可教代码

与Claude Desktop集成

Claude Desktop支持MCP服务器以增强功能。

1.创建Claude配置

窗户: 编辑 %APPDATA%\Claude\claude_desktop_config.json

macOS: 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

添加Documee服务器:

{
  "mcpServers": {
    "documee": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "C:\\path\\to\\documee-mcp"
    }
  }
}

或者使用示例配置:

# Copy example config
cp examples/claude_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.json

2.重新启动克劳德桌面

完全退出并重新启动Claude Desktop。

3.验证连接

在Claude Desktop中,您应该看到🔌 指示MCP服务器已连接的图标。

4.在Claude中使用

让Claude分析代码库:

Please analyze the codebase at /path/to/my/project using the documee MCP server.

Claude将使用可用的工具提供详细的分析。

与其他AI客户端集成

任何兼容MCP的AI客户端都可以使用Documee服务器:

  1. 配置客户端 运行 python -m src.server
  2. 设置工作目录 到documee mcp文件夹
  3. 启用stdio传输 (MCP的默认设置)

🐛 故障排除

常见问题

问题1:“找不到模块”错误

症状:

ModuleNotFoundError: No module named 'fastmcp'

解决方案:

# Ensure virtual environment is activated
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# Reinstall dependencies
pip install -r requirements.txt

问题2:Python版本太旧

症状:

SyntaxError: invalid syntax (type hints)

解决方案:

# Check Python version
python --version

# Must be 3.12 or higher
# Download from https://www.python.org/downloads/

问题3:缓存数据库已锁定

症状:

sqlite3.OperationalError: database is locked

解决方案:

# Stop all running server instances
# Delete cache database
rm cache_db/cache.db

# Restart server
python -m src.server

问题4:扫描时权限被拒绝

症状:

PermissionError: [Errno 13] Permission denied: '/path/to/file'

解决方案:

  • 服务器跳过它无法读取的文件
  • 检查文件权限: ls -la /path/to/file
  • 以适当的权限运行
  • 将目录添加到 blocked_patterns 在config.yaml中

问题5:MCP检查器无法连接

症状:

Failed to connect to MCP server

解决方案:

# Ensure server starts without errors
python -m src.server

# Check for port conflicts
# Try different port for inspector
npx @modelcontextprotocol/inspector --port 5174 python -m src.server

# Check Node.js version (need 18+)
node --version

问题6:性能缓慢

症状:

  • 扫描时间>10秒
  • 缓存命中率<50%

解决方案:

# Check cache statistics
# Add to config.yaml:
logging:
  level: DEBUG

# Increase cache size
cache:
  memory:
    max_size_mb: 1000

# Enable Redis for distributed caching
cache:
  redis:
    enabled: true
    url: redis://localhost:6379

问题7:框架检测不起作用

症状:

{
  "frameworks": [],
  "total_detected": 0
}

解决方案:

  • 确保 package.json 或 requirements.txt 存在于项目根目录中
  • 检查文件是否为有效的JSON/text
  • 验证是否首先扫描了代码库: scan_codebase 必须提前致电 detect_frameworks
  • 检查置信阈值(默认值0.7)

调试模式

启用调试日志记录以进行详细诊断:

# Set environment variable
export LOG_LEVEL=DEBUG

# Or in config.yaml:
logging:
  level: DEBUG

# Run server
python -m src.server

调试日志包括:

  • 缓存命中/未命中
  • 文件 操作
  • 参数值
  • 执行时间
  • 错误堆栈跟踪

获取帮助

如果您遇到此处未涵盖的问题:

  1. 检查日志: server.log 包含详细的错误信息
  2. 运行测试: pytest tests/ -v 验证安装
  3. 检查文件:参见 docs/ 详细指南文件夹
  4. 打开一个问题: GitHub问题

🛠️ 技术栈

  • Python 3.12+ -带有类型提示的现代Python
  • FastMCP 0.5.0+ -简化的MCP服务器框架
  • 所有23.2.1+ -异步文件I/O以提高性能
  • aiosqlite 0.19.0+ -异步SQLite用于持久缓存
  • Pyoyaml 6.0.1+ -YAML配置解析
  • pytest 7.4.3+ -测试框架
  • SQLite -持久缓存存储
  • 瑞迪斯 (可选)-分布式缓存

🎓 用例

  • 从真实的代码库中学习 -将任何项目转化为课程
  • 机载开发人员 -从代码库生成培训
  • 文档模式 -提取并教授最佳实践
  • 代码审查 -快速了解架构
  • 技术写作 -自动生成文档
  • 基于人工智能的内容丰富 -通过循证解释、类比和练习,将基础课程转化为丰富的教育材料

🤝 贡献

欢迎投稿!看 贡献.md 作为指导方针。

📄 许可证

MIT许可证-请参阅 许可证 了解详情。

🔗 链接

🌟 明星历史

如果你觉得这很有用,请在repo上加星!


内置于❤️ 对于那些想从真实代码中学习的开发人员来说。