mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-04-24 13:44:58 +00:00
feat: Enhance language-specific guidelines for Kotlin and Python in codex-skill.yaml
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
style:
|
||||
paradigm: "OO"
|
||||
framework_bias: "Spring-like layering"
|
||||
layering_bias: "Controller -> Service -> Repository with explicit domain/data layers"
|
||||
class_file_bias: "small"
|
||||
dataclass_bias: "strong"
|
||||
|
||||
@@ -39,6 +40,20 @@ layering_by_language:
|
||||
domain: ["domain", "entities", "value-objects"]
|
||||
dto: ["dto", "contracts", "types"]
|
||||
mapping: ["mappers"]
|
||||
kotlin:
|
||||
controller: ["@RestController", "Controller"]
|
||||
service: ["@Service", "UseCase"]
|
||||
repository: ["@Repository"]
|
||||
domain: ["domain"]
|
||||
dto: ["dto"]
|
||||
mapping: ["mapper"]
|
||||
python:
|
||||
controller: ["controllers", "routes"]
|
||||
service: ["services", "use_cases"]
|
||||
repository: ["repositories", "adapters", "ports"]
|
||||
domain: ["domain", "entities", "value_objects"]
|
||||
dto: ["dto", "contracts", "types"]
|
||||
mapping: ["mappers"]
|
||||
cpp:
|
||||
controller: ["api", "handlers", "endpoints"]
|
||||
service: ["services", "use_cases"]
|
||||
@@ -48,8 +63,9 @@ layering_by_language:
|
||||
mapping: ["mappers"]
|
||||
|
||||
size_limits:
|
||||
class_file_lines_target: [50, 200]
|
||||
methods_lines_soft_cap: 25
|
||||
class_file_lines_target: [40, 160]
|
||||
class_file_lines_soft_cap: 200
|
||||
methods_lines_soft_cap: 20
|
||||
cyclomatic_complexity_soft_cap: 8
|
||||
one_top_level_class_per_file: true
|
||||
|
||||
@@ -73,21 +89,33 @@ naming:
|
||||
repository_suffix: "Repository"
|
||||
dto_suffixes: ["Request", "Response", "Dto"]
|
||||
mapper_suffix: "Mapper"
|
||||
exception_suffix: "Exception"
|
||||
exception_suffixes: ["Exception"]
|
||||
|
||||
naming_by_language:
|
||||
kotlin:
|
||||
controller_suffixes: ["Controller"]
|
||||
service_suffixes: ["Service", "UseCase"]
|
||||
repository_suffixes: ["Repository"]
|
||||
dto_suffixes: ["Request", "Response", "Dto"]
|
||||
exception_suffixes: ["Exception"]
|
||||
python:
|
||||
controller_suffixes: ["Controller", "Routes"]
|
||||
service_suffixes: ["Service", "UseCase"]
|
||||
repository_suffixes: ["Repository", "Port", "Adapter"]
|
||||
dto_suffixes: ["Request", "Response", "Dto"]
|
||||
exception_suffixes: ["Error"]
|
||||
typescript:
|
||||
controller_suffixes: ["Controller", "Routes"]
|
||||
service_suffixes: ["Service", "UseCase"]
|
||||
repository_suffixes: ["Repository", "Port", "Adapter"]
|
||||
dto_suffixes: ["Request", "Response", "Dto"]
|
||||
error_suffixes: ["Error"]
|
||||
exception_suffixes: ["Error"]
|
||||
cpp:
|
||||
controller_suffixes: ["Handler", "Endpoint"]
|
||||
service_suffixes: ["Service", "UseCase"]
|
||||
repository_suffixes: ["Repository", "Port", "Adapter"]
|
||||
dto_suffixes: ["Request", "Response", "Dto"]
|
||||
error_suffixes: ["Error"]
|
||||
exception_suffixes: ["Error"]
|
||||
|
||||
dependencies:
|
||||
domain_must_not_depend_on_framework: true
|
||||
@@ -97,10 +125,12 @@ dependencies:
|
||||
typescript_rules:
|
||||
module_structure:
|
||||
- "Prefer one exported class per file (with small helper types allowed)."
|
||||
- "DTO files may export multiple related types (no behavior)."
|
||||
- "Avoid deep barrel exports that obscure dependency direction."
|
||||
types:
|
||||
- "Prefer explicit types at boundaries."
|
||||
- "Use readonly properties; prefer Readonly<T> for DTO shapes."
|
||||
- "Use type/interface for DTOs; use classes for behavior."
|
||||
runtime_validation:
|
||||
- "If validation is needed, keep it at boundaries (e.g., schema/validator) not inside controllers."
|
||||
async:
|
||||
@@ -125,6 +155,8 @@ testing:
|
||||
|
||||
testing_by_language:
|
||||
java: ["JUnit5", "SpringBootTest when needed"]
|
||||
kotlin: ["JUnit5 or Kotest"]
|
||||
python: ["Pytest"]
|
||||
typescript: ["Jest"]
|
||||
cpp: ["GoogleTest (if present) or Catch2 (if present); otherwise provide minimal harness"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user