# @jutge\.org/toolkit 中文文档

规范地址：https://npmcn.com/package/%40jutge.org/toolkit/

版本：4\.4\.53
npm 元数据更新时间：2026-11-01T13:08:44.110Z
中文译文更新时间：2026-11-01T14:56:00.652Z
软件包许可：未声明

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40jutge.org/toolkit
原文对照：https://npmcn.com/package/%40jutge.org/toolkit/?lang=original
项目主页：https://jutge.org/
源码仓库：https://github.com/jutge-org/jutge-toolkit

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：25.8 MB，359 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：36 个
- peer 依赖：typescript ^7\.0\.2
- 首次发布：2026-01-09T07:21:27.623Z
- 最新版本发布：2026-11-01T13:08:43.881Z
- 已发布版本数：82（近 12 个月 82 个）

## 中文简介

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

## 安装

```sh
npm install @jutge.org/toolkit
```

也可以使用：`pnpm add @jutge.org/toolkit`、`yarn add @jutge.org/toolkit`、`bun add @jutge.org/toolkit`

## README

# Jutge工具包

控件上创建和管理编程问题的强大命令行工具包 [Jutge.org](https://jutge.org/) 平台。

## 关键特性

-   📝从零开始或使用模板创建新问题
-   🤖使用JutgeAI生成问题
-   🔧编译和测试多种编程语言的解决方案
-   📄自动生成PDF， HTML， Markdown和文本格式的语句
-   ✅根据测试用例验证解决方案
-   🎬与Jutge.org规范匹配的阶段问题
-   ☁️直接上传和更新问题到Jutge.org
-   ✨美观的终端界面，带有彩色输出和帮助

## 文档

-   **[入门指南](https://npmcn.com/package/%40jutge.org/toolkit/docs/getting-started-guide.md)** —完整的toolkit使用指南
-   **[问题剖析](https://npmcn.com/package/%40jutge.org/toolkit/docs/problem-anatomy.md)** -理解问题结构和文件
-   **[测验解剖学](https://npmcn.com/package/%40jutge.org/toolkit/docs/quiz-anatomy.md)** -理解测验问题和问题类型
-   **[JutgeAI特性](https://npmcn.com/package/%40jutge.org/toolkit/docs/jutge-ai.md)** -使用AI生成内容
-   **[命令参考](https://npmcn.com/package/%40jutge.org/toolkit/docs/reference.md)** —所有命令和选项的完整参考

## 安装

该工具包需要 [包子](https://bun.sh/) 作为JavaScript运行时。遵循平台的安装指南：

-   **[Linux安装指南](https://npmcn.com/package/%40jutge.org/toolkit/docs/install-linux.md)**
-   **[macOS安装指南](https://npmcn.com/package/%40jutge.org/toolkit/docs/install-macos.md)**
-   **[Windows安装指南](https://npmcn.com/package/%40jutge.org/toolkit/docs/install-windows.md)**

### 快速安装

如果你已经安装了Bun：

```bash
bun install --global @jutge.org/toolkit
```

安装验证：

```bash
jtk --version
```

## 开始使用

### 快速入门

```bash
# 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
```

有关完整的演练，请参阅 [入门指南](https://npmcn.com/package/%40jutge.org/toolkit/docs/getting-started-guide.md).

## 流程概述

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评判，你将得到它的裁决。
        

## 常用命令

```bash
# 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
```

## 要求

### 核心需求

-   [包子](https://bun.sh/) - JavaScript运行时（必需）

### 可选依赖关系

-   **乳胶** （用于生成PDF） - texlive- extex, texlive-fonts-recommended
-   **Pandoc** （用于格式转换）
-   **编程语言编译器/解释器** - Python, GCC/ g++， Java等（取决于你的需要）

运行 `jtk doctor` 来检查系统上安装了哪些依赖项。

## 支持

-   **文档:** 检查 [文档](https://npmcn.com/package/%40jutge.org/toolkit/docs/) 详细指南资料夹
-   **得到帮助:** 使用 `jtk ask "your question"` 获得人工智能的帮助
-   **问题:** 报告bug和特性请求 [GitHub的问题](https://github.com/jutge-org/jutge-toolkit/issues)
-   **社区:** 访问 [Jutge.org](https://jutge.org/) 对于问题平台

## 许可证

Apache License 2.0

## 学分

-   [乔迪小](https://github.com/jordi-petit)
-   [保罗·费尔南德斯](https://github.com/pauek)

©加泰罗尼亚政治大学-巴塞罗那科技（UPC）， 2026。

## 常见问题

### @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 和提交记录判断。

