Deploy the Real-Time Intelligence for Operations Solution Accelerator using Azure Developer CLI to provision a complete real-time analytics platform. This automated deployment creates Azure Event Hub for data ingestion, Microsoft Fabric Eventhouse with KQL database for analytics, interactive dashboards for monitoring, and automated anomaly detection—all configured and ready to use in minutes.
🆘 Need Help? If you encounter issues during deployment, check our Known Issues and Troubleshooting section for solutions to common problems.
| Section | Description |
|---|---|
| Overview | Two-phase deployment architecture explained |
| Prerequisites & Setup | Azure and Fabric requirements, software installation |
| Deployment Environment | Choose deployment method: Local, Cloud Shell, Codespaces, Dev Container, or GitHub Actions |
| Configuration Settings | Optional: Customize resource names and settings |
| Deploy the Solution | Execute deployment with step-by-step instructions |
| Post-Deployment Configuration | Set up Data Agent, Simulator, Activator, and verify components |
| Deployment Results | Verify Azure and Fabric resources |
| Clean Up | Remove all deployed resources |
| Known Issues and Troubleshooting | Common problems and solutions |
| Next Steps | Additional resources and guides |
| Need Help? | Support options |
This guide walks you through deploying the Real-Time Intelligence Operations Solution Accelerator to both Azure and Microsoft Fabric. The deployment process takes approximately 10-15 minutes and provisions a complete real-time analytics platform with cloud infrastructure and analytics components.
The deployment uses a coordinated two-phase approach that is idempotent and safe to re-run, automatically detecting existing resources and only creating what's missing:
PHASE 1: Infrastructure (Bicep) PHASE 2: Fabric Setup (Python)
|─ Fabric Capacity |─ Workspace
|─ Event Hub |─ Eventhouse & KQL Database
└─ Resource Group | └─ Sample Data
|─ Eventstream connection
|─ Real-Time Dashboard
|─ Activator Rules
|─ Data agent
└─ Folder (Data agent configuration)
├─ Environment
└─ Notebook
Phase 1 provisions Azure infrastructure using Bicep templates with ARM idempotency:
- Resource Group - Logical container organizing and managing all deployed Azure resources
- Fabric Capacity - Dedicated compute resources for Fabric workloads with auto-scaling capabilities
- Event Hub - High-throughput streaming service for real-time data ingestion and event processing
Phase 2 manages Fabric components using Python scripts with intelligent resource detection:
- Workspace - Collaborative environment hosting all Fabric artifacts and configurations
- Eventhouse & KQL Database - Real-time analytics engine with high-performance query capabilities and pre-configured schema
- Sample Data - Pre-loaded telemetry data for immediate testing and demonstration purposes
- Eventhub connection - Connection to the deployed Event Hub resource in Azure
- Eventstream - Data pipeline orchestration connecting Event Hub to Eventhouse with transformation rules
- Real-Time Dashboard - Interactive monitoring interface with live visualizations and drill-down analytics
- Activator - Automated anomaly detection system with configurable alert thresholds and notifications
- Data Agent - AI-powered conversational interface for natural language data queries with configured notebook
- Folder - Organizational container for grouping items required for Data Agent set up
- Environment - Fabric Environment for managing libraries, dependencies, and compute configurations required to run the notebook that configures the Data Agent
- Notebook - Fabric Notebook with the script that uses Fabric data agent Python SDK (in preview) to configure the Data Agent
The entire process is orchestrated by Azure Developer CLI with comprehensive error handling and rollback capabilities.
Ensure you have access to an Azure subscription with the following permissions:
| Permission | Level | Purpose |
|---|---|---|
| Contributor | Subscription/Resource Group | Deploy Bicep templates and create Azure resources |
| User Access Administrator | Subscription/Resource Group | Configure role-based access control (RBAC) |
How to Check Your Permissions
- Go to Azure Portal
- Search for "Subscriptions" in the top search bar
- Click on your target subscription
- Select Access control (IAM) from the left menu
- Look for your user account—you should see Contributor or Owner role assigned
Your organization must have the following setup:
| Requirement | Details |
|---|---|
| Fabric License | Microsoft Fabric must be enabled in your organization |
| Fabric Capacity | Dedicated capacity available for your deployments (or deployment will create one) |
| Workspace Creation | Permissions to create new Fabric workspaces |
| REST API Access | If using Service Principals or Managed Identities, enable the tenant setting for "Service principals and managed identities support on Fabric REST API" |
Deployment identity determines how your deployment interacts with Azure and Microsoft Fabric resources. Choose one identity type for deployment:
| Identity Type | Best For | Setup Required |
|---|---|---|
| User Account | Interactive development and testing | Your Azure AD credentials |
| Service Principal | Automated deployments and CI/CD pipelines | Federated identity credentials and Fabric REST API permissions |
| Managed Identity | Azure-native automation | Azure subscription access and Fabric REST API permissions |
Learn more about Fabric Identity Support
Note: Skip this section if using GitHub Codespaces, VS Code Dev Container, or Azure Cloud Shell—all tools are pre-installed in these environments.
Install the following tools on your local machine:
| Tool | Version | Installation |
|---|---|---|
| Python | 3.9 or later | Download from python.org |
| Azure CLI | Latest | Install Azure CLI |
| Azure Developer CLI (azd) | Latest | Install azd |
| Git | Latest | Download from git-scm.com |
Verify Installation
python --version
az --version
azd version
git --version📖 Detailed Setup: For complete Azure account configuration, see Azure Account Setup Guide.
Select one of the following options to deploy the solution:
| Environment | Setup Required | Notes |
|---|---|---|
| GitHub Codespaces | GitHub account | Cloud development environment |
| Visual Studio Code Dev Container | Docker Desktop + VS Code | Containerized consistency |
| Local Machine | Install software requirements | Most flexible, requires local setup |
| Azure Cloud Shell | Web browser | Pre-configured tools, session timeouts |
| GitHub Actions | Azure service principal | Federated identity, automated deployment |
| Visual Studio Code Web | Web browser | Pre-configured tools, session timeouts |
Option A: GitHub Codespaces
- Go to the Real-Time Intelligence Operations repository in GitHub Codespaces
- Follow the instructions on screen to create a new codespace with default setup.
- Wait for the environment to initialize (2-3 minutes)
- All tools are pre-installed; proceed to Step 4: Deploy
Option B: VS Code Dev Container
Consistent development environment using Docker.
-
Install Visual Studio Code
-
Install Docker Desktop
-
Install Dev Containers extension in VS Code
-
Clone the repository:
git clone https://github.com/microsoft/real-time-intelligence-operations-solution-accelerator.git cd real-time-intelligence-operations-solution-accelerator -
Open the folder in VS Code
-
Click "Reopen in Container" when prompted
-
All tools are pre-installed; proceed to Step 4: Deploy
Option C: Local Machine
Full control with your local development environment.
-
Install the software requirements above
-
Clone the repository:
git clone https://github.com/microsoft/real-time-intelligence-operations-solution-accelerator.git cd real-time-intelligence-operations-solution-accelerator -
Proceed to Step 4: Deploy
Option D: Azure Cloud Shell
Deploy from your browser—no local setup required.
-
Go to Azure Cloud Shell
-
Ensure shell type is set to Bash
-
Install Azure Developer CLI (needed only if CLI is not installed):
curl -fsSL https://aka.ms/install-azd.sh | bash && exec bash
-
Clone the repository:
git clone https://github.com/microsoft/real-time-intelligence-operations-solution-accelerator.git cd real-time-intelligence-operations-solution-accelerator -
Proceed to Step 4: Deploy
Option E: GitHub Actions
Automated CI/CD deployment using GitHub Actions.
- Fork the repository to your GitHub account
- Configure Azure service principal with federated identity credentials
- Set the following repository secrets in GitHub Settings → Secrets and variables → Actions:
AZURE_CLIENT_ID- Service principal client IDAZURE_TENANT_ID- Azure tenant IDAZURE_SUBSCRIPTION_ID- Target subscription IDAZURE_ENV_NAME- Environment name (3-16 alphanumeric characters)
- (Optional) Set these additional variables:
FABRIC_WORKSPACE_ADMINISTRATORS- Comma-separated admin identitiesFABRIC_ACTIVATOR_ALERTS_EMAIL- Email address for alert notifications
- Go to Actions tab in your GitHub repository
- Select CI/CD Azure - Real-Time Intelligence Operations workflow
- Click Run workflow and select your branch
- Monitor the deployment progress in the Actions tab
Option F: Visual Studio Code Web
Deploy from your browser—no local setup required.
-
Go to VS Code Web
-
When prompted, sign in using your Microsoft account linked to your Azure subscription.
Select the appropriate subscription to continue.
-
Ensure shell type is set to Bash
-
Install Azure Developer CLI (needed only if CLI is not installed):
curl -fsSL https://aka.ms/install-azd.sh | bash && exec bash
-
Clone the repository:
git clone https://github.com/microsoft/real-time-intelligence-operations-solution-accelerator.git cd real-time-intelligence-operations-solution-accelerator -
Authenticate with Azure (VS Code Web requires device code authentication):
az login --use-device-code
Note: In VS Code Web environment, the regular
az logincommand may fail. Use the--use-device-codeflag to authenticate via device code flow. Follow the prompts in the terminal to complete authentication. -
Proceed to deployment: Step 4: Deploy
Skip to Step 4 if you want to use default settings.
This section covers all optional configuration settings you can customize before deployment. You can configure:
- Alert email addresses for notifications
- Existing Azure/Fabric resources to reuse
- Custom names for workspace and components
All settings are configured using azd env set commands before running azd up.
3.1 Alert Email Configuration (Recommended)
Set your email address to receive real-time alerts from Fabric Activator:
azd env set FABRIC_ACTIVATOR_ALERTS_EMAIL "myteam@company.com"3.2 Reuse Existing Azure/Fabric Resources
If you already have Azure resources that you want to reuse instead of creating new ones, configure them here:
Supported Scenarios:
- Reuse an Event Hub Namespace from the same resource group
- Reuse an Event Hub Namespace from a different resource group
- Reuse an Event Hub Namespace from a different subscription
The deployment will automatically:
- Create a new Event Hub in your existing namespace (to avoid mixing event types)
- Grant you permission to send events to the namespace
- Handle cross-subscription and cross-resource group scenarios
Steps to Configure:
-
Get the Resource ID from Azure Portal or CLI:
- Azure Portal: Go to your Event Hub Namespace → Properties → Copy "Resource ID"
- Azure CLI: Run:
az eventhubs namespace show --name <namespace-name> --resource-group <rg-name> --query id -o tsv
-
Set the environment variable:
azd env set EXISTING_EVENT_HUB_NAMESPACE_ID "<resource-id-from-step-1>"
-
During deployment, select your preferred resource group (can be same or different)
Example Resource ID Format:
/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.EventHub/namespaces/{namespace-name}
Example: Cross-Resource Group Deployment
Your IT team manages a central Event Hub namespace that multiple teams share:
Corporate Event Hub Namespace:
Subscription: "Production" (sub-123)
Resource Group: "rg-corporate-eventhubs"
Namespace: "corporate-eventhub"
Your RTI Deployment:
Subscription: "Development" (could be same or different)
Resource Group: "rg-my-rti-demo" ← You choose this!
✅ This works perfectly! The deployment creates a new Event Hub
in the corporate namespace while deploying all other resources
to your own resource group.
Steps:
# 1. Get the namespace Resource ID (from IT team or Azure Portal)
azd env set EXISTING_EVENT_HUB_NAMESPACE_ID "/subscriptions/sub-123/resourceGroups/rg-corporate-eventhubs/providers/Microsoft.EventHub/namespaces/corporate-eventhub"
# 2. Deploy to YOUR resource group (when prompted by azd up)
azd up
# → Select or create YOUR resource group: "rg-my-rti-demo"Example: Same Resource Group Deployment
You have an existing Event Hub namespace in a resource group and want to deploy everything there:
# Use the namespace Resource ID
azd env set EXISTING_EVENT_HUB_NAMESPACE_ID "/subscriptions/abc-123/resourceGroups/rg-all-resources/providers/Microsoft.EventHub/namespaces/my-namespace"
# During azd up, select the same resource group
azd up
# → Select resource group: "rg-all-resources"Use an existing Fabric Capacity:
azd env set EXISTING_FABRIC_CAPACITY_NAME "my-existing-fabric-capacity"Note: Looked up by name across your entire tenant
Use an existing Fabric Workspace:
azd env set FABRIC_WORKSPACE_NAME "My Existing Workspace Name"Note: Must match the exact workspace name
📌 Note: When using existing resources (Event Hub Namespace or Fabric Capacity) from different resource groups, creating a new resource group during deployment will result in an empty resource group. Existing resources remain in their original locations. Consider deploying to the same resource group as your Event Hub Namespace for better resource organization.
3.3 Customize Resource Names (Optional)
Configure custom names for your workspace and Fabric components. If not set, defaults will use your environment name and a generated suffix.
Workspace Configuration:
azd env set FABRIC_WORKSPACE_NAME "My RTI Workspace"
azd env set FABRIC_WORKSPACE_ADMINISTRATORS "user@company.com,12345678-1234-abcd-1234-123456789abc" # comma-separatedComponent Names:
azd env set FABRIC_EVENTHOUSE_NAME "my_custom_eventhouse"
azd env set FABRIC_EVENTHOUSE_DATABASE_NAME "my_custom_kql_db"
azd env set FABRIC_EVENT_HUB_CONNECTION_NAME "my_eventhub_connection"
azd env set FABRIC_RTIDASHBOARD_NAME "My Custom Dashboard"
azd env set FABRIC_EVENTSTREAM_NAME "my_custom_eventstream"
azd env set FABRIC_ACTIVATOR_NAME "my_custom_activator"
azd env set FABRIC_DATA_AGENT_NAME "my_custom_dataagent"
azd env set FABRIC_DATA_AGENT_CONFIGURATION_FOLDER_NAME "my_custom_folder"
azd env set FABRIC_DATA_AGENT_CONFIGURATION_ENVIRONMENT_NAME "my_custom_environment"
azd env set FABRIC_DATA_AGENT_CONFIGURATION_NOTEBOOK_NAME "my_custom_notebook"3.4 Required Permissions for Existing Resources
When using an existing Event Hub Namespace in a different resource group or subscription, ensure you have:
| Permission | Why It's Needed | How to Check |
|---|---|---|
| Contributor on the Event Hub Namespace | To create the new Event Hub and role assignment | Can you see and manage the namespace in Azure Portal? |
| Owner or User Access Administrator on the namespace | To grant yourself "Data Sender" role | Can you modify Access Control (IAM) on the namespace? |
💡 Tip: If you don't have these permissions, ask your Azure administrator to:
- Pre-create an Event Hub for you in the namespace
- Grant you "Azure Event Hubs Data Sender" role on that Event Hub
- Then provide you the Event Hub details to use
3.5 Configuration Summary
✅ What's flexible:
- Deploy the RTI solution to any resource group you choose
- Reuse Event Hub Namespace from any resource group or subscription
- Reuse Fabric Capacity from anywhere in your tenant
⚠️ What you need:
- Appropriate permissions on existing resources (see table above)
- Resource ID for Event Hub Namespace (not just the name)
🎯 Best practice:
- A new Event Hub is always created to avoid mixing unrelated event types
- You can mix and match: use existing workspace but new Azure resources, or vice versa
All configuration variables
Customizable Variables:
| Variable | Description | Default |
|---|---|---|
FABRIC_WORKSPACE_NAME |
Workspace name (reused if exists) | Real-Time Intelligence for Operations - <env-name><suffix> |
FABRIC_WORKSPACE_ADMINISTRATORS |
Workspace admins (comma-separated) | None |
FABRIC_ACTIVATOR_ALERTS_EMAIL |
Alert email address | alerts@contoso.com |
EXISTING_FABRIC_CAPACITY_NAME |
Existing Fabric Capacity to reuse | None |
EXISTING_EVENT_HUB_NAMESPACE_ID |
Existing Event Hub Namespace resource ID | None |
AZURE_RESOURCE_GROUP |
Target resource group | Prompted during deployment |
If you haven't already cloned the repository, do so now:
git clone https://github.com/microsoft/real-time-intelligence-operations-solution-accelerator.git
cd real-time-intelligence-operations-solution-accelerator# Login to Azure
azd auth login
# For specific Azure tenants:
azd auth login --tenant-id <your-tenant-id>Note: Finding Your Tenant ID:
- Open Azure Portal
- Go to Microsoft Entra ID
- Copy the Tenant ID from the Overview section
Additionally, authenticate with Azure CLI to enable the deployment script to access Azure resources:
# login to access Azure resources
az loginSee Step 3: Configure Deployment Settings for all configuration options including:
- Alert email addresses
- Reusing existing Azure/Fabric resources
- Custom resource names
NOTE: If you are running the latest azd version (version 1.23.9), please run the following command.
azd config set provision.preflight offRun the deployment command:
azd up # Deploy everythingDuring deployment, you'll be prompted for:
- Environment name (e.g., "myrtisys") - This will be used to build the name of the deployed Azure resources.
- Azure subscription - Select your target subscription
- Azure resource group - Create new or select existing group
What Happens During Deployment:
- Infrastructure provisioning (Azure resources)
- Fabric workspace creation
- Component setup (Eventhouse, dashboard, Activator)
- Sample data loading
- Connection configuration
- Folder setup
- Data Agent configuration through Runbook (Preview)
Preview Feature Notice: Steps involving Fabric Data Agent configuration are Preview features. If these steps fail, the core functionality will still work, and you can complete the setup manually using our guides.
After azd up completes successfully:
- ✅ Check the deployment summary displayed in your terminal
- ✅ Verify resources in Azure Portal
- ✅ Confirm your Fabric workspace in Fabric workspace management
Preview Feature Notice: If the Data Agent setup fails during deployment (step 14), the core Real-Time Intelligence functionality will still work. You can complete the Data Agent setup manually using the Fabric Data Agent Guide.
Next: See Step 6: Deployment Results for details on all deployed resources.
The AI-powered Fabric Data Agent is automatically configured during deployment to answer natural language questions about your data.
- Verification and Usage: See Fabric Data Agent Guide
- Demonstration Flow: See Demonstrator's Guide - Step 1
Note: Data Agent automation is a Preview feature. If the automated setup fails during deployment, you can complete the setup manually using the guide above.
Test your new environment with real-time streaming data.
- Setup and Instructions: See Event Simulator Guide
Set up real-time anomaly detection and alert notifications with Activator.
-
Pre-configured Alert Rules:
- High Speed - Triggers when asset speed exceeds 100
- Low Speed - Triggers when asset speed falls below 28
- High Vibration - Triggers when vibration exceeds 0.4
- High Defect Probability - Triggers when defect probability exceeds 0.02
-
Configuration:
- Alert delivery via email (configured during deployment)
- Optional: Configure Microsoft Teams channel alerts
- Review and customize alert thresholds as needed
-
Setup and Configuration: See Activator Guide
-
Demonstration Flow: See Demonstrator's Guide - Step 5
Access your deployed resources to confirm everything is working:
-
Azure Portal:
- View infrastructure, Event Hub, and Fabric Capacity
- Monitor resource health and metrics
-
Fabric Workspace (app.fabric.microsoft.com):
- Eventhouse and KQL database
- Real-time dashboards
- Eventstream data pipeline
- Activator with configured alert rules
-
Real-Time Dashboard:
- Open the dashboard created during deployment (e.g.,
rti_dashboard_myrti...) - Monitor live asset telemetry and operational metrics
- Open the dashboard created during deployment (e.g.,
-
Data Agent (Conversational Queries):
- Ask natural language questions about your data
- See AI-powered query generation
- Explore data insights conversationally
After successful deployment, you have:
| Resource | Purpose | Details |
|---|---|---|
| Fabric Capacity | Compute for Fabric workloads | Auto-scaled, dedicated capacity |
| Azure Event Hub | Real-time data ingestion | Scalable event streaming service |
| Azure Resource Group | Resource organization | Contains all deployed resources |
Workspace Name: Real-Time Intelligence for Operations - <your-env-name><suffix>
Contents:
- Eventhouse (real-time analytics engine)
- KQL Database (high-performance queries)
- Sample data (pre-loaded for testing)
- Real-time Dashboards (operational monitoring)
- Eventstream (data pipeline orchestration)
- Activator (anomaly detection and alerting)
- Data Agent (AI-powered conversational queries)
- Folder (organizational container for Data Agent configuration components)
- Notebook (Data Agent configuration (Preview))
- Environment (library and compute management)
| Component | Purpose |
|---|---|
| Eventhouse | Real-time analytics engine for streaming data |
| KQL Database | High-performance query database with pre-configured schema |
| Sample Tables | Asset telemetry, events, locations, product data |
Secure connection for real-time data flow:
- Name:
rti_eventhub_connection_<env-name><suffix> - Type: Event Hub source connector
- Authentication: SAS token-based security
Refer to Real-Time Dashboard Guide for detailed KPIs and expected results.
Refer to Activator Guide for detailed instructions and anomaly rules.
Data pipeline orchestration:
- Source: Azure Event Hub (real-time events)
- Processing: Streaming data transformation
- Destination: Eventhouse KQL Database
- Data Fields: AssetId, Speed, Vibration, Temperature, Humidity, DefectProbability
AI-powered conversational data interface:
- Name:
rti_dataagent_<env-name><suffix> - Type: Fabric Data Agent for natural language queries
- Connected Database: KQL Database for real-time analytics
Folder with script to set up Data Agent configuration
- Folder:
rti_dataagentconfig_<env-name><suffix>for organizational structure - Purpose: Container to host assets to configure the Data Agent
Library and compute environment management:
- Name:
rti_environment_<env-name><suffix> - Type: Fabric Environment for managing Python libraries and dependencies
- Configuration: Pre-configured with required libraries from environment.yml
- Purpose: Provides compute environment and libraries set up for Data Agent configuration runbook
Library and compute environment management:
- Name:
rti_notebook_<env-name><suffix> - Type: Fabric Environment for managing Python libraries and dependencies
- Configuration: Pre-configured with required code to set up Data Agent
- Purpose: Provides automation to set up configuration of the Data Agent
Note: Data Agent configuration script is a Preview feature and may have limitations. If automated setup fails, refer to the Fabric Data Agent Guide for manual configuration.
When you no longer need the deployment:
# Navigate to your solution directory
cd real-time-intelligence-operations-solution-accelerator
# Remove everything deployed by azd up
azd down --force --purgeWhat Gets Cleaned Up:
- ✅ Fabric workspace and all components (Eventhouse, Dashboard, Activator, Environment, Data Agent)
- ✅ Azure Event Hub and infrastructure
- ✅ Fabric capacity (if created by deployment)
- ✅ Resource groups and configurations
What Gets Preserved:
- ✅ Local development files
- ✅ Environment configurations
- ✅ Source code
Note: This command removes all Azure resources. Ensure you've backed up any important data before running cleanup.
If automated cleanup fails:
- Go to Azure Portal
- Navigate to Resource Groups
- Select your resource group
- Click Delete resource group
- Confirm deletion
Best Practices:
- Use descriptive names:
myrti-dev,myrti-prod,myrti-test - Clean up unused: Run
azd downto remove environments no longer needed
For common deployment problems and quick fixes (including Fabric workspace/capacity mismatches), see below.
Problem: Service Principal lacks Fabric REST API permissions
Symptoms:
- Deployment fails during workspace or component creation
- Error mentions "insufficient permissions" or "unauthorized access"
Resolution:
-
Verify Fabric Licensing - Ensure your organization has appropriate Microsoft Fabric licenses
-
Verify Organization Setup:
- Confirm Microsoft Fabric is enabled in your organization
- Check that appropriate Fabric licenses are assigned
-
Enable Required Tenant Settings:
- Go to Microsoft 365 admin center
- Navigate to Settings → Org settings → Microsoft Fabric
- Enable "Service principals and managed identities support on Fabric REST API"
-
Configure Service Principal Permissions:
- Follow Fabric Identity Support documentation
- Ensure service principal has required Fabric REST API scopes
-
Verify Azure Permissions:
- Confirm deployment identity has Contributor or Owner role on subscription/resource group
- Check that Microsoft.Fabric and Microsoft.EventHub resource providers are registered
- Review Technical Architecture for system design questions
- See FAQ for common questions
Now that deployment is complete, explore these resources:
- Demonstrator's Guide - How to present and demo the solution
- Event Simulator Guide - Test with real-time streaming data
- Dashboard Guide - Customize dashboards and queries
- Activator Guide - Configure alerts and anomaly detection rules
- Data Agent Guide - Enable AI-powered conversational queries
- Data Ingestion Guide - Load and manage historical data
- Technical Architecture - System design, components, and data flow
- 🐛 Issues: Check Known Issues and Troubleshooting section above
- 🐞 Report Issue: Open a GitHub Issue for bugs or problems
- 💬 Support: Review Support Guidelines
- 🔧 Contributing: See Contributing Guide
- 📖 FAQs: Check Frequently Asked Questions








