# Create version tagedgit tag create my-prompt v1.0.0# List versionsedgit tag list my-prompt# Output: v1.0.0, v1.1.0, v1.2.0# View what changedgit show components/prompts/my-prompt/v1.0.0
Version multiple components:
edgit tag create extraction-prompt v1.0.0edgit tag create analysis-config v2.1.0edgit tag create validation-query v0.5.0
Each component gets its own independent version history.Tags use 4-level format:
Mark which versions are deployed to which environments:
# Deploy to stagingedgit tag set my-prompt staging v1.0.0edgit push --tags --force# Test in staging...# All good? Deploy to productionedgit tag set my-prompt prod v1.0.0edgit push --tags --force# Deploy multiple componentsedgit tag set extraction-prompt prod v1.0.0edgit tag set analysis-config prod v2.1.0edgit push --tags --force
Deployment is just metadata. Edgit creates tags like components/prompts/my-prompt/prod that point to v1.0.0. Your CI/CD reads these tags.
# Rollback to previous versionedgit tag set my-prompt prod v0.9.0edgit push --tags --force# Or specific versionedgit tag set my-prompt prod v0.5.0edgit push --tags --force
Rollback is instant (<50ms globally if you’ve deployed version data to Cloudflare KV).
# List all versionsedgit tag list my-prompt# Output: v1.0.0, v0.9.0, v0.8.0# Show version detailsedgit tag show my-prompt@v1.0.0# Shows: commit, author, date, changes
# Register an agentedgit components add agent scraper agents/scraper/# Version itedgit tag create scraper v1.5.0# Deploy itedgit tag set scraper prod v1.5.0edgit push --tags --force# Now reference in ensembles
agents: - name: scraper agent: scraper@v1.5.0 # Locked to specific version
# Deploy to staging firstedgit tag set my-prompt staging v2.0.0edgit push --tags --force# Test thoroughly...# Deploy to canary (10% of prod traffic)edgit tag set my-prompt canary v2.0.0edgit push --tags --force# Monitor...# Full prod rolloutedgit tag set my-prompt prod v2.0.0edgit push --tags --force
# Deploy variant Aedgit tag set my-prompt prod-variant-a v1.0.0edgit push --tags --force# Deploy variant Bedgit tag set my-prompt prod-variant-b v2.0.0edgit push --tags --force# Your ensemble references both
# Production is broken!# Check available versionsedgit tag list my-prompt# Rollback to last known goodedgit tag set my-prompt prod v0.9.5edgit push --tags --force# Under 50ms later, you're back to working version
# Use edgit for everythingedgit add .edgit commit # AI-powered if OPENAI_API_KEY is setedgit pushedgit pulledgit checkout -b feature/new-promptedgit merge main# All git commands work
# Registeredgit components add <type> <name> <path># Versionedgit tag create <name> <version>edgit tag list <name>edgit tag show <name>@<version># Deployedgit tag set <name> <env> <version>edgit push --tags --force# Statusedgit components listedgit components list --format tree|table|json# Discoveredgit discover scanedgit discover scan --type prompt|config|query|scriptedgit discover detect <file># Standard git (all work with edgit)edgit add|commit|push|pull|checkout|merge|...