Rustelo/justfile

163 lines
5.5 KiB
Makefile
Raw Normal View History

2026-02-08 20:18:46 +00:00
# =============================================================================
# RUSTELO FRAMEWORK - MODULAR JUSTFILE TEMPLATE
# =============================================================================
# Modern Rust Web Framework - Modular task runner configuration
#
# This justfile demonstrates the fallback import system that implementations can use:
#
# IMPLEMENTATION USAGE:
# Copy this pattern to your implementation's justfile and customize:
#
# mod? local-base 'justfiles/base.just' # Local implementation version
# mod? base '../rustelo/justfiles/base.just' # Framework fallback
# mod? local-content 'justfiles/content.just' # Local implementation version
# mod? content '../rustelo/justfiles/content.just' # Framework fallback
#
# This creates a fallback system where implementations can override any framework
# module by creating their own local version, or use framework defaults.
2025-07-07 23:05:19 +01:00
# Set shell for commands
set shell := ["bash", "-c"]
# =============================================================================
2026-02-08 20:18:46 +00:00
# FRAMEWORK MODULE IMPORTS
2025-07-07 23:05:19 +01:00
# =============================================================================
2026-02-08 20:18:46 +00:00
# Framework uses direct imports since there's no fallback needed
# Implementations should use the mod? pattern shown above
2025-07-07 23:05:19 +01:00
2026-02-08 20:18:46 +00:00
import 'justfiles/base.just'
import 'justfiles/database.just'
import 'justfiles/quality.just'
import 'justfiles/docs.just'
import 'justfiles/content.just'
import 'justfiles/testing.just'
import 'justfiles/build.just'
import 'justfiles/aliases.just'
2025-07-07 23:05:19 +01:00
# =============================================================================
2026-02-08 20:18:46 +00:00
# FRAMEWORK-SPECIFIC COMMANDS
2025-07-07 23:05:19 +01:00
# =============================================================================
2026-02-08 20:18:46 +00:00
# Default recipe to display help
default:
@just --list
2025-07-07 23:05:19 +01:00
# =============================================================================
2026-02-08 20:18:46 +00:00
# FRAMEWORK SETUP COMMANDS
2025-07-07 23:05:19 +01:00
# =============================================================================
2026-02-08 20:18:46 +00:00
# Complete framework setup
# setup:
# @echo "🔧 Setting up Rustelo framework..."
# ./scripts/setup/setup_dev.sh
2025-07-07 23:05:19 +01:00
# Setup with custom name
setup-name name:
2026-02-08 20:18:46 +00:00
@echo "🔧 Setting up Rustelo framework with name: {{name}}..."
2025-07-07 23:05:19 +01:00
./scripts/setup/setup_dev.sh --name {{name}}
# Setup for production
setup-prod:
2026-02-08 20:18:46 +00:00
@echo "🔧 Setting up Rustelo framework for production..."
2025-07-07 23:05:19 +01:00
./scripts/setup/setup_dev.sh --env prod
2026-02-08 20:18:46 +00:00
# Install framework dependencies
2025-07-07 23:05:19 +01:00
setup-deps:
2026-02-08 20:18:46 +00:00
@echo "🔧 Installing framework dependencies..."
2025-07-07 23:05:19 +01:00
./scripts/setup/install-dev.sh
# Setup wizard
setup-wizard:
2026-02-08 20:18:46 +00:00
@echo "🔧 Setting up configuration wizard..."
2025-07-07 23:05:19 +01:00
./scripts/setup/run_wizard.sh
# =============================================================================
2026-02-08 20:18:46 +00:00
# FRAMEWORK WORKFLOW COMMANDS
2025-07-07 23:05:19 +01:00
# =============================================================================
# Complete development workflow
workflow-dev:
2026-02-08 20:18:46 +00:00
@echo "🔄 Running framework development workflow..."
2025-07-07 23:05:19 +01:00
@just setup-deps
@just css-build
2026-02-08 20:18:46 +00:00
@just check-strict
2025-07-07 23:05:19 +01:00
@just test
@just dev
# Complete production workflow
workflow-prod:
2026-02-08 20:18:46 +00:00
@echo "🔄 Running framework production workflow..."
@just check-all
2025-07-07 23:05:19 +01:00
@just build-prod
# Pre-commit workflow
pre-commit:
2026-02-08 20:18:46 +00:00
@echo "🔄 Running framework pre-commit workflow..."
@just fix
2025-07-07 23:05:19 +01:00
@just check-strict
@just test
# CI/CD workflow
ci:
2026-02-08 20:18:46 +00:00
@echo "🔄 Running framework CI workflow..."
2025-07-07 23:05:19 +01:00
@just fmt-check
@just check-strict
@just test
@just audit
@just build-prod
# =============================================================================
2026-02-08 20:18:46 +00:00
# FRAMEWORK INFO COMMANDS
2025-07-07 23:05:19 +01:00
# =============================================================================
2026-02-08 20:18:46 +00:00
# Show framework information
info:
@echo " Rustelo Framework Information:"
@echo " Rust version: $(rustc --version)"
@echo " Cargo version: $(cargo --version)"
@echo " Node.js version: $(node --version 2>/dev/null || echo 'N/A')"
@echo " Framework root: $(pwd)"
2025-07-07 23:05:19 +01:00
2026-02-08 20:18:46 +00:00
# Show comprehensive system overview
overview:
@echo "🔍 Running Rustelo framework overview..."
./scripts/overview.sh
2025-07-07 23:05:19 +01:00
2026-02-08 20:18:46 +00:00
# Check system requirements
check-requirements:
@echo "✅ Checking Rustelo framework requirements..."
@echo "Rust: $(rustc --version 2>/dev/null || echo 'Not installed')"
@echo "Cargo: $(cargo --version 2>/dev/null || echo 'Not installed')"
@echo "Node.js: $(node --version 2>/dev/null || echo 'Not installed')"
2025-07-07 23:05:19 +01:00
2026-02-08 20:18:46 +00:00
# =============================================================================
# HELP COMMANDS
# =============================================================================
2025-07-07 23:05:19 +01:00
2026-02-08 20:18:46 +00:00
# Show main help
help:
2025-07-07 23:05:19 +01:00
@echo ""
2026-02-08 20:18:46 +00:00
@just logo
@echo "🚀 Development dev, build, test, clean"
@echo "🔍 Quality check-all, audit, fix"
@echo "🗄️ Database db-setup, db-migrate, db-status"
@echo "📚 Documentation docs-build, docs-serve, docs-api"
@echo "📝 Content content-build, content-generate, content-sync"
@echo "🌐 Testing page-tester, pages-report, test-all-pages"
@echo "🎨 Build System build-css-bundles, build-design-system, dist-pack"
2025-07-07 23:05:19 +01:00
@echo ""
2026-02-08 20:18:46 +00:00
@echo "🔧 Setup setup, setup-deps, setup-wizard"
@echo "🔄 Workflows workflow-dev, pre-commit, ci"
@echo " Information info, overview, check-requirements"
2025-07-07 23:05:19 +01:00
@echo ""
2026-02-08 20:18:46 +00:00
@echo "📖 For all commands: just --list"
2025-07-07 23:05:19 +01:00
@echo ""
2026-02-08 20:18:46 +00:00
# Show Rustelo logo
2025-07-07 23:05:19 +01:00
logo:
@echo " _ "
@echo " |_) _ _|_ _ | _ "
2026-02-08 20:18:46 +00:00
@echo " | \\ |_| _> |_ (/_ | (_) "
2025-07-07 23:05:19 +01:00
@echo " ______________________________"
2026-02-08 20:18:46 +00:00
@echo " FRAMEWORK"