其他

贡献指南

欢迎参与 karin-plugin-kkk 的开发与贡献

贡献指南

感谢你对 karin-plugin-kkk 感兴趣!我们需要你的帮助来让这个项目变得更好。

无论是修复 Bug、添加新功能,还是改进文档,我们都非常欢迎。

准备工作

在开始之前,请确保你的开发环境满足以下要求:

项目结构

本项目采用 Monorepo 结构,主要包含以下部分:

  • packages/core: 核心插件代码 (karin-plugin-kkk),包含主要业务逻辑。
  • packages/template: React SSR 渲染器,生成 HTML 文件。
  • packages/amagi: 接口库 (Git Submodule),处理各平台的 API 请求与签名。
  • packages/docs: 文档站点,基于 Next.jsFumadocs

packages/amagi 是一个 Git 子模块。如果你需要修改 API 相关的逻辑(如签名算法),请不要直接修改该目录。你需要前往 amagi 仓库 提交 Pull Request。

开发流程

Fork 本仓库

点击项目主页右上角的 Fork 按钮,将仓库 Fork 到你的 GitHub 账户下。

克隆仓库

将你 Fork 后的仓库克隆到本地。由于项目包含子模块,克隆时需要初始化子模块:

# 替换为你的 GitHub 用户名
git clone --recursive https://github.com/你的用户名/karin-plugin-kkk.git

# 或者如果你已经克隆了仓库但没有子模块
git submodule update --init --recursive

安装依赖

使用 pnpm 安装所有依赖:

pnpm install

启动开发环境

根据你要修改的内容,启动相应的开发环境:

  • 开发插件核心 (packages/core):

    pnpm watch
  • 开发模板 (packages/template):

    pnpm template
  • 预览文档 (packages/docs):

    pnpm docs

提交代码

我们遵循 Conventional Commits 规范。

提交信息的格式如下:

<type>(<scope>): <subject>

例如:

  • feat(core): 支持解析新的分享链接
  • fix(template): 修复动态卡片样式错乱
  • docs: 更新贡献指南

提交 Pull Request

  1. 推送到你的 Fork 仓库:
    git push origin feature/amazing-feature
  2. 在 GitHub 上向原仓库提交 Pull Request。

常见问题

如何更新子模块?

如果你发现 packages/amagi 落后于上游,可以使用以下命令更新:

git submodule update --remote

遇到 TypeScript 类型错误?

尝试重新构建整个项目或重新安装依赖:

pnpm install
pnpm build

Last updated on

On this page