사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
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



