Rustelo/templates/framework-features.json

337 lines
12 KiB
JSON
Raw Normal View History

{
"version": "0.1.0",
"last_updated": "2024-01-01T00:00:00Z",
"categories": {
"rustelo-core": {
"name": "Core Framework",
"description": "Essential framework functionality",
"features": {
"tracing": {
"name": "Distributed Tracing",
"description": "OpenTelemetry-based distributed tracing and observability",
"documentation_url": "https://docs.rustelo.dev/core/tracing",
"dependencies": ["opentelemetry", "tracing"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"metrics": {
"name": "Application Metrics",
"description": "Prometheus-compatible metrics collection and export",
"documentation_url": "https://docs.rustelo.dev/core/metrics",
"dependencies": ["prometheus", "metrics"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"caching": {
"name": "Distributed Caching",
"description": "In-memory and Redis-based caching layers",
2026-02-08 20:37:49 +00:00
"documentation_url": "https://docs.rustelo.dev/core/caching",
"dependencies": ["redis", "moka"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.0"
},
"async-runtime": {
"name": "Async Runtime",
"description": "Tokio-based async runtime with custom executors",
"documentation_url": "https://docs.rustelo.dev/core/async",
"dependencies": ["tokio"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
}
}
},
"rustelo-web": {
"name": "Web Framework",
"description": "Web server and frontend capabilities",
"features": {
"ssr": {
"name": "Server-Side Rendering",
"description": "Full SSR support with hydration",
"documentation_url": "https://docs.rustelo.dev/web/ssr",
"dependencies": ["leptos"],
"conflicts": ["spa-only"],
"status": "stable",
"since_version": "0.1.0"
},
"islands": {
"name": "Islands Architecture",
"description": "Partial hydration with island components",
"documentation_url": "https://docs.rustelo.dev/web/islands",
"dependencies": ["leptos", "ssr"],
"conflicts": ["spa-only"],
"status": "beta",
"since_version": "0.1.1"
},
"streaming": {
"name": "Streaming SSR",
"description": "Streaming server-side rendering for better performance",
"documentation_url": "https://docs.rustelo.dev/web/streaming",
"dependencies": ["ssr", "tokio-streams"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.2"
},
"hydration": {
"name": "Client Hydration",
"description": "Advanced client-side hydration strategies",
"documentation_url": "https://docs.rustelo.dev/web/hydration",
"dependencies": ["ssr"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"prerendering": {
"name": "Static Prerendering",
"description": "Static site generation capabilities",
"documentation_url": "https://docs.rustelo.dev/web/prerendering",
"dependencies": [],
"conflicts": [],
"status": "beta",
"since_version": "0.1.1"
},
"pwa": {
"name": "Progressive Web App",
"description": "PWA features including service workers and offline support",
"documentation_url": "https://docs.rustelo.dev/web/pwa",
"dependencies": ["service-worker"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.2"
}
}
},
"rustelo-auth": {
"name": "Authentication",
"description": "User authentication and authorization",
"features": {
"oauth2": {
"name": "OAuth 2.0",
"description": "OAuth 2.0 authentication with multiple providers",
"documentation_url": "https://docs.rustelo.dev/auth/oauth2",
"dependencies": ["oauth2", "reqwest"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"jwt": {
"name": "JSON Web Tokens",
"description": "JWT-based authentication and session management",
"documentation_url": "https://docs.rustelo.dev/auth/jwt",
"dependencies": ["jsonwebtoken"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"session": {
"name": "Session Management",
"description": "Server-side session management with multiple backends",
"documentation_url": "https://docs.rustelo.dev/auth/sessions",
"dependencies": ["tower-sessions"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"2fa": {
"name": "Two-Factor Authentication",
"description": "TOTP and SMS-based two-factor authentication",
"documentation_url": "https://docs.rustelo.dev/auth/2fa",
"dependencies": ["totp-lite", "sms"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.1"
},
"social-login": {
"name": "Social Login",
"description": "Login with Google, GitHub, Discord, etc.",
"documentation_url": "https://docs.rustelo.dev/auth/social",
"dependencies": ["oauth2"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"passkeys": {
"name": "WebAuthn Passkeys",
"description": "Passwordless authentication with WebAuthn",
"documentation_url": "https://docs.rustelo.dev/auth/passkeys",
"dependencies": ["webauthn"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.3"
}
}
},
"rustelo-content": {
"name": "Content Management",
"description": "Content processing and management",
"features": {
"markdown": {
"name": "Markdown Processing",
"description": "Enhanced markdown processing with syntax highlighting",
"documentation_url": "https://docs.rustelo.dev/content/markdown",
"dependencies": ["pulldown-cmark", "syntect"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.0"
},
"search": {
"name": "Full-Text Search",
"description": "Full-text search with Tantivy or Elasticsearch",
"documentation_url": "https://docs.rustelo.dev/content/search",
"dependencies": ["tantivy"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.1"
},
"cms": {
"name": "Content Management System",
"description": "Built-in CMS with admin interface",
"documentation_url": "https://docs.rustelo.dev/content/cms",
"dependencies": ["rustelo-auth", "database"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.2"
},
"multilang": {
"name": "Multi-language Support",
"description": "Internationalization and localization",
"documentation_url": "https://docs.rustelo.dev/content/i18n",
"dependencies": ["fluent"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.1"
},
"versioning": {
"name": "Content Versioning",
"description": "Git-based content versioning and history",
"documentation_url": "https://docs.rustelo.dev/content/versioning",
"dependencies": ["git2"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.3"
}
}
},
"rustelo-analytics": {
"name": "Analytics & Monitoring",
"description": "Analytics and monitoring capabilities",
"features": {
"tracking": {
"name": "Event Tracking",
"description": "Privacy-focused analytics and event tracking",
"documentation_url": "https://docs.rustelo.dev/analytics/tracking",
"dependencies": ["analytics"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.2"
},
"events": {
"name": "Custom Events",
"description": "Custom event system with webhooks",
"documentation_url": "https://docs.rustelo.dev/analytics/events",
"dependencies": ["serde", "reqwest"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.2"
},
"reporting": {
"name": "Analytics Reporting",
"description": "Built-in analytics dashboard and reporting",
"documentation_url": "https://docs.rustelo.dev/analytics/reporting",
"dependencies": ["charts", "database"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.3"
},
"dashboards": {
"name": "Analytics Dashboards",
"description": "Real-time analytics dashboards",
"documentation_url": "https://docs.rustelo.dev/analytics/dashboards",
"dependencies": ["websockets", "charts"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.3"
}
}
},
"rustelo-realtime": {
2026-02-08 20:37:49 +00:00
"name": "Real-time Features",
"description": "Real-time communication and collaboration",
"features": {
"websockets": {
"name": "WebSocket Support",
"description": "Full-duplex WebSocket communication",
"documentation_url": "https://docs.rustelo.dev/realtime/websockets",
"dependencies": ["tokio-tungstenite"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.1"
},
"sse": {
"name": "Server-Sent Events",
"description": "Server-sent events for real-time updates",
"documentation_url": "https://docs.rustelo.dev/realtime/sse",
"dependencies": ["async-stream"],
"conflicts": [],
"status": "stable",
"since_version": "0.1.1"
},
"notifications": {
"name": "Push Notifications",
"description": "Web push notifications and email alerts",
"documentation_url": "https://docs.rustelo.dev/realtime/notifications",
"dependencies": ["web-push", "email"],
"conflicts": [],
"status": "beta",
"since_version": "0.1.2"
},
"collaboration": {
"name": "Real-time Collaboration",
"description": "Collaborative editing and shared state",
"documentation_url": "https://docs.rustelo.dev/realtime/collaboration",
"dependencies": ["websockets", "operational-transform"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.3"
}
}
},
"rustelo-ai": {
"name": "AI Integration",
"description": "Artificial intelligence and machine learning features",
"features": {
"llm-integration": {
"name": "LLM Integration",
"description": "Large language model integration (OpenAI, Anthropic, etc.)",
"documentation_url": "https://docs.rustelo.dev/ai/llm",
"dependencies": ["async-openai", "reqwest"],
"conflicts": [],
2026-02-08 20:37:49 +00:00
"status": "experimental",
"since_version": "0.1.3"
},
"embeddings": {
"name": "Vector Embeddings",
"description": "Text embeddings for semantic search and similarity",
"documentation_url": "https://docs.rustelo.dev/ai/embeddings",
"dependencies": ["candle", "tokenizers"],
"conflicts": [],
"status": "experimental",
"since_version": "0.1.3"
},
"semantic-search": {
"name": "Semantic Search",
"description": "AI-powered semantic search capabilities",
"documentation_url": "https://docs.rustelo.dev/ai/semantic-search",
"dependencies": ["embeddings", "vector-db"],
"conflicts": ["search"],
"status": "experimental",
"since_version": "0.1.3"
}
}
}
}
2026-02-08 20:37:49 +00:00
}