Initialisiert Open-Source-Projekte mit GitHub Best Practices und Git-Branching-Strategie
View on GitHubplugins/development/skills/professional-init-project/SKILL.md
February 3, 2026
Select agents to install to:
npx add-skill https://github.com/talent-factory/claude-plugins/blob/main/plugins/development/skills/professional-init-project/SKILL.md -a claude-code --skill professional-init-projectInstallation paths:
.claude/skills/professional-init-project/# Professional Init-Project Workflow
Dieser Skill führt dich durch die Projekt-Initialisierung. **Folge diesen Anweisungen Schritt für Schritt.**
## WICHTIGE REGELN
1. **Java-Projekte verwenden IMMER Gradle Kotlin DSL** - NIEMALS Maven!
2. **Initialer Commit MUSS über `/git-workflow:commit` erfolgen** - NIEMALS direkt `git commit`!
3. **Git-Branching: develop → main** ist der Standard
---
## Schritt 1: Projekttyp und Parameter erkennen
Analysiere die Argumente des Users:
| Argument | Projekttyp | Build-Tool |
|----------|-----------|------------|
| `--java` | Java | **Gradle Kotlin DSL** (NICHT Maven!) |
| `--uv` | Python | uv |
| `--git` | Standard | - |
| `--node` | Node.js | npm/pnpm |
Optionale Argumente:
- `--name "xyz"`: Projektname
- `--no-branching`: Nur main, kein develop
---
## Schritt 2: Projektverzeichnis erstellen
```bash
# Falls --name angegeben
mkdir -p <project-name>
cd <project-name>
```
---
## Schritt 3: Git-Repository initialisieren
```bash
# Repository initialisieren
git init
# Auf develop Branch wechseln (Standard)
git checkout -b develop
```
Falls `--no-branching`: Stattdessen `git branch -M main`
---
## Schritt 4: Projektstruktur generieren
### Bei `--java`: Gradle Kotlin DSL Projekt
**WICHTIG: IMMER Gradle verwenden, NIEMALS Maven!**
Erstelle folgende Dateien:
**build.gradle.kts:**
```kotlin
plugins {
java
application
}
group = "com.example"
version = "0.1.0"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
testImplementation(platform("org.junit:junit-bom:5.11.4"))
testImplementation("org.junit.jupiter:junit-jupiter")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
application {
mainClass = "com.example.App"
}
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
```
**settings.gradle.kts:**
```kotlin
rootProject.name = "<project-name>"