faneX-ID

faneX-ID Repository Architecture

faneX-ID consists of multiple interconnected repositories that work together to provide a complete identity management ecosystem. This document explains how each repository fits into the overall architecture and how they interact with each other.

Overview

The faneX-ID ecosystem is built on a hub-and-spoke architecture where faneX-ID/core serves as the central hub (single source of truth) and all other repositories connect to it for schema definitions, version information, and standards.

Core Repository

faneX-ID/core - The Foundation

Status: πŸ”’ Private (will become public) Role: Single Source of Truth

The main faneX-ID application repository containing the complete codebase and all standards.

Key Responsibilities

  1. Schema Definitions
    • Integration manifest schemas (integration-manifest.json)
    • Workflow manifest schemas (workflow-manifest.json)
    • Quality score schemas (quality-score.json)
    • All schemas are versioned and backward-compatible
  2. Version Management
    • Central versions.json file defining:
      • manifest_schema_version: Current integration manifest schema version
      • workflow_schema_version: Current workflow manifest schema version
      • required_manifest_version: Minimum required version for compatibility
      • min_core_version: Minimum faneX-ID core version required
    • All dependent repositories fetch this file via HTTP
  3. System Integrations
    • Built-in integrations (GitHub, Mail, Active Directory, Microsoft Entra ID, etc.)
    • These are part of the core application and not installable separately
  4. Documentation & Specifications
    • Core documentation
    • API specifications
    • Integration development guides
    • Workflow examples

Access Pattern

Even though core is private, public repositories can access:

Integration Repositories

faneX-ID/integrations - Official Integration Store

Purpose: Production-ready, community-contributed integrations

Contents:

Features:

Workflow:

  1. Developer creates integration following schema from core
  2. PR Assistant validates against current schema version
  3. Quality score is automatically calculated
  4. Integration is merged and available in the store

faneX-ID/integrations-example - Developer Learning Resource

Purpose: Examples and templates for new integration developers

Contents:

Target Audience:

faneX-ID/integration-validation - Reusable Validation Action

Purpose: GitHub Action for validating integration manifests

Features:

Usage:

- uses: faneX-ID/integration-validation@main
  with:
    manifest-path: 'my-integration/manifest.json'
    schema-version: '2.0.0'

Workflow Repositories

faneX-ID/workflows - Official Workflow Store

Purpose: Pre-built workflows for common automation scenarios

Contents:

Features:

Example Use Cases:

faneX-ID/workflows-example - Workflow Examples

Purpose: Example workflows demonstrating faneX-ID’s capabilities

Contents:

Infrastructure & Tooling

faneX-ID/github-bot - Automation Bot

Purpose: Automated PR and workflow management

Features:

Usage:

Configuration:

faneX-ID/homeassistant-addon - Home Assistant Integration

Purpose: Official Home Assistant add-on for running faneX-ID

Features:

How it Works:

Target Audience:

faneX-ID/faneX-ID.github.io - Documentation Website

Purpose: Official documentation and website

Features:

Technology:

Repository Interaction Flow

Version Synchronization

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     faneX-ID/core (Private)            β”‚
β”‚                                         β”‚
β”‚  .github/versions.json                 β”‚
β”‚  β”œβ”€β”€ manifest_schema_version: "2.0.0"   β”‚
β”‚  β”œβ”€β”€ workflow_schema_version: "2.0.0"  β”‚
β”‚  └── min_core_version: "2025.12.0"     β”‚
β”‚                                         β”‚
β”‚  docs/specs/integrations-manifest/     β”‚
β”‚  └── schemas/                          β”‚
β”‚      β”œβ”€β”€ integration-manifest.json     β”‚
β”‚      β”œβ”€β”€ workflow-manifest.json        β”‚
β”‚      └── quality-score.json            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚
                β”‚ HTTP Fetch (Public Raw Content)
                β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚           β”‚           β”‚
    β–Ό           β–Ό           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚integrat-β”‚ β”‚workflowsβ”‚ β”‚github-  β”‚
