# Rustelo Usage Examples

## Quick Start

### Creating a New Project with Features

```bash
# Create new project directory
mkdir my-rustelo-app && cd my-rustelo-app

# Copy foundation structure
cp -r /path/to/rustelo/foundation/* .

# Add desired features
cargo rustelo features add analytics
cargo rustelo features add smart-build

# Check status
cargo rustelo features status
```

### Available Feature Combinations

#### Minimal Setup
```bash
# Just the foundation - basic Leptos + Axum
# No additional features needed
```

#### Analytics-Enabled
```bash
cargo rustelo features add analytics
# Provides: navigation tracking, server monitoring, browser analytics
```

#### Performance-Optimized
```bash
cargo rustelo features add smart-build
cargo rustelo features add analytics
# Provides: fast builds + performance monitoring
```

#### Full-Stack Development
```bash
cargo rustelo features add analytics
cargo rustelo features add smart-build
cargo rustelo features add debugging-tools
cargo rustelo features add ui-components
# Provides: complete development environment
```

## Real-World Examples

### Blog with Analytics

```bash
# Setup
mkdir my-blog && cd my-blog
cp -r /path/to/rustelo/foundation/* .

# Add analytics for visitor tracking
cargo rustelo features add analytics

# Configure analytics
echo 'ANALYTICS_ENABLED=true' >> .env
echo 'ANALYTICS_LOG_PATH=logs/blog-analytics' >> .env

# Build and run
cargo leptos build
cargo leptos serve
```

### E-commerce with Performance Monitoring

```bash
# Setup high-performance e-commerce site
mkdir my-shop && cd my-shop
cp -r /path/to/rustelo/foundation/* .

# Add performance features
cargo rustelo features add smart-build
cargo rustelo features add analytics

# Configure for production
echo 'SMART_BUILD_PARALLEL_JOBS=8' >> .env
echo 'ANALYTICS_API_KEY=your-api-key' >> .env

# Fast development builds
cargo leptos watch  # Uses smart-build caching
```

### Development Team Setup

```bash
# Full development environment
mkdir team-project && cd team-project
cp -r /path/to/rustelo/foundation/* .

# Add all development features
cargo rustelo features add analytics
cargo rustelo features add smart-build
cargo rustelo features add debugging-tools

# Team-specific configuration
echo 'SMART_BUILD_CACHE_DIR=.cache/team-build' >> .env
echo 'ANALYTICS_LOG_PATH=logs/team-analytics' >> .env

# Enhanced debugging available
# Use browser log analysis, server monitoring, etc.
```

## Feature-Specific Examples

### Analytics Feature

```bash
# Add analytics
cargo rustelo features add analytics

# Available commands:
# - Navigation tracking analysis
# - Server log monitoring
# - Browser error tracking
# - Performance reporting

# Example usage:
cargo run --bin analytics -- search --errors-only --hours 1
cargo run --bin analytics -- dashboard --refresh 30
cargo run --bin analytics -- report --type summary
```

### Smart Build Feature

```bash
# Add smart build
cargo rustelo features add smart-build

# Features:
# - Incremental builds with caching
# - Build performance optimization
# - Cache management tools

# Configuration:
echo 'SMART_BUILD_CACHE_DIR=.cache/builds' >> .env
echo 'SMART_BUILD_PARALLEL_JOBS=auto' >> .env

# Enhanced build performance automatically
cargo leptos build  # Uses smart caching
```

## Custom Feature Development

### Creating a Custom Feature

```bash
# Create feature structure
mkdir -p features/my-custom-feature/templates
mkdir -p features/my-custom-feature/assets
mkdir -p features/my-custom-feature/scripts

# Create feature manifest
cat > features/my-custom-feature/feature.toml << 'EOF'
[feature]
name = "my-custom-feature"
version = "0.1.0"
description = "My custom functionality"

[dependencies]
workspace = ["serde", "tokio"]
external = []

[[environment.variables]]
name = "MY_FEATURE_ENABLED"
default = "true"
required = false
EOF

# Register in features registry
echo '[features.my-custom-feature]' >> registry/features.toml
echo 'description = "My custom functionality"' >> registry/features.toml
echo 'source = "local"' >> registry/features.toml
echo 'status = "available"' >> registry/features.toml

# Install custom feature
cargo rustelo features add my-custom-feature
```

## Troubleshooting

### Common Issues

```bash
# Feature not found
cargo rustelo features list  # Check available features

# Dependency conflicts
cargo rustelo features status  # Check for conflicts

# Integration issues
cargo rustelo features sync --force  # Force resync

# Clean install
cargo rustelo features remove feature-name --clean-deps
cargo rustelo features add feature-name --force
```

### Getting Help

```bash
# CLI help
cargo rustelo --help
cargo rustelo features --help

# Feature documentation
cargo rustelo features explain analytics

# Status check
cargo rustelo features status
```
