Skip to main content

What Edgit Does

Edgit extends Git with component-aware versioning. It tracks components (prompts, configs, queries, scripts, schemas), agents, and ensembles in a registry, uses Git tags for semantic versioning, and provides deployment tracking. Everything lives in Git. No proprietary storage. No vendor database. You own the source of truth.

Philosophy: A Thin Git Wrapper

Edgit’s job ends at git push. It creates Git tags, updates the registry, and pushes to your repository. That’s it. GitHub Actions handles everything after that. Deployment, validation, notifications—all standard Git workflows. Edgit doesn’t manage infrastructure, run webhooks, or orchestrate deploys. It’s just Git with component awareness. This keeps Edgit simple, portable, and compatible with any Git-based workflow you already have.

The Problem It Solves

Modern AI systems have hundreds of independently evolving pieces:
  • 50+ prompts
  • 20+ agent implementations
  • Dozens of SQL queries
  • Multiple config files
  • Various scripts and transforms
Traditional approach: Everything gets the same version number. Change one prompt, bump the entire app to v2.0.0. Want to rollback? Revert the entire codebase. Edgit approach: Each component versions independently. Mix optimal versions from different points in time. Rollback one component without touching anything else.

Core Features

Component Versioning

Components are hot-swappable artifacts that don’t require rebuilds:
  • Prompts (.md) - AI instructions
  • Configs (.json, .yaml) - Settings
  • Queries (.sql) - Database queries
  • Scripts (.js, .ts) - Reusable functions
  • Schemas (.json) - JSON Schema for structured AI outputs
Each gets its own version history via Git tags.

Agent Versioning

Agents are worker implementations that require rebuilds to deploy:
Now you can reference versioned agents in ensembles:

Ensemble Versioning

Ensembles are workflow definitions that orchestrate agents. They can be written in YAML or TypeScript:
TypeScript ensembles provide full type safety:

Git Tag Namespace

All tags use a 4-level format: {prefix}/{type}/{name}/{slot}
Prefix meanings:
  • components/ - Hot-swappable artifacts (prompts, queries, configs, scripts, schemas)
  • logic/ - Requires rebuild to deploy (agents, ensembles)
Type examples:
  • prompts/, queries/, configs/, scripts/, schemas/ (under components/)
  • agents/, ensembles/ (under logic/)
Slot types:
  • Semantic versions: v1.0.0, v2.1.3
  • Environment tags: prod, staging, dev
The prefix is automatically inferred from the file location in your repository.

Tag Commands

Deployment Tracking

Know exactly what’s deployed where:

Component Discovery

Find and register components automatically:

Use Edgit For Everything

Edgit is 100% Git-compatible. Every git command works as an edgit command.

Why Use Edgit Instead of Git?

Muscle Memory

Type edgit for all operations. No mental switching between tools.

Component Awareness

Edgit understands your components in ALL operations - not just tagging.

Future Features

We can enhance any Git command later (smarter merging, better diffs, etc.)

Zero Conflicts

Edgit passes through to Git for standard operations. Identical behavior.

The Versioning Multiverse

With independent versioning of components, agents, AND ensembles, you unlock infinite combinations:

Time Travel

Reproduce bugs from last week by recreating the exact environment:

Next Steps

Installation Guide

Detailed setup instructions

Basic Usage

Learn the essential commands

Versioning Guide

Master component and agent versioning

CLI Reference

Complete command documentation
Edgit is open source and free to use. Version data lives in your Git repository, not our servers.You own everything.