AI编程挑战生成器

DojoCode Challenge Creator是一个基于AI和MCP协议的编程挑战生成工具,能够通过自然语言描述自动生成包含初始代码、解决方案和测试套件的完整挑战包,并直接发布到DojoCode平台。

  • by dojo-coder
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 dojo-coder/challenge-creator

使用说明

提示挑战

使用AI驱动的工具和MCP在DojoCode上创建编码挑战。

概述

DojoCode Challenge Creator是一个用于在 DojoCode 平台。它通过 模型上下文协议(MCP) 从自然语言描述中生成完整的挑战包,包括入门代码、解决方案和测试套件。连接您喜欢的AI编码工具,描述一个挑战,并将其直接发布到DojoCode。

特性

  • 通过自然语言创建AI驱动的挑战
  • MCP与Claude Code、Codex、Cursor、VS Code Copilot、Gemini CLI等集成
  • 18个语言/框架模板 (终端+浏览器)
  • 结构化输出:起始代码、解决方案、测试套件
  • 自动打包并上传至 DojoCode
  • 每个受支持模板的示例挑战

支持的语言和框架

终端

模板 语言 测试框架
nodejs-jest Javascript 杰斯特
nodets-jest TypeScript 杰斯特
python Python pytest
php PHP PHP
java Java JUnit木星
ruby Ruby RSpec
rust Rust 内置测试
c C 标准
cpp C++ Catch2
solidity 固体 摩卡

浏览器

模板 框架 测试框架
reactjs-jest React(Javascript) Jest+测试库
reactts-jest React(TypeScript) Jest+测试库
vuejs-jest Vue.js 是 + 测试库
vuets-jest Vue.js(TypeScript) Jest+测试库
svelte-jest Svelte Jest+测试库
angular-jest Angular Jest+测试库
vanillajs-jest Vanilla JS Jest+测试库
vanillats-jest Vanilla TS Jest+测试库

需求

快速开始

  1. 克隆仓库

    git clone https://github.com/dojo-coder/challenge-creator.git
    cd challenge-creator
    
  2. 安装依赖项

    npm install
    
  3. 通过MCP连接您的AI工具 --看 IDE设置 在......下面

  4. 开始创造挑战 --用自然语言描述一个挑战,人工智能将生成一切

IDE设置

所有支持的工具都包含预配置的MCP文件。按照IDE的设置指南进行操作:

AI工具 配置文件 设置指南
克劳德代码 .mcp.json Claude代码设置
食品法典委员会 .codex/config.toml Codex设置
光标 .cursor/mcp.json 光标设置
VS代码(副本) .vscode/mcp.json VS代码设置
Gemini CLI .gemini/settings.json Gemini CLI设置
其他MCP客户端 手动配置 使用端点: https://api.dojocode.io/api/v1/mcp

用法

连接后,描述你在人工智能工具中想要什么。示例提示:

create a challenge on data structures and strings in javascript
get the challenge with id X from live and update main file with more debug messages for all templates
add python translation for fizz-buzz-challenge and update on live
fully test the challenge fizz-buzz-challenge for template nodejs-jest

看 AGENTS.md 查看工作流和MCP命令的完整列表。

有关分步演练,请查看 挑战创造指南 在文档中。

运作原理

  1. 描述 --告诉AI你想创造什么挑战
  2. 生成 --AI根据中的模板生成启动代码、解决方案、测试和元数据 AGENTS.md
  3. 包裹 --文件被捆绑到 exportedContent.zip 通过 createExportContent.js
  4. 发布 --挑战已上传至 DojoCode 通过 MCP命令
  5. 审查 --通过自动测试运行进行验证(初始测试、所有测试、预加载文件测试)

项目结构

challenge-creator/
├── .codex/config.toml           # Codex MCP config
├── .cursor/mcp.json             # Cursor MCP config
├── .gemini/settings.json        # Gemini CLI MCP config
├── .vscode/mcp.json             # VS Code MCP config
├── .mcp.json                    # Claude Code MCP config
├── AGENTS.md                    # AI agent guidelines & workflows
├── CLAUDE.md                    # Claude-specific instructions
├── CONTRIBUTING.md              # Contribution guidelines
├── LICENSE                      # MIT License
├── README.md                    # This file
├── package.json                 # Project dependencies
├── createExportContent.js       # Packages challenge files into zip
├── uploadChallengeFiles.js      # Uploads challenge zip to DojoCode
├── downloadChallengeFiles.js    # Downloads challenges from DojoCode
├── challenges/                  # Your generated challenges go here
│   └── .gitkeep
├── samples/                     # Reference challenges for all 18 templates
│   ├── nodejs-example-challenge/
│   ├── python-example-challenge/
│   ├── reactjs-example-challenge/
│   └── ... (18 templates)
└── temp/                        # Temporary working directory

挑战结构

每个生成的挑战都遵循以下结构:

challenges/[challenge-name]/
├── challengeCreate.json              # Platform metadata (after creation)
└── templates/
    └── [template-name]/
        ├── details.json              # Title and description
        ├── README.md                 # Challenge description (for zip export)
        ├── metadata.json             # Variation ID, main file path, active file
        ├── preloadedFiles/           # Starter code for students
        ├── preloadedFiles.json       # File visibility config
        ├── solutionFiles/            # Complete solution
        ├── solutionFiles.json        # File visibility config
        ├── initialTests/             # Basic test cases (5-7 tests)
        ├── initialTests.json         # File visibility config
        ├── allTests/                 # Comprehensive tests (8-12 tests)
        ├── allTests.json             # File visibility config
        └── exportedContent.zip       # Packaged for upload

关于DojoCode

DojoCode 是一个免费的在线编码平台,您可以在浏览器中解决挑战、参加竞赛以及与其他开发人员协作。

  • 无需设置 --直接在浏览器中编码和测试
  • 12+种语言 --JavaScript、Python、Java、Go、Rust、C++、C#、PHP、Ruby、TypeScript、Solidity等
  • AI助手 --获得人工智能提供的提示和解释
  • 自动化测试 --每个挑战都有内置的测试套件
  • 实时协作 --实时将程序与其他程序配对
  • 竞赛 --与全球开发者竞争
  • 游戏化 --获得XP, 升级,并解锁成就

浏览挑战 · 阅读文档 · 加入Discord

贡献

我们欢迎捐款!看 贡献.md 作为指导方针。

许可证

该项目根据MIT许可证获得许可——请参阅 许可证 文件以获取详细信息。

反馈与支持