Skip to content

📝 优化 Issue 模板并添加 YAML 校验#1524

Merged
CodFrm merged 5 commits into
mainfrom
refactor/issue-template/001
Jul 2, 2026
Merged

📝 优化 Issue 模板并添加 YAML 校验#1524
CodFrm merged 5 commits into
mainfrom
refactor/issue-template/001

Conversation

@cyfung1031

@cyfung1031 cyfung1031 commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator

本 PR 优化 ScriptCat 的 GitHub Issue Templates,并新增 YAML / YML 校验脚本接入 pre-commit,避免 issue form 模板因 YAML 语法错误而失效。

Checklist / 检查清单

  • Fixes mentioned issues / 修复已提及的问题
  • Code reviewed by human / 代码通过人工检查
  • Changes tested / 已完成测试

Description / 描述

Issue 模板改动

  • 优化 Bug Report 模板

    • 增加 ScriptCat 渠道、Manifest 模式、设备类型、浏览器/扩展状态等字段
    • 更明确地区分扩展本体、脚本安装/导入导出、同步、后台/定时脚本、移动端、性能等问题类型
  • 优化 Userscript Compatibility 模板

    • 专门用于用户脚本兼容性问题
    • 要求提供脚本链接、目标网站、metadata、与 Tampermonkey / Violentmonkey 等管理器的对比结果
    • 修复 YAML 中 @match@connect@require 等选项未加引号导致的解析问题
  • 优化 Feature Request 与 Technical Proposal 模板

    • 更清晰地区分普通功能请求与技术方案/重构提案
    • 增加 API / UI 草案、兼容性、安全影响、迁移影响、测试计划等字段
  • 新增 Documentation 模板

    • 用于反馈文档错误、缺失、过期、示例不清楚等问题
  • 新增 Translation 模板

    • 用于反馈界面、文档、README 或 issue 模板中的翻译问题
    • 支持补充语言、原文、建议译文和上下文
  • 更新 Issue Template config

    • 关闭空白 issue
    • 增加安全漏洞、社区支持、文档入口等 contact links

YAML 校验改动

  • 新增 scripts/validate-yaml.mjs

    • 校验 .yaml / .yml 文件语法
    • 默认只检查 staged YAML 文件,适合 pre-commit 使用
    • 支持 --all 参数检查仓库内所有 YAML / YML 文件
    • 使用 yaml 包解析文件,并输出具体错误位置
  • 新增 package scripts

    • validate:yaml:校验 staged YAML / YML 文件
    • validate:yaml:all:校验所有 YAML / YML 文件
  • 更新 pre-commit hook

    • pnpm run lint 前先运行 pnpm run validate:yaml
    • 如果 YAML 语法错误,直接阻止提交
    • 保留原有 lint 和 main / release 分支上的测试逻辑

背景

ScriptCat 是浏览器用户脚本管理器,问题来源涉及浏览器扩展、MV2/MV3、用户脚本兼容性、GM/CAT API、同步备份、移动端适配、后台/定时脚本、编辑器和多语言文档等多个维度。

原有模板较难收集这些项目特有信息,导致 issue triage 时经常需要反复追问版本、浏览器、脚本链接、metadata、日志来源和复现步骤。

同时,GitHub Issue Form 使用 YAML 格式,语法错误会导致模板无法正常显示或加载。例如以下以 @ 开头且未加引号的选项会导致 YAML 解析失败:

- @match / @include / @exclude
- @connect
- @require / @resource

Screenshots / 截图

  • yaml 檢查器 (pre-commit)
Screenshot 2026-06-29 at 8 29 04

P.S. 1.4 使用的 pre-commit 跟 main 的不一样。到时候要注意合并!

@cyfung1031 cyfung1031 requested a review from CodFrm June 28, 2026 23:37
@cyfung1031

cyfung1031 commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator Author

@CodFrm

CodFrm commented Jul 1, 2026

Copy link
Copy Markdown
Member

写正确了,不需要校验吧

@cyfung1031

Copy link
Copy Markdown
Collaborator Author

写正确了,不需要校验吧

日后写其他 yaml 文件不会踩坑

@CodFrm CodFrm left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

先合并看看效果

Comment thread .husky/pre-commit Outdated
exit 0
fi

pnpm run validate:yaml || exit 1

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以不用,几乎不怎么会改github yaml文件

@CodFrm

CodFrm commented Jul 2, 2026

Copy link
Copy Markdown
Member

已补了一个提交:40ffa78a 🔧 fix issue template config

处理内容:

  • .github/ISSUE_TEMPLATE/config.yaml 改名为 GitHub issue template chooser 文档使用的 .github/ISSUE_TEMPLATE/config.yml,确保 blank_issues_enabledcontact_links 生效。
  • .husky/pre-commit 移除 pnpm run validate:yaml,避免每次提交都额外跑 YAML 校验;validate:yaml / validate:yaml:all 脚本本身仍保留,可手动或 CI 使用。
  • 保留模板中原来的细分 labels,并已在仓库实际创建缺失 labels:userscriptproposaltechnicali18ntranslation

我本地验证过:

  • pnpm run validate:yaml:all 通过。
  • issue template 中引用的 labels 均已存在于 scriptscat/scriptcat

PR 已推送到 refactor/issue-template/001,当前 GitHub Actions 正在重新跑。

@CodFrm CodFrm merged commit 4da7112 into main Jul 2, 2026
4 checks passed
@CodFrm CodFrm deleted the refactor/issue-template/001 branch July 2, 2026 02:29
@CodFrm

CodFrm commented Jul 2, 2026

Copy link
Copy Markdown
Member
QQ_1782959438368

太长一页了,要不还是和之前一样的双语呢?

CodFrm added a commit that referenced this pull request Jul 3, 2026
以 azizaktas:develop/new-ui 为准解决 src/locales 冲突:
- 新增 tr-TR 翻译(12 个命名空间)与 chrome _locales/tr
- locales.ts / relative-date.ts 注册 tr
- 采纳 en-US 拼写修正(exclude_off / export_success / normal-tabs / incognito-tabs)

保留上游改动:#1524 issue 模板与 validate-yaml、README/赞助商更新、package.json validate:yaml 脚本。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants