Help us improve
Share bugs, ideas, or general feedback.
From development
Initializes open-source projects with GitHub best practices and git branching strategy. Triggers when setting up new repositories with standardized configuration, Gradle Kotlin DSL, or Python/uv support.
npx claudepluginhub talent-factory/claude-plugins --plugin developmentHow this skill is triggered — by the user, by Claude, or both
Slash command
/development:professional-init-projectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill guides you through project initialization. **Follow these instructions step by step.**
Initializes base project structure with src/tests/docs dirs, git init, README/LICENSE/.gitignore, EditorConfig, pre-commit config, GitHub Actions CI, Makefile. Supports python/node/rust/go/generic types, optional GitHub repo creation.
Initializes new Python, Rust, or TypeScript projects interactively with git repo, GitHub workflows, pre-commit hooks, Makefile, and standard configs. Updates existing projects too.
Creates private GitHub repo with branch protection, squash merges only, Actions permissions, Pages deployment, MIT license, and README using GitHub CLI. Use for new repo initialization.
Share bugs, ideas, or general feedback.
This skill guides you through project initialization. Follow these instructions step by step.
/git-workflow:commit - NEVER use git commit directly!Analyze the user's arguments:
| Argument | Project Type | Build Tool |
|---|---|---|
--java | Java | Gradle Kotlin DSL (NOT Maven!) |
--uv | Python | uv |
--git | Standard | - |
--node | Node.js | npm/pnpm |
Optional arguments:
--name "xyz": Project name--no-branching: Only main, no develop# If --name is specified
mkdir -p <project-name>
cd <project-name>
# Initialize repository
git init
# Switch to develop branch (default)
git checkout -b develop
If --no-branching: Use git branch -M main instead
--java: Gradle Kotlin DSL ProjectIMPORTANT: ALWAYS use Gradle, NEVER Maven!
Create the following files:
build.gradle.kts:
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:
rootProject.name = "<project-name>"
Directory structure:
<project-name>/
├── build.gradle.kts
├── settings.gradle.kts
├── gradle/wrapper/gradle-wrapper.properties
├── gradlew (executable)
├── gradlew.bat
├── src/main/java/com/example/App.java
├── src/main/resources/
├── src/test/java/com/example/AppTest.java
└── src/test/resources/
gradle/wrapper/gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
.gitignore (Java/Gradle):
# Gradle
.gradle/
build/
!gradle/wrapper/gradle-wrapper.jar
# IDE
.idea/
*.iml
.vscode/
# OS
.DS_Store
--uv: Python ProjectUse uv init if available, otherwise create manually:
uv init <project-name> || mkdir -p src/<package_name> tests
Create these files in every project:
Create .github/ directory with:
IMPORTANT: ALWAYS use the /git-workflow:commit command!
Invoke the skill:
/git-workflow:commit
The commit skill will:
NEVER use git commit directly!
After the initial commit on develop:
# Create main branch from develop (synchronized)
git branch main
Display to the user:
Git repository initialized
Branch 'develop' created (active)
Project structure generated (<project-type>)
Community standards created
GitHub templates created
Initial commit created (via /git-workflow:commit)
Branch 'main' created (synchronized with develop)
Project ready: <project-name>/
Branch: develop (active)
Next steps:
- Java: ./gradlew build
- Python: uv venv && source .venv/bin/activate
| Rule | Description |
|---|---|
| Gradle, not Maven | Java projects ALWAYS use Gradle Kotlin DSL |
| Commit via skill | Initial commit ALWAYS via /git-workflow:commit |
| develop -> main | Default branching strategy |
| Java 21 | Current LTS version |
| JUnit 5 | Standard test framework |