Copilot instructions
.github/copilot-instructions.mdCopilot instructions
Quality
74/100
Scores the file, not the repository.Length
544 words
42 headings · 9 code blocksRepository
33k
— · pushed 3 days agoLast changed
3 days ago
First indexed 3 days ago.1# Copilot Instruction2请始终使用中文生成 Pull Request 的标题、描述和提交信息345# WxJava - 微信 Java SDK 开发说明67WxJava 是一个支持多种微信平台的完整 Java SDK,包含公众号、小程序、微信支付、企业微信、开放平台、视频号、企点等多种功能模块。89**请始终优先参考本说明,只有在遇到与此内容不一致的意外信息时,才退而使用搜索或 bash 命令。**1011## 高效开发指南1213### 前置条件与环境准备14- **Java 要求**:JDK 8+(项目最低目标为 Java 8)15- **Maven**:推荐 Maven 3.6+(已验证 Maven 3.9.11)16- **IDE**:推荐使用 IntelliJ IDEA(项目针对 IDEA 优化)1718### 引导、构建与校验19克隆仓库后按顺序执行以下命令:2021```bash22# 1. 基础编译(请勿中断 - 约需 4-5 分钟)23mvn clean compile -DskipTests=true --no-transfer-progress24# 超时时间:建议设置 8 分钟以上。实际时间:约 4 分钟2526# 2. 完整打包(请勿中断 - 约需 2-3 分钟)27mvn clean package -DskipTests=true --no-transfer-progress28# 超时时间:建议设置 5 分钟以上。实际时间:约 2 分钟2930# 3. 代码质量校验(请勿中断 - 约需 45-60 秒)31mvn checkstyle:check --no-transfer-progress32# 超时时间:建议设置 3 分钟以上。实际时间:约 50 秒33```3435重要时间说明:36- 绝对不要中断任意 Maven 构建命令37- 编译阶段耗时最长(约 4 分钟),原因是项目包含 34 个模块38- 后续构建会更快,因为存在增量编译39- 始终使用 `--no-transfer-progress` 以减少日志噪音4041### 测试结构42- **测试框架**:TestNG(非 JUnit)43- **测试文件**:共有 298 个测试文件44- **默认行为**:pom.xml 中默认禁用测试(`<skip>true</skip>`)45- **测试配置**:测试需要通过 test-config.xml 提供真实的微信 API 凭据46- **注意**:没有真实微信 API 凭据请不要尝试运行测试,测试将会失败4748## 项目结构与导航4950### 核心 SDK 模块(主要开发区)51- `weixin-java-common/` - 通用工具与基础类(最重要)52- `weixin-java-mp/` - 公众号 SDK53- `weixin-java-pay/` - 微信支付 SDK54- `weixin-java-miniapp/` - 小程序 SDK55- `weixin-java-cp/` - 企业微信 SDK56- `weixin-java-open/` - 开放平台 SDK57- `weixin-java-channel/` - 视频号 / Channel SDK58- `weixin-java-qidian/` - 企点 SDK5960### 框架集成模块61- `spring-boot-starters/` - Spring Boot 自动配置 starter62- `solon-plugins/` - Solon 框架插件63- `weixin-graal/` - GraalVM 本地镜像支持6465### 配置与质量控制66- `quality-checks/google_checks.xml` - Checkstyle 配置67- `.editorconfig` - 代码格式规则(2 个空格等于 1 个制表)68- `pom.xml` - 根级 Maven 配置6970## 开发工作流7172### 修改代码的流程731. 修改前务必先构建以建立干净基线:74```bash75 mvn clean compile --no-transfer-progress76```77782. 遵循代码风格(由 checkstyle 强制):79 - 缩进使用 2 个空格(不要用制表符)80 - 遵循 Google Java 风格指南81 - 在 IDE 中安装 EditorConfig 插件82833. 增量验证修改:84```bash85 # 每次修改后运行:86 mvn compile --no-transfer-progress87 mvn checkstyle:check --no-transfer-progress88```8990### 提交修改前的必须校验91请务必按顺序完成以下校验步骤:92931. 代码风格校验:94```bash95 mvn checkstyle:check --no-transfer-progress96 # 必须通过 - 约需 50 秒97```98992. 完整清理构建:100```bash101 mvn clean package -DskipTests=true --no-transfer-progress102 # 必须成功 - 约需 2 分钟103```1041053. 文档:为公共方法和类补充或更新 javadoc1064. 贡献规范:遵循 `CONTRIBUTING.md`,Pull Request 必须以 `develop` 分支为目标107108## 模块依赖与构建顺序109110### 核心模块依赖(构建顺序)1111. `weixin-graal`(GraalVM 支持)1122. `weixin-java-common`(所有模块的基础)1133. 核心 SDK 模块(mp、pay、miniapp、cp、open、channel、qidian)1144. 框架集成(spring-boot-starters、solon-plugins)115116### 主要关系模式117- 所有 SDK 模块都依赖于 `weixin-java-common`118- Spring Boot starters 依赖对应的 SDK 模块119- Solon 插件遵循与 Spring Boot starters 相同的依赖模式120- 每个模块都有单账号与多账号配置支持121122## 常见任务与命令123124### 验证指定模块125```bash126# 构建单个模块(将 'weixin-java-mp' 替换为目标模块):127cd weixin-java-mp128mvn clean compile --no-transfer-progress129```130131### 检查依赖132```bash133# 分析依赖树:134mvn dependency:tree --no-transfer-progress135136# 检查依赖更新:137./others/check-dependency-updates.sh138```139140### 发布与发布准备141```bash142# 版本检查:143mvn versions:display-property-updates --no-transfer-progress144145# 部署(需要凭据):146mvn clean deploy -P release --no-transfer-progress147```148149## 重要文件与位置150151### 配置文件152- `pom.xml` - 根级 Maven 配置与依赖管理153- `quality-checks/google_checks.xml` - Checkstyle 规则154- `.editorconfig` - IDE 格式化配置155- `.github/workflows/maven-publish.yml` - CI/CD 工作流156157### 文档158- `README.md` - 项目概览与使用说明(中文)159- `CONTRIBUTING.md` - 贡献指南160- `demo.md` - 示例项目与演示链接161- 每个模块均有单独的文档与示例162163### 测试资源164- `*/src/test/resources/test-config.sample.xml` - 测试配置模板165- 测试运行需要真实的微信 API 凭据166167## SDK 使用模式168169### Maven 依赖示例170```xml171<dependency>172 <groupId>com.github.binarywang</groupId>173 <artifactId>weixin-java-mp</artifactId> <!-- 或其他模块 -->174 <version>4.7.0</version>175</dependency>176```177178### 常见开发区域179- **API 客户端实现**:位于 `*/service/impl/` 目录180- **模型类**:位于 `*/bean/` 目录181- **配置**:位于 `*/config/` 目录182- **工具类**:位于 `weixin-java-common` 的 `*/util/` 目录183184## 故障排查185186### 构建问题187- **OutOfMemoryError**:增加 Maven 内存:`export MAVEN_OPTS="-Xmx2g"`188- **编译失败**:通常为依赖问题 - 先执行 `mvn clean`189- **Checkstyle 失败**:检查 IDE 的 `.editorconfig` 设置190191### 常见陷阱192- **测试默认跳过**:这是正常现象 — 测试需要微信 API 凭据193- **多模块变更**:总是在仓库根目录构建,而不是单独模块194- **分支目标**:Pull Request 必须以 `develop` 分支为目标,而不是 `master` 或 `release`195196## 性能说明197- **首次构建**:由于依赖下载,耗时 4-5 分钟198- **增量构建**:通常更快(约 30-60 秒)199- **Checkstyle**:运行迅速(约 50 秒),应当经常运行200- **IDE 性能**:项目使用 Lombok,请确保启用注解处理201202注意:本项目为 SDK 库项目,而非可运行应用。修改应以 API 功能为主,不要改动应用级行为。203
Also in binarywang/WxJava
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| binarywang/WxJavaAGENTS.md · 33k | AGENTS.md | testing-strategygitapiagent-behaviour | 70/100 | 3 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 63 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 3 days ago | |
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| pytorch/pytorch.github/copilot-instructions.md · 102k | Copilot instructions | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| dotnet/roslyn.github/instructions/Compiler.instructions.md · 21k | Copilot instructions | buildteststylearch+3 | 99/100 | 3 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 31k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 2 days ago | |
| hiyouga/LlamaFactory.github/copilot-instructions.md · 74k | Copilot instructions | setupbuildtestlint-format+5 | 97/100 | 2 days ago | |
| rtk-ai/rtk.github/copilot-instructions.md · 75k | Copilot instructions | buildtestlint-formatstyle+2 | 97/100 | 3 days ago | |
| dotnet/roslyn.github/copilot-instructions.md · 21k | Copilot instructions | buildteststylearch+3 | 97/100 | 3 days ago |
