Rustelo/DOCUMENTATION.md
Jesús Pérex 91ea298f2d
Some checks failed
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
CI/CD Pipeline / Cleanup (push) Has been cancelled
chore: add root files info
2025-07-08 21:46:54 +01:00

12 KiB

Rustelo Documentation

RUSTELO

Welcome to the comprehensive documentation for Rustelo, a modular Rust web application template. This document serves as your gateway to understanding, setting up, and using all aspects of Rustelo.

📚 Documentation Overview

Rustelo provides multiple layers of documentation to serve different needs:

🎯 Quick References

📖 Interactive Documentation (mdBook)

  • Complete Guide - Full interactive documentation
  • Local Development: ./scripts/docs-dev.sh - Start local documentation server
  • Build Documentation: ./scripts/build-docs.sh - Build static documentation

📁 Documentation Directories

  • docs/ - Technical documentation and guides
  • info/ - Implementation details and architectural decisions
  • examples/ - Usage examples and sample configurations

🚀 Getting Started with Documentation

1. Setup Documentation System

# Interactive setup (recommended)
./scripts/setup-docs.sh

# Full automated setup
./scripts/setup-docs.sh --full

# Minimal setup
./scripts/setup-docs.sh --minimal

2. Start Documentation Development

# Start local documentation server
./scripts/docs-dev.sh

# Or using just
just docs-dev

3. Build and Deploy

# Build documentation
./scripts/build-docs.sh

# Deploy to GitHub Pages
./scripts/deploy-docs.sh github-pages

# Or using just
just docs-build
just docs-deploy-github

📋 Documentation Structure

Core Sections

🏁 Getting Started

🎛️ Features

🗄️ Database

🛠️ Development

🚀 Deployment

🔒 Security

🔧 API Reference

🛠️ Documentation Tools

Available Scripts

  • ./scripts/setup-docs.sh - Setup documentation system
  • ./scripts/docs-dev.sh - Start development server
  • ./scripts/build-docs.sh - Build documentation
  • ./scripts/deploy-docs.sh - Deploy documentation
  • ./scripts/generate-content.sh - Generate dynamic content

Just Commands

# Documentation commands
just docs-setup          # Setup documentation system
just docs-dev            # Start development server
just docs-build          # Build documentation
just docs-build-sync     # Build with content sync
just docs-watch          # Watch for changes
just docs-deploy-github  # Deploy to GitHub Pages
just docs-deploy-netlify # Deploy to Netlify
just docs-deploy-vercel  # Deploy to Vercel
just docs-docker         # Build Docker image
just docs-generate       # Generate dynamic content
just docs-check-links    # Check for broken links
just docs-clean          # Clean build files
just docs-workflow       # Complete workflow
just help-docs           # Show documentation help

📖 Documentation Types

1. Technical Documentation (docs/)

Focused on implementation details and technical guides:

2. Implementation Notes (info/)

Architectural decisions and implementation details:

3. Interactive Documentation (book/)

Comprehensive user-friendly guides built with mdBook:

  • Searchable content
  • Mobile-friendly design
  • Cross-referenced sections
  • Code examples with syntax highlighting
  • Print-friendly format

🌐 Deployment Options

GitHub Pages

# Automatic deployment via GitHub Actions
./scripts/deploy-docs.sh github-pages

# Manual deployment
just docs-deploy-github

Netlify

# Deploy to Netlify
./scripts/deploy-docs.sh netlify
just docs-deploy-netlify

Vercel

# Deploy to Vercel
./scripts/deploy-docs.sh vercel
just docs-deploy-vercel

Docker

# Build documentation container
./scripts/deploy-docs.sh docker
just docs-docker

# Run documentation server
docker run -p 8080:80 rustelo-docs:latest

AWS S3

# Deploy to S3 (requires AWS_S3_BUCKET)
export AWS_S3_BUCKET=your-bucket-name
./scripts/deploy-docs.sh aws-s3

🔄 CI/CD Integration

GitHub Actions

Automatic documentation builds and deployments:

  • Build on PR: Validates documentation builds
  • Deploy on merge: Automatically deploys to GitHub Pages
  • Link checking: Validates all links in documentation
  • Multi-format build: Builds HTML, PDF, and EPUB formats

Setup CI/CD

# Setup CI/CD integration
./scripts/setup-docs.sh --ci

# This creates:
# - .github/workflows/docs.yml
# - Automated deployment configuration
# - Link checking integration

📱 Mobile-Friendly Features

  • Responsive Design: Works on all screen sizes
  • Touch Navigation: Mobile-friendly navigation
  • Offline Support: Progressive web app features
  • Fast Loading: Optimized for mobile connections
  • Search: Full-text search functionality

🎨 Customization

Custom Styling

  • book/theme/custom.css - Custom styles
  • book/theme/custom.js - Custom JavaScript
  • Brand colors and fonts
  • Custom layouts and components

Content Organization

  • Modular structure: Easy to reorganize content
  • Cross-references: Automatic link generation
  • Content templates: Consistent formatting
  • Dynamic content: Auto-generated sections

🔍 Search and Discovery

  • Full-text search: Search across all documentation
  • Instant results: Fast search with highlighting
  • Keyboard shortcuts: Ctrl+K or Cmd+K to search
  • Search suggestions: Auto-complete functionality

Navigation

  • Hierarchical structure: Logical content organization
  • Breadcrumbs: Easy navigation context
  • Previous/Next: Sequential navigation
  • Table of contents: Section overview

📊 Analytics and Monitoring

Documentation Metrics

  • Build times: Monitor documentation build performance
  • Broken links: Automatic link validation
  • Usage analytics: Track documentation usage (when deployed)
  • Performance monitoring: Page load times and optimization

Quality Assurance

  • Link checking: Automated broken link detection
  • Content validation: Ensure all sections are complete
  • Style checking: Consistent formatting
  • Accessibility testing: WCAG compliance

🤝 Contributing to Documentation

How to Contribute

  1. Edit content: Modify files in book/ directory
  2. Test locally: Run just docs-dev to preview changes
  3. Submit PR: Create pull request with documentation changes
  4. Review process: Automated checks and manual review

Content Guidelines

  • Clear writing: Use simple, clear language
  • Code examples: Include working code examples
  • Screenshots: Add visual aids when helpful
  • Cross-references: Link to related sections
  • Consistency: Follow established patterns

Content Types

  • Tutorials: Step-by-step guides
  • Reference: API and configuration documentation
  • Examples: Code samples and use cases
  • Troubleshooting: Common issues and solutions

🆘 Getting Help

Documentation Issues

Quick Help

# Show all documentation commands
just help-docs

# Check documentation build
just docs-build

# Start local development
just docs-dev

🎯 Next Steps

  1. Setup Documentation - Initialize your documentation system
  2. Start Development - Begin working with documentation
  3. Deploy Documentation - Share your documentation
  4. Customize Experience - Make it your own

Happy documenting! 📚

The Rustelo documentation system is designed to grow with your project. Start simple, add complexity as needed, and maintain comprehensive documentation that serves your users and contributors effectively.

For the most up-to-date documentation, visit: **[https://yourusername.github.io/rustelo](https://yourusername.github.io/