# xiunox-plugin-dev-skill **Repository Path**: wfdaj/xiunox-plugin-dev-skill ## Basic Information - **Project Name**: xiunox-plugin-dev-skill - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-15 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XIUNOX Plugin Dev Skill XIUNOX(XiunoBBS Next)插件开发知识库,为 AI 编码助手提供专业上下文,辅助插件开发、规范检查和旧插件迁移。 适用于 **TRAE**、**Codex (OpenAI)**、**Claude Code**、**Cursor**、**Windsurf**、**WorkBuddy**、**Cline**、**Aider** 等 AI 编码工具。 ## 功能 - 插件架构设计与开发(hook 系统、编译时合并机制) - 插件规范检查(安全、性能、兼容性) - 旧插件迁移(jQuery/Alpine.js → htmx 4) - 调试插件不生效问题 - 用户封禁系统接入 - AIEditor 富文本编辑器集成 - 路由表扩展与缓存系统 ## 文件结构 ``` . ├── SKILL.md # 主文件(触发条件 + 完整开发手册) ├── README.md # 本文件 └── references/ ├── ai-rules.md # AI 代码生成规则清单(禁止/必须/检查流程) ├── api-cheatsheet.md # 核心 API 速查(DB/输入输出/安全/缓存/分页) └── hooks-catalog.md # Hook 完整目录(所有可用注入点) ``` ## 各 AI 工具接入方式 ### TRAE 将本仓库克隆到 TRAE 的 Skill 目录,通过 `skill-creator` 或手动配置注册: ```bash git clone https://github.com/domidesign/xiunox-plugin-dev-skill.git ``` 在 `SKILL.md` 的 frontmatter 中已定义触发条件,对话中提到插件开发相关需求时自动激活。 ### Codex (OpenAI) 在项目根目录创建 `AGENTS.md`,将 `SKILL.md` 内容粘贴进去,Codex 会自动读取作为项目指令: ```bash cp SKILL.md AGENTS.md ``` 或只引用关键规则: ```markdown # AGENTS.md XIUNOX 插件开发规则见 docs/xiunox-plugin-dev/SKILL.md 开发前必读 references/ai-rules.md ``` ### Claude Code 在项目根目录创建 `CLAUDE.md`,Claude Code 会自动读取: ```bash cp SKILL.md CLAUDE.md ``` 或将知识库放在项目中并引用: ```markdown # CLAUDE.md XIUNOX 插件开发知识库:docs/xiunox-plugin-dev/ - 开发手册:SKILL.md - 代码规则:references/ai-rules.md - API 速查:references/api-cheatsheet.md - Hook 目录:references/hooks-catalog.md ``` ### Cursor 在项目根目录创建 `.cursor/rules/` 目录,将规则文件放入: ```bash mkdir -p .cursor/rules cp SKILL.md .cursor/rules/xiunox-plugin-dev.mdc ``` 或在 Cursor Settings → Rules 中手动添加规则,粘贴 `references/ai-rules.md` 内容。 ### Windsurf 在项目根目录创建 `.windsurfrules` 文件: ```bash cp references/ai-rules.md .windsurfrules ``` Windsurf 会自动读取作为编码上下文。更完整的手册可附加 `SKILL.md` 内容。 ### WorkBuddy 在项目根目录创建 `.workbuddy/` 目录,放入上下文文件: ```bash mkdir -p .workbuddy cp SKILL.md .workbuddy/xiunox-plugin-dev.md cp -r references/ .workbuddy/references/ ``` ### Cline 在项目根目录创建 `.clinerules` 文件: ```bash cp references/ai-rules.md .clinerules ``` ### Aider 使用 `--file` 参数或 `.aider.conf.yml` 指定上下文文件: ```bash aider --file SKILL.md --file references/ai-rules.md ``` 或在 `.aider.conf.yml` 中配置: ```yaml files: - SKILL.md - references/ai-rules.md - references/api-cheatsheet.md - references/hooks-catalog.md ``` ### 通用方式(适用于所有工具) 将本仓库克隆到项目中,在 AI 工具的项目指令文件中引用: ```bash git clone https://github.com/domidesign/xiunox-plugin-dev-skill.git docs/xiunox-plugin-dev ``` 然后在对应的指令文件中添加一行引用即可。 ## 使用示例 在 AI 对话中直接提出 XIUNOX 插件开发需求: - "帮我写一个签到插件" - "调试插件不生效的问题" - "把这个 jQuery 插件迁移到 htmx 4" - "检查 xnx_checkin 插件是否符合规范" - "帮我给插件加上用户封禁场景化检查" - "AIEditor 工具栏加一个自定义按钮" ## 核心规则 - 前端使用 htmx 4 + Bootstrap 5.3 + Tabler Icons(禁止 jQuery/Alpine.js) - XSS 防护使用 `esc_html()`/`esc_attr()`/`esc_js()` - 所有 POST 表单必须带 CSRF 保护 - 缓存使用 `CacheHelper::remember()` 替代裸 `cache_get/cache_set` - URL 生成使用 `url()` 函数,禁止硬编码 `.htm` 后缀 - 插件命名必须带前缀,禁止使用 `xn_`/`xnx_` 官方预留前缀 - 数据库表必须使用 `utf8mb4` - 生产环境(DEBUG=0)走 `tmp/model.min.php` 合并加载,调用核心 Service 前必须 `include_once` ## 许可证 MIT