This directory is a cargo-generate template ready for use.
To use this template to create new projects:
# Install dependencies
cargo install cargo-generate just
gh auth login
# Create a new project
cargo generate --git https://github.com/yourname/rust-starter-template.git --name my-new-project
cd my-new-project
./post_gen.shCargo.tomlusesname = "names"- Template readyDockerfileusesCMD ["./target/release/names"]- Template readysrc/main.rsincludes Remolab ASCII header- Full dependency stack included for comprehensive development
When users run cargo generate, these variables will be replaced:
names→ User's chosen project nameHamze GHALEBI <ghalebi@gmail.com>→ Can be configured in cargo-generate
To test template generation locally:
cargo generate --path . --name test-project
cd test-project
just check
just docker-build
just run --helpRuntime:
anyhow- Error handling and contextclap- Command line argument parsingenv_logger- Environment-based loggerlog- Logging facaderig-core- AI/LLM framework coreschemars- JSON Schema generationserde- Serialization/deserializationtokio- Async runtime with full featurestracing-subscriber- Structured logging
Development:
pretty_assertions- Better test output
✅ Development Tools: justfile, clippy, rustfmt, editorconfig
✅ CI/CD: GitHub Actions workflow
✅ Docker: Multi-stage build with dependencies
✅ CLI: clap-based command line interface
✅ Async Runtime: tokio with full features
✅ Error Handling: anyhow for context-rich errors
✅ Serialization: serde for JSON/YAML/etc
✅ Logging: log + env_logger + tracing-subscriber
✅ AI/LLM Ready: rig-core framework included
✅ Schema Generation: schemars for JSON schemas
✅ Testing: pretty_assertions for better test output
✅ Automation: GitHub repo creation script
✅ Branding: Remolab ASCII header