Official Giter8 template for creating LLM4S projects.
To create a new project using the latest template version:
sbt new llm4s/llm4s.g8
You will be prompted for various parameters:
name
: Project name (default:llm4s-template
)package
: Package name (default:org.llm4s.template
)version
: Initial project version (default:0.1.0-SNAPSHOT
)llm4s_version
: LLM4S library version (default:0.1.1
)scala_version
: Scala version (default:2.13.16
)java_version
: Java version (default:21
)munit_version
: Munit testing library version (default:1.1.1
)
To use a specific version of the template:
sbt new llm4s/llm4s.g8.git#v1.0.0
You can also provide parameters directly:
sbt new llm4s/llm4s.g8 \
--name=my-llm-project \
--package=com.example.llm \
--llm4s_version=0.1.9 \
--scala_version=2.13.16
--java_version=21 \
--munit_version=1.1.1 \
This template creates a complete LLM4S project with:
- ✅ Pre-configured
build.sbt
with LLM4S dependencies - ✅ Example application demonstrating LLM4S usage
- ✅ Test setup with Munit
- ✅ Scalafmt configuration
- ✅ GitHub Actions CI/CD workflows
- ✅ Environment configuration support
- ✅ Pre-commit hooks for code quality
my-llm-project/
├── .github/
│ └── workflows/
│ └── ci.yml # CI/CD configuration
├── src/
│ ├── main/
│ │ └── scala/
│ │ └── com/example/
│ │ └── Main.scala # Example application
│ └── test/
│ └── scala/
│ └── com/example/
│ └── MainSuite.scala # Example tests
├── .env.example # Environment variables template
├── .gitignore
├── .scalafmt.conf # Code formatting rules
├── build.sbt # SBT build configuration
├── project/
│ └── build.properties
└── README.md # Project documentation
Template Version | LLM4S Versions | Scala Versions |
---|---|---|
1.0.x | 0.1.0 - 0.1.x | 2.13.16, 3.7.1 |
To test the template locally:
sbt test
This will:
- Generate a project from the template
- Compile the generated project
- Run tests in the generated project
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This template is licensed under the MIT License - see the LICENSE file for details.
For issues, questions, or contributions, please visit: