# 🦀 Template Usage Guide
This directory is a **cargo-generate template** ready for use.
## 📋 For Template Users
To use this template to create new projects:
```bash
# 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.sh
```
## 🔧 Template Status
### Current State ✅
- `Cargo.toml` uses `name = "linkdin_url"` - Template ready
- `Dockerfile` uses `CMD ["./target/release/linkdin_url"]` - Template ready
- `src/main.rs` includes Remolab ASCII header
- Full dependency stack included for comprehensive development
### Template Variables
When users run `cargo generate`, these variables will be replaced:
- `linkdin_url` → User's chosen project name
- `Hamze GHALEBI <ghalebi@gmail.com>` → Can be configured in cargo-generate
### Testing the Template
To test template generation locally:
```bash
cargo generate --path . --name test-project
cd test-project
just check
just docker-build
just run --help
```
### Dependencies Included
**Runtime:**
- `anyhow` - Error handling and context
- `clap` - Command line argument parsing
- `env_logger` - Environment-based logger
- `log` - Logging facade
- `rig-core` - AI/LLM framework core
- `schemars` - JSON Schema generation
- `serde` - Serialization/deserialization
- `tokio` - Async runtime with full features
- `tracing-subscriber` - Structured logging
**Development:**
- `pretty_assertions` - Better test output
## 🎯 Ready-to-Use Features
✅ **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