https://github.com/trinhminhtriet/java-skel-cli
ðĶī Skel CLI: A command-line tool for generating project skeletons in multiple languages, fast and customizable.
https://github.com/trinhminhtriet/java-skel-cli
automation cli codegen devtools freemaker java picocli productivity project-generator scaffolding templates
Last synced: 8 months ago
JSON representation
ðĶī Skel CLI: A command-line tool for generating project skeletons in multiple languages, fast and customizable.
- Host: GitHub
- URL: https://github.com/trinhminhtriet/java-skel-cli
- Owner: trinhminhtriet
- License: mit
- Created: 2025-08-23T15:56:18.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-08-23T23:09:07.000Z (8 months ago)
- Last Synced: 2025-08-24T00:15:12.897Z (8 months ago)
- Topics: automation, cli, codegen, devtools, freemaker, java, picocli, productivity, project-generator, scaffolding, templates
- Language: Java
- Homepage:
- Size: 54.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Skel CLI
## Intro
**Skel CLI** is a command-line tool built with **Spring Boot**, **Picocli**, and **Freemarker**.
It helps developers quickly generate project scaffolding for multiple languages such as **Rust**, *
*Golang**, **Python**, and **TypeScript**, including essential files like `README.md`, `LICENSE`,
`.gitignore`, `.editorconfig`, `.vscode/settings.json`, and `CHANGELOG.md`.
The goal of this project is to provide a unified, extensible CLI tool for initializing projects with
best practices and templates.
---
## âĻ Features
- ð Generate project scaffolds for multiple languages (Rust, Go, Python, TypeScript).
- ð Built-in templates for:
- `README.md`
- `LICENSE`
- `CHANGELOG.md`
- `.editorconfig`
- `.gitignore`
- `.gitattributes`
- `.vscode/settings.json`
- ð Extensible design to easily add more languages and templates.
- ð Powered by **Picocli** for CLI commands and **Freemarker** for template rendering.
- ð Integrated with **SLF4J + Logback** for structured logging.
---
## ð Installation
### Prerequisites
- **Java 17+**
- **Maven 3.8+**
### Build
```shell
git clone https://github.com/your-username/skel-cli.git
cd skel-cli
mvn clean package
```
## ðĄ Usage
### Run help
```shell
java -jar target/skel-0.0.1-SNAPSHOT.jar --help
```
### Check version
```shell
java -jar target/skel-0.0.1-SNAPSHOT.jar version
```
### Generate Rust project
```shell
java -jar target/skel-0.0.1-SNAPSHOT.jar init rust --name MyRustApp --dir ../MyRustApp
```
### Generate Go project
```shell
java -jar target/skel-0.0.1-SNAPSHOT.jar init go --name MyGoApp --dir ./MyGoApp
```
### Generate Python project
```shell
java -jar target/skel-0.0.1-SNAPSHOT.jar init python --name MyPythonApp --dir ./MyPythonApp
```
### Install as a shortcut command (Linux/macOS)
```shell
# Copy JAR and create shortcut script in $HOME/.local/bin
bash install.sh
# Make sure $HOME/.local/bin is in your PATH
export PATH="$HOME/.local/bin:$PATH"
```
Now you can use:
```shell
skel init rust --name MyRustApp --dir ./MyRustApp
skel init go --name MyGoApp --dir ./MyGoApp
skel init python --name MyPythonApp --dir ./MyPythonApp
```
## ðĪ How to contribute
We welcome contributions!
- Fork this repository;
- Create a branch with your feature: `git checkout -b my-feature`;
- Commit your changes: `git commit -m "feat: my new feature"`;
- Push to your branch: `git push origin my-feature`.
Once your pull request has been merged, you can delete your branch.
## ð License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.