@jutge.org/toolkit

中文文档
4.4.53发布于 2026/11/01ES Module

工具包,为Jutge.org准备问题

中文使用文档
文档目录14 节
  1. 关键特性
  2. 文档
  3. 安装
  4. 快速安装
  5. 开始使用
  6. 快速入门
  7. 流程概述
  8. 常用命令
  9. 要求
  10. 核心需求
  11. 可选依赖关系
  12. 支持
  13. 许可证
  14. 学分

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

有关完整的演练,请参阅 入门指南.

流程概述

  1. 制造问题

    • 使用 jtk clone 从模板开始
    • 使用 jtk generate problem 用JutgeAI来创作
    • 如果愿意,手动创建问题结构
  2. 编辑问题

    • 根据需要修改语句、测试用例和解决方案
    • 使用 jtk generate translations 添加多语言支持
    • 使用 jtk generate solutions 添加替代解决方案
    • 使用 jtk generate generate tests 创建测试用例生成器
  3. 构建问题

    • 运行 jtk make 构建所有问题元素(陈述、解决方案、正确的测试用例)
  4. 可选:本地验证候选解决方案

    • 使用 jtk verify <solution> 测试候选解决方案的正确性
  5. 可选:将问题分级

    • 运行 jtk stage 来存放将被Jutge.org使用的文件
  6. 上传问题

    • 使用 jtk upload 把这个问题发表在Jutge.org上

      记住,Jutge.org不会生成正确的测试用例;你必须提供它们。

  7. 可选:将候选解决方案提交到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。

版本与发布记录

@jutge.org/toolkit 共发布 82 个版本,首次发布于 2026/01/09;过去 12 个月发布了 82 个版本。

版本发布日期距今
4.4.53latest2026/11/011 天前
4.4.522026/10/313 天前
4.4.512026/10/2410 天前
4.4.502026/10/1519 天前
4.4.482026/09/281 个月前
4.4.462026/06/174 个月前

关于 @jutge.org/toolkit 的常见问题

@jutge.org/toolkit 是什么?

工具包,为Jutge.org准备问题

如何安装 @jutge.org/toolkit?

在项目目录运行 npm install @jutge.org/toolkit,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typescript(^7.0.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 jtk、jtk-dev、jutge-toolkit,可以用 npx jtk 直接运行。

@jutge.org/toolkit 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/jutge.org__toolkit 是否存在。

@jutge.org/toolkit 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@jutge.org/toolkit 可以商用吗?

@jutge.org/toolkit 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@jutge.org/toolkit 还在维护吗?

最新版本 4.4.53 发布于 2026/11/01(1 天前);至今共发布 82 个版本,其中过去 12 个月发布了 82 个;首次发布于 2026/01/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。