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 = "linkdin_url"- Template readyDockerfileusesCMD ["./target/release/linkdin_url"]- Template readysrc/main.rsincludes Remolab ASCII header- Full dependency stack included for comprehensive development
When users run cargo generate, these variables will be replaced:
linkdin_urlβ 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