Skip to content
  • Beginner

Git

ProjectArchitecture.kt
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApi
import me.tbsten.katachi.dsl.architecture
val projectArchitecture = architecture {
"Tools".group {
git()
}
}
// roles/Git.kt
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApi
import 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).