Skip to content

Latest commit

 

History

History
188 lines (141 loc) · 8.36 KB

File metadata and controls

188 lines (141 loc) · 8.36 KB

Umbraco AI
AI integration layer for Umbraco CMS, built on Microsoft.Extensions.AI.


Products

This is a monorepo containing multiple Umbraco.AI packages:

Core

Product Description Version Location
Umbraco.AI Core AI integration layer 1.x Umbraco.AI/

Addons

Product Description Version Location
Umbraco.AI.Agent AI agent management and runtime 1.x Umbraco.AI.Agent/
Umbraco.AI.Agent.UI Reusable chat UI infrastructure (library) 1.x Umbraco.AI.Agent.UI/
Umbraco.AI.Agent.Copilot Copilot chat UI for agents (frontend-only) 1.x Umbraco.AI.Agent.Copilot/
Umbraco.AI.Prompt Prompt template management 1.x Umbraco.AI.Prompt/
Umbraco.AI.Search AI-powered semantic vector search 1.x Umbraco.AI.Search/

Deploy

Product Description Version Location
Umbraco.AI.Deploy Deploy support for AI entities 1.x Umbraco.AI.Deploy/
Umbraco.AI.Prompt.Deploy Deploy support for prompts 1.x Umbraco.AI.Prompt.Deploy/
Umbraco.AI.Agent.Deploy Deploy support for agents 1.x Umbraco.AI.Agent.Deploy/

Providers

Product Description Version Location
Umbraco.AI.OpenAI OpenAI provider 1.x Umbraco.AI.OpenAI/
Umbraco.AI.Anthropic Anthropic provider 1.x Umbraco.AI.Anthropic/
Umbraco.AI.Amazon Amazon Bedrock provider 1.x Umbraco.AI.Amazon/
Umbraco.AI.Google Google Gemini provider 1.x Umbraco.AI.Google/
Umbraco.AI.MicrosoftFoundry Microsoft AI Foundry provider 1.x Umbraco.AI.MicrosoftFoundry/

Quick Start

The fastest way to get started is using the install-demo script, which creates a unified development environment with all packages and a demo Umbraco site:

# Windows
.\scripts\install-demo-site.ps1

# Linux/Mac
./scripts/install-demo-site.sh

This creates:

  • Umbraco.AI.local.slnx - Unified solution with all products
  • demo/Umbraco.AI.DemoSite/ - Umbraco instance with all packages referenced

After running the script, build the frontend and backend:

# Install frontend dependencies
npm install

# Build all frontend packages
npm run build

# Build the unified solution
dotnet build Umbraco.AI.local.slnx

# Run the demo site (from demo/Umbraco.AI.DemoSite/)
cd demo/Umbraco.AI.DemoSite
dotnet run

Demo site credentials: admin@example.com / password1234

Local Development

Building Individual Products

Each product has its own solution file and can be built independently:

# Build individual products
dotnet build Umbraco.AI/Umbraco.AI.slnx
dotnet build Umbraco.AI.Agent/Umbraco.AI.Agent.slnx
dotnet build Umbraco.AI.Prompt/Umbraco.AI.Prompt.slnx
dotnet build Umbraco.AI.Deploy/Umbraco.AI.Deploy.slnx
dotnet build Umbraco.AI.Prompt.Deploy/Umbraco.AI.Prompt.Deploy.slnx
dotnet build Umbraco.AI.Agent.Deploy/Umbraco.AI.Agent.Deploy.slnx
dotnet build Umbraco.AI.OpenAI/Umbraco.AI.OpenAI.slnx
dotnet build Umbraco.AI.Anthropic/Umbraco.AI.Anthropic.slnx
dotnet build Umbraco.AI.Amazon/Umbraco.AI.Amazon.slnx
dotnet build Umbraco.AI.Google/Umbraco.AI.Google.slnx
dotnet build Umbraco.AI.MicrosoftFoundry/Umbraco.AI.MicrosoftFoundry.slnx

Frontend Development (npm Workspaces)

This monorepo uses npm workspaces for frontend dependency management. Add-on packages (@umbraco-ai/prompt, @umbraco-ai/agent) automatically reference the local @umbraco-ai/core during development using the workspace:* protocol.

# Install all workspace dependencies (run from monorepo root)
npm install

# Build all frontends (sequential: core -> prompt -> agent)
npm run build

# Watch all frontends in parallel
npm run watch

# Build/watch specific packages
npm run build:core
npm run build:prompt
npm run watch:agent

Workspace Benefits:

  • Single npm install installs all dependencies across all packages
  • Automatic local package linking (no manual npm link required)
  • Common dependencies are hoisted to the root node_modules
  • workspace:* automatically replaced with published version during npm pack

Architecture

Umbraco.AI (Core)
    ├── Umbraco.AI.OpenAI (Provider - depends on Core)
    ├── Umbraco.AI.Anthropic (Provider - depends on Core)
    ├── Umbraco.AI.Amazon (Provider - depends on Core)
    ├── Umbraco.AI.Google (Provider - depends on Core)
    ├── Umbraco.AI.MicrosoftFoundry (Provider - depends on Core)
    ├── Umbraco.AI.Prompt (Add-on - depends on Core)
    │   └── Umbraco.AI.Prompt.Deploy (Deploy - depends on Prompt + Deploy)
    ├── Umbraco.AI.Agent (Add-on - depends on Core)
    │   ├── Umbraco.AI.Agent.UI (Frontend library - depends on Agent)
    │   ├── Umbraco.AI.Agent.Copilot (Chat UI - depends on Agent + Agent.UI)
    │   └── Umbraco.AI.Agent.Deploy (Deploy - depends on Agent + Deploy)
    └── Umbraco.AI.Deploy (Deploy - depends on Core)

Documentation

Target Framework

  • .NET 10.0 (net10.0)
  • Umbraco CMS 17.x
  • Central Package Management via Directory.Packages.props

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines on:

  • Development workflow and branch naming conventions
  • Commit message format (conventional commits)
  • Changelog generation and maintenance
  • Pull request process
  • Release and deployment procedures
  • Coding standards

For development setup and build commands, see CLAUDE.md.

License

This project is licensed under the MIT License. See LICENSE.md for details.