c0x12c/ai-toolkit

kotlin-best-practices

Kotlin coding standards including null safety, Either error handling, coroutines, and Exposed ORM patterns.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
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
  • VARCHAR in SQL -- use TEXT
  • Hardcoded strings for enum values
  • Table base class -- use UUIDTable
  • Field injection -- use constructor injection

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills