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