cd /news/ai-agents/agentsync-version-merge-and-audit-ai… Β· home β€Ί topics β€Ί ai-agents β€Ί article
[ARTICLE Β· art-23169] src=dev.to pub= topic=ai-agents verified=true sentiment=Β· neutral

Agentsync: Version, Merge, and Audit AI Agent Configurations Like Code

A developer has released Agentsync, a Node.js CLI tool that enables versioning, merging, and auditing of AI agent configurations like code. The tool loads JSON, YAML, or INI configs from any repository, performs three-way merges with conflict detection, and runs a 52-point compliance rubric on every change while maintaining a full merge history. Agentsync aims to solve the problem of configuration drift across multiple repos by providing a clear, auditable source of truth for agent configurations in production.

read7 min publishedJun 6, 2026

Most AI engineering teams now run a stack of agent configs across many repos - model choices, tool allowlists, prompt templates, eval thresholds, safety rules. These configs drift the moment two engineers touch them. One repo gets a new policy, another keeps the old one, and nobody notices until an agent makes a decision in production that no one signed off on. Merging configs by hand is error-prone, and there is rarely an audit trail of what changed, when, or why.

Agentsync is a Node.js CLI tool that makes agent configuration something you can version, merge, and audit like code. Load JSON, YAML, or INI configs from any repo, three-way merge with conflict detection, run a 52-point compliance rubric on every change, and keep a full merge history you can revert. The point is that "which config is the source of truth for the agent in production?" should always have a clear, auditable answer.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         agentsync CLI                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ init         β”‚ push         β”‚ pull       β”‚ diff      β”‚ audit    β”‚
β”‚ Initialize   β”‚ Push changes β”‚ Merge      β”‚ Compare   β”‚ Validate β”‚
β”‚ repository   β”‚ to remote    β”‚ remote     β”‚ configs   β”‚ configs  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚           β”‚                 β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                       β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”
   β”‚   Git    β”‚        β”‚   Config   β”‚
   β”‚ Manager  β”‚        β”‚      β”‚
   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
        β”‚                    β”‚
        β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚   β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚  Merge Engine    β”‚
   β”‚  - 3-way merge   β”‚
   β”‚  - Conflict Mgmt β”‚
   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚  Audit Engine         β”‚
   β”‚  - Security scoring   β”‚
   β”‚  - Compliance audit   β”‚
   β”‚  - 52-point rubric    β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The workflow follows a clear sequence. You initialize agentsync in your repository, which sets up local storage at ~/.agentsync/

and connects to a central git remote. From there:

Push - local config changes are committed and pushed to the remote with a message.

Pull - remote configs are fetched and merged into the local state using the three-way merge algorithm. Changes that only one side made are merged automatically. Conflicts - where both sides changed the same key - are surfaced for resolution. Manual resolution mode (--manual

) enables interactive conflict handling.

Diff - shows configuration differences between any two refs, letting you see what changed between versions before committing to a merge.

Audit - runs the 52-point compliance rubric against any config directory. The rubric checks security (hardcoded credentials, encryption, secrets), compliance (audit logs, access control, data retention), structure (proper hierarchy, no duplicates, versioning), performance (object sizes, caching, connection pooling), and documentation (comments, examples, change logs). Every config gets a score from 0 to 100.

Revert - restores configuration from any point in the merge history. Every merge is stored as a timestamped JSON file in ~/.agentsync/history/

.

npm install

Requires Node.js 16+. Git integration expects a repository with a remote named origin

and a default branch of main

with write access.

Initialize

agentsync init -r https://github.com/org/configs

Push Changes

agentsync push -m "Update API configs"
agentsync push --directory ./configs

Pull and Merge

agentsync pull
agentsync pull --manual  # Interactive conflict resolution

View Differences

agentsync diff --from HEAD~1 --to HEAD

Run Audit

agentsync audit --directory ./configs
agentsync audit --directory ./configs --report  # Generate report

Check Status

agentsync status

Restore from History

agentsync revert                    # List recent merges
agentsync revert 2026-05-13T12:30   # Revert to specific merge

Status Output

=== Git Status ===
Branch: main
Modified files: 2
Untracked files: 0

=== Agentsync Config ===
Initialized: true
Version: 1.0.0
Repository: https://github.com/dakshjain-1616/agentsync-configs

=== Merge History ===
- 2026-05-13T12:30:45.123Z: Update configurations
- 2026-05-13T12:25:30.456Z: Sync team configs
- 2026-05-13T12:20:15.789Z: Initial merge

Audit Report Output

=== AUDIT RESULTS ===

config.json: 95/100
  - Missing version specification
  - Potential hardcoded credentials detected

api-config.yaml: 88/100
  - Config not properly documented
  - Missing compliance metadata

Merge Report Example


**Date:** 2026-05-13T12:30:45Z
**Message:** Update API configurations

## Merged Configurations

- api-keys.json
- database.yaml
- cache-config.json (⚠️ CONFLICT)

Configs are scored from 0 to 100:

100

  • perfect configuration

75–99

  • minor issues

50–74

  • moderate concerns

< 50

  • serious compliance issues

Common violations that trigger score deductions:

3-Way Merge - Intelligent conflict detection. Changes on only one side merge automatically.

52-Point Audit - Catches security issues: hardcoded credentials, missing encryption, compliance gaps.

Format Support - Works with JSON, YAML, and INI configs seamlessly.

Full History - Complete audit trail - who changed what and when.

Revert Support - Roll back to any previous state instantly.

Perfect for:

Not ideal for:

JSON:

{
  "apiKey": "...",
  "version": "1.0.0"
}

YAML:

apiKey: "..."
version: "1.0.0"

INI:

[database]
host=localhost
port=5432

Local data stored in ~/.agentsync/

:

~/.agentsync/
β”œβ”€β”€ config/              # Saved configurations
β”‚   └── agentsync.json
└── history/             # Merge audit trail
    └── {timestamp}.json

Config parsing

  • O(n) where n = file size

3-way merge

  • O(k) where k = number of keys

Audit scoring

  • O(m) where m = config size

Typical operation

  • under 100ms
src/
β”œβ”€β”€ index.js                    # CLI entry point
β”œβ”€β”€ modules/
β”‚   β”œβ”€β”€ errors.js              # Custom error classes
β”‚   β”œβ”€β”€ logger.js              # Logging utility
β”‚   β”œβ”€β”€ config-.js       # Load configs (JSON, YAML, INI)
β”‚   β”œβ”€β”€ config-writer.js       # Write configs with backup
β”‚   β”œβ”€β”€ git-manager.js         # Git operations
β”‚   β”œβ”€β”€ local-storage.js       # ~/.agentsync persistence
β”‚   β”œβ”€β”€ merge-engine.js        # 3-way merge algorithm
β”‚   β”œβ”€β”€ merge-history.js       # Merge audit trail
β”‚   β”œβ”€β”€ audit-engine.js        # Compliance scoring
β”‚   └── report-generator.js    # Report generation
└── commands/
    β”œβ”€β”€ init.js
    β”œβ”€β”€ push.js
    β”œβ”€β”€ pull.js
    β”œβ”€β”€ diff.js
    β”œβ”€β”€ audit.js
    β”œβ”€β”€ status.js
    └── revert.js

Custom error types handle every failure mode cleanly:

AgentsyncError

  • base error class

ConfigError

  • config file issues

GitError

  • git operation failures

MergeError

  • merge conflicts or invalid operations
npm test

30 tests covering all core modules:

Error handling - 4 tests

Logging - 3 tests

Config and writing - 12 tests

Merge engine - 6 tests

Audit engine - 5 tests

All code is test-driven - write test first, implement to pass, refactor for clarity.

All code is test-driven:

This project was built using NEO. NEO is a fully autonomous AI engineering agent that can write code and build solutions for AI/ML tasks including AI model evals, prompt optimization and end to end AI pipeline development.

The requirement was a CLI tool for synchronizing AI team configurations across repositories - with three-way merge, a 52-point compliance audit, git integration, merge history, and revert capability, all supporting JSON, YAML, and INI formats. NEO built the full implementation: the CLI entry point, all seven command modules, the merge engine with three-way merge and conflict management, the audit engine with the 52-point rubric, the config and writer, the git manager via simple-git, the local storage layer at ~/.agentsync/

, the merge history tracker, the report generator, and the 30-test test suite covering all core modules.

Use it to enforce compliance before configs reach production.

Run agentsync audit --directory ./configs --report

as part of your deployment pipeline. Any config scoring below your threshold fails the pipeline before it can introduce hardcoded credentials or compliance gaps into production.

Use the merge history as a compliance audit trail.

Every merge is stored as a timestamped JSON file in ~/.agentsync/history/

. For teams with compliance requirements, this gives you a complete record of what changed, when, and under what commit message - queryable and revertable at any point.

Use revert to recover from bad merges instantly.

When a config change causes unexpected agent behavior, agentsync revert 2026-05-13T12:30

restores the full config state to any point in history. No manual git archaeology needed.

Extend it with additional compliance checks.

The audit engine in audit-engine.js

implements the 52-point rubric. New compliance checks for domain-specific requirements follow the same scoring pattern and surface automatically in audit reports and scores.

Agent configuration drift is a silent production risk. agentsync makes it manageable by treating configs the way engineers already treat code - versioned, merged with conflict detection, audited for compliance, and fully revertable. The 52-point rubric catches what manual review misses. The merge history means there is always a clear answer to "what is the source of truth?"

The code is at https://github.com/dakshjain-1616/agentsync

You can also build with NEO in your IDE using the VS Code extension or Cursor.

You can use NEO MCP with Claude Code: https://heyneo.com/claude-code

── more in #ai-agents 4 stories Β· sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/agentsync-version-me…] indexed:0 read:7min 2026-06-06 Β· β€”