Jutge工具包
控件上创建和管理编程问题的强大命令行工具包 Jutge.org 平台。
关键特性
- 📝从零开始或使用模板创建新问题
- 🤖使用JutgeAI生成问题
- 🔧编译和测试多种编程语言的解决方案
- 📄自动生成PDF, HTML, Markdown和文本格式的语句
- ✅根据测试用例验证解决方案
- 🎬与Jutge.org规范匹配的阶段问题
- ☁️直接上传和更新问题到Jutge.org
- ✨美观的终端界面,带有彩色输出和帮助
文档
安装
该工具包需要 包子 作为JavaScript运行时。遵循平台的安装指南:
快速安装
如果你已经安装了Bun:
bun install --global @jutge.org/toolkit
安装验证:
jtk --version
开始使用
快速入门
# Get help
jtk
jtk --help
# Check system dependencies
jtk doctor
# Ask JutgeAI for help (requires API key setup)
jtk ask "How do I create a problem?"
# Clone a template problem interactively
jtk clone
# Generate a new problem with AI
jtk generate problem
# Build problem files
cd my-problem.pbm
jtk make
# Verify a solution (locally)
jtk verify candidate.py
# Upload to Jutge.org
jtk upload
# Submit a solution to Jutge.org
jtk submit candidate.py
有关完整的演练,请参阅 入门指南.
流程概述
-
制造问题
- 使用
jtk clone从模板开始 - 使用
jtk generate problem用JutgeAI来创作 - 如果愿意,手动创建问题结构
- 使用
-
编辑问题
- 根据需要修改语句、测试用例和解决方案
- 使用
jtk generate translations添加多语言支持 - 使用
jtk generate solutions添加替代解决方案 - 使用
jtk generate generate tests创建测试用例生成器
-
构建问题
- 运行
jtk make构建所有问题元素(陈述、解决方案、正确的测试用例)
- 运行
-
可选:本地验证候选解决方案
- 使用
jtk verify <solution>测试候选解决方案的正确性
- 使用
-
可选:将问题分级
- 运行
jtk stage来存放将被Jutge.org使用的文件
- 运行
-
上传问题
-
使用
jtk upload把这个问题发表在Jutge.org上记住,Jutge.org不会生成正确的测试用例;你必须提供它们。
-
-
可选:将候选解决方案提交到Jutge.org测试
-
使用
jtk submit -l <language> <solution>用一种特定的语言将解决方案提交给Jutge.org为了提交候选解决方案,您需要将问题上传到Jutge.org。这个解决方案将由Jutge.org评判,你将得到它的裁决。
-
常用命令
# Configuration
jtk config show # View current configuration
jtk config set <key> <value> # Set a configuration value
jtk config edit # Edit configuration file
# Problem Creation
jtk clone [template] # Clone a template problem
jtk generate problem # Generate problem with AI
jtk generate translations en es ca # Add statement translations
jtk generate solutions python cpp # Generate solutions in other languages
# Building and Testing
jtk make # Build all problem elements
jtk make pdf # Generate PDF statements only
jtk verify <program> # Test a solution
jtk lint # Lint (analyze for errors and warnings) the problem
jtk clean # Clean temporary files
# Staging
jtk stage # Stage problem for Jutge.org
# Publishing
jtk upload # Upload problem to Jutge.org
# Removing
jtk remove # Remove problem from Jutge.org
# Testing
jtk submit -l en candidate.py # Submit a candidate solution to Jutge.org
# Sharing settings
jtk share # Show and update sharing settings (passcode, testcases, solutions)
jtk share --passcode <code> # Set a passcode
jtk share --no-passcode # Clear the passcode
jtk share --testcases # Share testcases
jtk share --solutions # Share solutions
# Maintenance
jtk upgrade # Update to latest version
jtk doctor # Check system dependencies
jtk about # Show toolkit information
要求
核心需求
- 包子 - JavaScript运行时(必需)
可选依赖关系
- 乳胶 (用于生成PDF) - texlive- extex, texlive-fonts-recommended
- Pandoc (用于格式转换)
- 编程语言编译器/解释器 - Python, GCC/ g++, Java等(取决于你的需要)
运行 jtk doctor 来检查系统上安装了哪些依赖项。
支持
- 文档: 检查 文档 详细指南资料夹
- 得到帮助: 使用
jtk ask "your question"获得人工智能的帮助 - 问题: 报告bug和特性请求 GitHub的问题
- 社区: 访问 Jutge.org 对于问题平台
许可证
Apache License 2.0
学分
©加泰罗尼亚政治大学-巴塞罗那科技(UPC), 2026。