基于 CodeSpirit 项目规范进行系统化代码审查。检查安全、数据库、异步编程、多语言、DTO、控制器、服务类等规范。当用户需要审查代码、检查代码质量、或准备提交代码时使用。
CodeSpirit 代码审查采用三级优先级体系:
明确需要审查的文件列表(通过 git status、文件列表等方式)。
按优先级依次检查,发现严重问题立即标记:
安全与数据保护 → 📖 详细规范
[JsonIgnore])数据库与迁移 → 📖 详细规范
ValueGeneratedNever() 配置IMultiTenant 接口异步编程 → 📖 详细规范
Task.Result 或 Task.Wait() 阻塞调用反射调用(新增)
依赖注入 → 📖 详细规范
包管理 → 📖 详细规范
多语言国际化 → 📖 详细规范
_localizer)[Display] 特性DTO 规范 → 📖 详细规范
[Required]、[StringLength])QueryDtoBase控制器规范 → 📖 详细规范
[DisplayName] 特性ActionResult<ApiResponse<T>>服务类规范 → 📖 详细规范
BaseCRUDService 或实现 IBaseCRUDServiceEF Core 查询优化
AsNoTracking()Include())使用 report-template.md 生成结构化审查报告:
CodeSpirit 采用自动权限生成,大部分情况无需配置 [Permission] 特性。
[RequirePermission](框架自动生成)[Permission] 配置[AllowAnonymous]示例:
// ✅ 自动生成权限(无需配置)
[HttpPost]
[DisplayName("创建用户")]
public async Task<ActionResult> Create(CreateDto dto) { }
// ✅ 需要权限继承时才配置
[HttpPut("{id}")]
[Permission(AllowInheritedPermissions = new[] { "users_manage" })]
[DisplayName("更新用户")]
public async Task<ActionResult> Update(long id, UpdateDto dto) { }
// ❌ 错误
method?.Invoke(null, new object[] { services, configuration });
// ✅ 正确:使用回调委托
this.ConfigureStandardInfrastructureServices(services, configuration, (s, c) =>
{
s.AddCodeSpiritMultiTenant(c);
});
// ❌ 错误
return SuccessResponse("操作成功!");
// ✅ 正确
return SuccessResponse(message: _localizer["Common.Save"].Value);
// ❌ 错误
var result = _repository.GetListAsync().Result;
// ✅ 正确
var result = await _repository.GetListAsync();
// ❌ 错误
public class Question : AuditableEntityBase<long> { }
// ✅ 正确
public class Question : AuditableEntityBase<long>, IMultiTenant
{
public string TenantId { get; set; } = string.Empty;
}
Task.Result、Task.Wait()、method.Invoke、硬编码字符串Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer