其他
贡献指南
欢迎参与 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.js 和 Fumadocs。
packages/amagi 是一个 Git 子模块。如果你需要修改 API 相关的逻辑(如签名算法),请不要直接修改该目录。你需要前往 amagi 仓库 提交 Pull Request。
开发流程
克隆仓库
将你 Fork 后的仓库克隆到本地。由于项目包含子模块,克隆时需要初始化子模块:
# 替换为你的 GitHub 用户名
git clone --recursive https://github.com/你的用户名/karin-plugin-kkk.git
# 或者如果你已经克隆了仓库但没有子模块
git submodule update --init --recursive启动开发环境
根据你要修改的内容,启动相应的开发环境:
-
开发插件核心 (
packages/core):pnpm watch -
开发模板 (
packages/template):pnpm template -
预览文档 (
packages/docs):pnpm docs
提交代码
我们遵循 Conventional Commits 规范。
提交信息的格式如下:
<type>(<scope>): <subject>例如:
feat(core): 支持解析新的分享链接fix(template): 修复动态卡片样式错乱docs: 更新贡献指南
提交 Pull Request
- 推送到你的 Fork 仓库:
git push origin feature/amazing-feature - 在 GitHub 上向原仓库提交 Pull Request。
常见问题
如何更新子模块?
如果你发现 packages/amagi 落后于上游,可以使用以下命令更新:
git submodule update --remote遇到 TypeScript 类型错误?
尝试重新构建整个项目或重新安装依赖:
pnpm install
pnpm buildLast updated on