Skip to main content

Overview

Components are reusable artifacts that can be versioned, shared, and referenced across your ensembles. They’re managed by edgit, Ensemble’s version control system for AI artifacts.

Component Types

Conductor supports seven types of components:

Why Use Components?

Version Control

Reusability

Define once, use everywhere:

Team Collaboration

  • Share components across teams
  • Review changes before deployment
  • Roll back to previous versions
  • A/B test different versions

Gradual Rollouts

Component References

Versioned Reference

Reference a specific version:

Tag Reference

Reference by tag:

Major Version Reference

Auto-upgrade to latest patch/minor:

Latest Reference

Always use the latest version:

Shorthand (defaults to @latest)

Component Organization

Organize components in your project:

Versioning Components

Initialize Component

Semantic Versioning

Follow semver for clear version meanings:
  • Major (v2.0.0): Breaking changes
  • Minor (v1.1.0): New features, backwards compatible
  • Patch (v1.0.1): Bug fixes, no new features

Tagging

Tag versions for deployment stages:

View Versions

A/B Testing Components

Test different component versions:
See A/B Testing for more patterns.

Component Types Deep Dive

Schemas

JSON Schema definitions for structured AI outputs.

Prompts

Markdown files with AI instructions and templates.

Configs

JSON/YAML configuration files.

Queries

SQL query templates.

Scripts

JavaScript/TypeScript functions.

Docs

Markdown documentation with Handlebars template support.

Best Practices

1. Version Early and Often

2. Use Semantic Versioning

3. Tag Production Versions

4. Document Breaking Changes

5. Test Before Promoting

6. Lock Production to Versions

Next Steps

Schemas

JSON Schema for structured outputs

Prompts

Reusable AI instruction templates

Configs

Configuration management

Queries

SQL query templates

Scripts

Reusable JavaScript/TypeScript

Docs

Markdown documentation components

Edgit

Version control system