使用方法
- 复制安装命令,在自己的智能体环境安装前先检查源码包。
- 从原始文档核对所需工具、凭据和支持的宿主。
- 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/c0x12c/ai-toolkit --skill kotlin-best-practices开始前需了解
- 安装不包含模型订阅、API 额度或访问文件的权限。
- 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。
Kotlin Best Practices — Quick Reference
Null Safety
!! is banned. Use ?., ?:, or null check for smart cast.
See code-patterns.md for all null safety examples.
Either Error Handling
Managers return Either<ClientException, T> -- never throw. Controllers unwrap with .throwOrValue().
See code-patterns.md for manager + controller examples.
Enum Usage
Never hardcode strings when an enum exists. Use EnumName.VALUE.value everywhere.
See code-patterns.md for enum definition and usage patterns.
Exposed ORM Patterns
Extend UUIDTable, use text() not varchar(). Always filter deletedAt.isNull(). Soft delete via timestamp update, never hard delete.
See code-patterns.md for table, query, and soft delete examples.
Transaction Rules
Reads use db.replica, writes use db.primary. Multi-table writes go in one transaction block -- all succeed or all rollback.
See code-patterns.md for transaction examples.
Conversion Pattern
Put companion object { fun from(entity) } inside Response DTOs. Never create separate mapper files.
See code-patterns.md for the full pattern.
What to Avoid
!!-- always use?.,?:, or null check@Suppress-- fix the root cause- Throwing exceptions -- return
Either.left()instead VARCHARin SQL -- useTEXT- Hardcoded strings for enum values
Tablebase class -- useUUIDTable- Field injection -- use constructor injection



