feat: add apps manifest for app launcher integration

- Created comprehensive apps-manifest.json mapping Cargo features to UI
- Organized apps into categories: Communication, Productivity, Documents, etc.
- Includes app metadata: name, description, icon, dependencies
- Defines bundles: minimal, lightweight, full, communications, etc.
- Documents core dependencies and their reasons
- Ready for botui app launcher integration
This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2026-01-23 13:18:12 -03:00
parent 6fa52e1dd8
commit 4e3542e356

468
apps-manifest.json Normal file
View file

@ -0,0 +1,468 @@
{
"version": "6.1.0",
"description": "Available apps and features for GeneralBots",
"categories": {
"communication": {
"name": "Communication",
"icon": "💬",
"apps": [
{
"id": "chat",
"name": "Chat",
"description": "Real-time messaging and conversations",
"feature": "chat",
"icon": "💬",
"enabled_by_default": true,
"dependencies": []
},
{
"id": "people",
"name": "People",
"description": "Contact management and CRM",
"feature": "people",
"icon": "👥",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "mail",
"name": "Mail",
"description": "Email integration (SMTP/IMAP)",
"feature": "mail",
"icon": "📧",
"enabled_by_default": false,
"dependencies": ["mail_core", "drive"]
},
{
"id": "meet",
"name": "Meet",
"description": "Video conferencing with LiveKit",
"feature": "meet",
"icon": "📹",
"enabled_by_default": false,
"dependencies": ["realtime_core"]
},
{
"id": "social",
"name": "Social",
"description": "Social media integration",
"feature": "social",
"icon": "🌐",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "whatsapp",
"name": "WhatsApp",
"description": "WhatsApp Business API",
"feature": "whatsapp",
"icon": "📱",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "telegram",
"name": "Telegram",
"description": "Telegram Bot API",
"feature": "telegram",
"icon": "✈️",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "instagram",
"name": "Instagram",
"description": "Instagram messaging",
"feature": "instagram",
"icon": "📷",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "msteams",
"name": "MS Teams",
"description": "Microsoft Teams integration",
"feature": "msteams",
"icon": "👔",
"enabled_by_default": false,
"dependencies": []
}
]
},
"productivity": {
"name": "Productivity",
"icon": "⚡",
"apps": [
{
"id": "tasks",
"name": "Tasks",
"description": "Task management with scheduling",
"feature": "tasks",
"icon": "✅",
"enabled_by_default": true,
"dependencies": ["automation", "drive", "monitoring"]
},
{
"id": "calendar",
"name": "Calendar",
"description": "Calendar and event management",
"feature": "calendar",
"icon": "📅",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "project",
"name": "Project",
"description": "Project management",
"feature": "project",
"icon": "📊",
"enabled_by_default": false,
"dependencies": ["quick-xml"]
},
{
"id": "goals",
"name": "Goals",
"description": "Goal tracking and OKRs",
"feature": "goals",
"icon": "🎯",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "workspaces",
"name": "Workspaces",
"description": "Team workspaces",
"feature": "workspaces",
"icon": "🏢",
"enabled_by_default": false,
"dependencies": ["workspace"]
},
{
"id": "tickets",
"name": "Tickets",
"description": "Support ticket system",
"feature": "tickets",
"icon": "🎫",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "billing",
"name": "Billing",
"description": "Invoicing and payments",
"feature": "billing",
"icon": "💰",
"enabled_by_default": false,
"dependencies": []
}
]
},
"documents": {
"name": "Documents",
"icon": "📄",
"apps": [
{
"id": "drive",
"name": "Drive",
"description": "Cloud file storage (S3)",
"feature": "drive",
"icon": "💾",
"enabled_by_default": true,
"dependencies": ["storage_core", "pdf"]
},
{
"id": "docs",
"name": "Docs",
"description": "Document editor (DOCX)",
"feature": "docs",
"icon": "📝",
"enabled_by_default": false,
"dependencies": ["docx-rs", "ooxmlsdk"]
},
{
"id": "sheet",
"name": "Sheet",
"description": "Spreadsheet editor",
"feature": "sheet",
"icon": "📊",
"enabled_by_default": false,
"dependencies": ["calamine", "spreadsheet-ods"]
},
{
"id": "slides",
"name": "Slides",
"description": "Presentation editor",
"feature": "slides",
"icon": "🎞️",
"enabled_by_default": false,
"dependencies": ["ooxmlsdk"]
},
{
"id": "paper",
"name": "Paper",
"description": "Note-taking with PDF support",
"feature": "paper",
"icon": "📋",
"enabled_by_default": false,
"dependencies": ["docs", "pdf"]
}
]
},
"media": {
"name": "Media",
"icon": "🎬",
"apps": [
{
"id": "video",
"name": "Video",
"description": "Video management",
"feature": "video",
"icon": "🎥",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "player",
"name": "Player",
"description": "Media player",
"feature": "player",
"icon": "▶️",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "canvas",
"name": "Canvas",
"description": "Drawing and design",
"feature": "canvas",
"icon": "🎨",
"enabled_by_default": false,
"dependencies": []
}
]
},
"learning": {
"name": "Learning & Research",
"icon": "📚",
"apps": [
{
"id": "learn",
"name": "Learn",
"description": "Learning management",
"feature": "learn",
"icon": "🎓",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "research",
"name": "Research",
"description": "Research tools with AI",
"feature": "research",
"icon": "🔬",
"enabled_by_default": false,
"dependencies": ["llm", "vectordb"]
},
{
"id": "sources",
"name": "Sources",
"description": "Source management",
"feature": "sources",
"icon": "📖",
"enabled_by_default": false,
"dependencies": []
}
]
},
"analytics": {
"name": "Analytics",
"icon": "📈",
"apps": [
{
"id": "analytics",
"name": "Analytics",
"description": "Data analytics",
"feature": "analytics",
"icon": "📊",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "dashboards",
"name": "Dashboards",
"description": "Custom dashboards",
"feature": "dashboards",
"icon": "📉",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "monitoring",
"name": "Monitoring",
"description": "System monitoring",
"feature": "monitoring",
"icon": "🔍",
"enabled_by_default": false,
"dependencies": ["sysinfo"]
}
]
},
"development": {
"name": "Development",
"icon": "⚙️",
"apps": [
{
"id": "automation",
"name": "Automation",
"description": "Scripting with Rhai (.gbot files)",
"feature": "automation",
"icon": "🤖",
"enabled_by_default": true,
"core_dependency": true,
"dependencies": ["automation_core"]
},
{
"id": "designer",
"name": "Designer",
"description": "UI/UX designer",
"feature": "designer",
"icon": "🎨",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "editor",
"name": "Editor",
"description": "Code editor",
"feature": "editor",
"icon": "💻",
"enabled_by_default": false,
"dependencies": []
}
]
},
"admin": {
"name": "Administration",
"icon": "🔐",
"apps": [
{
"id": "attendant",
"name": "Attendant",
"description": "Human attendant interface",
"feature": "attendant",
"icon": "👤",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "security",
"name": "Security",
"description": "Security settings",
"feature": "security",
"icon": "🔒",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "settings",
"name": "Settings",
"description": "System settings",
"feature": "settings",
"icon": "⚙️",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "directory",
"name": "Directory",
"description": "User directory (Zitadel)",
"feature": "directory",
"icon": "📇",
"enabled_by_default": true,
"dependencies": []
}
]
},
"core": {
"name": "Core Infrastructure",
"icon": "🏗️",
"apps": [
{
"id": "cache",
"name": "Cache",
"description": "Redis caching",
"feature": "cache",
"icon": "⚡",
"enabled_by_default": true,
"core_dependency": true,
"dependencies": ["cache_core"]
},
{
"id": "llm",
"name": "LLM",
"description": "Large Language Models",
"feature": "llm",
"icon": "🧠",
"enabled_by_default": false,
"dependencies": []
},
{
"id": "vectordb",
"name": "Vector DB",
"description": "Qdrant vector database",
"feature": "vectordb",
"icon": "🗄️",
"enabled_by_default": false,
"dependencies": ["qdrant-client"]
}
]
}
},
"bundles": {
"minimal": {
"name": "Minimal",
"description": "Essential infrastructure only",
"features": ["chat", "automation", "drive", "cache"]
},
"lightweight": {
"name": "Lightweight",
"description": "Basic productivity suite",
"features": ["chat", "drive", "tasks", "people"]
},
"full": {
"name": "Full Suite",
"description": "Complete feature set",
"features": ["chat", "people", "mail", "tasks", "calendar", "drive", "docs", "llm", "cache", "compliance"]
},
"communications": {
"name": "Communications",
"description": "All communication apps",
"features": ["chat", "people", "mail", "meet", "social", "whatsapp", "telegram", "instagram", "msteams", "cache"]
},
"productivity": {
"name": "Productivity",
"description": "Productivity suite",
"features": ["calendar", "tasks", "project", "goals", "workspaces", "cache"]
},
"documents": {
"name": "Documents",
"description": "Document suite",
"features": ["paper", "docs", "sheet", "slides", "drive"]
}
},
"core_dependencies": {
"automation": {
"reason": "Required for .gbot script execution (100+ files depend on it)",
"removable": false
},
"drive": {
"reason": "S3 storage used in 80+ places throughout codebase",
"removable": false
},
"cache": {
"reason": "Redis integrated into session management",
"removable": false
}
}
}