Git
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApiimport me.tbsten.katachi.dsl.architecture
val projectArchitecture = architecture { "Tools".group { git() }}
// roles/Git.kt@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApiimport me.tbsten.katachi.dsl.DeclarationContainerScope
fun DeclarationContainerScope.git() = "Git".group { "GitIgnore" { title = "Git ignore" summary = "The list of files kept out of Git (.gitignore)" layout { "**/.gitignore".file() } }
"GitKeep" { title = "Git keep" summary = "Empty placeholder files that keep a directory in Git (.gitkeep)" layout { "**/.gitkeep".file() } }
"GitAttributes" { title = "Git attributes" summary = "Per-path attributes such as line endings and diff handling (.gitattributes)" layout { "**/.gitattributes".file() } } }The samples declare only .gitignore, with one Role (GitRole.kt in sample/jvm).