β”‚ions     β”‚ β”‚         β”‚ β”‚bot      β”‚
β”‚         β”‚ β”‚         β”‚ β”‚         β”‚
β”‚β€’ PR     β”‚ β”‚β€’ PR     β”‚ β”‚β€’ Managesβ”‚
β”‚  Assistantβ”‚  Assistantβ”‚   PRs   β”‚
β”‚  fetchesβ”‚ β”‚  fetchesβ”‚ β”‚         β”‚
β”‚  versionsβ”‚ β”‚  versionsβ”‚ β”‚         β”‚
β”‚β€’ Validatesβ”‚ β€’ Validatesβ”‚ β”‚         β”‚
β”‚  against β”‚ β”‚  against β”‚ β”‚         β”‚
β”‚  schema  β”‚ β”‚  schema  β”‚ β”‚         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

PR Validation Flow

  1. Developer creates PR in integrations or workflows
  2. PR Assistant workflow triggers:
    • Fetches versions.json from core via HTTP
    • Downloads current schema from core
    • Validates manifest against schema
    • Checks quality requirements
  3. Feedback provided:
    • Success: PR approved for review
    • Failure: Detailed error messages with fixes

Release Flow

  1. Release published in any repository
  2. Documentation site workflow triggers:
    • Fetches release information from all repositories
    • Updates docs/.data/releases.json
    • Website automatically displays new releases
  3. Version information:
    • Fetches versions.json from core
    • Displays on status page
    • Shows compatibility information

Repository Dependencies

Direct Dependencies

Repository Depends On Dependency Type
integrations core Schema versions, validation
integrations-example core Schema versions, examples
workflows core Schema versions, validation
workflows-example core Schema versions, examples
integration-validation core Schema definitions
homeassistant-addon core Source code, releases
faneX-ID.github.io All repos Release information, docs
github-bot All repos PR management, workflow retry

Dependency Management

Best Practices

For Integration Developers

  1. Always fetch latest schema from core before creating integration
  2. Follow manifest schema exactly as defined
  3. Include comprehensive README with usage examples
  4. Test integration before submitting PR
  5. Let quality score calculate automatically (don’t manually edit)

For Workflow Developers

  1. Use official integrations from integrations repository
  2. Follow workflow schema from core
  3. Include error handling in all workflows
  4. Document workflow purpose and requirements
  5. Test with sample data before publishing

For Repository Maintainers

  1. Keep schemas in sync with core
  2. Update version requirements when core updates
  3. Monitor PR Assistant for validation failures
  4. Maintain quality standards for merged content
  5. Keep documentation updated

Repository Status

Repository Status Public Purpose
core πŸ”’ Private No Main application, schemas, standards
integrations βœ… Active Yes Production integrations
integrations-example βœ… Active Yes Integration examples
integration-validation βœ… Active Yes Validation GitHub Action
workflows βœ… Active Yes Production workflows
workflows-example βœ… Active Yes Workflow examples
github-bot βœ… Active Yes Automation bot
homeassistant-addon βœ… Active Yes Home Assistant add-on
faneX-ID.github.io βœ… Active Yes Documentation website

Getting Started

For Users

  1. Install faneX-ID:
    • Via Docker Compose (from core)
    • Via Home Assistant Add-on (from homeassistant-addon)
  2. Browse Integrations:
    • Visit integrations repository
    • Install via faneX-ID UI
  3. Browse Workflows:
    • Visit workflows repository
    • Import and customize workflows

For Developers

  1. Read Documentation:
    • Start with faneX-ID.github.io
    • Review integration development guide
  2. Study Examples:
    • Check integrations-example for integration patterns
    • Check workflows-example for workflow patterns
  3. Create Integration:
    • Follow schema from core
    • Submit PR to integrations
  4. Create Workflow:
    • Use integrations from integrations
    • Submit PR to workflows