Skip to content
manmartgarcPublic

About

Agent-agnostic dotfile sync across machines

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

negent — Agent-agnostic dotfile sync

CI Release License: MIT

negent syncs AI coding assistant config and memory files across machines using a git-backed remote store.

Why use it

  • Keep assistant setup consistent across laptop/workstation/server environments.
  • Review and version assistant data with standard Git workflows.
  • Preview all sync actions before applying them (diff, push --dry-run, pull --dry-run).
  • Resolve local/remote conflicts with interactive or non-interactive flows.

Support matrix

Area Status
Agents Claude Code, GitHub Copilot CLI
Platforms Linux, macOS
Backend Git
Windows Not supported yet

Installation

Option 1: Go install

go install github.com/manmart/negent@latest

Option 2: Prebuilt binaries

Download artifacts from GitHub Releases (published for tagged versions).

Option 3: Build from source

git clone https://github.com/manmart/negent.git
cd negent
go build -o negent .

Quick start

  1. Create a Git repository to act as your shared sync store.
  2. On machine A, initialize negent:
negent init --repo git@github.com:<you>/<negent-sync-repo>.git
  1. Preview and push local data:
negent push --dry-run
negent push
  1. On machine B, point to the same repo and pull:
negent init --repo git@github.com:<you>/<negent-sync-repo>.git
negent pull --dry-run
negent pull
  1. Check ongoing state:
negent status
negent diff
  1. If pull detects local/remote conflicts:
negent conflicts --list
negent conflicts

Command reference

Command Purpose
add <agent> Add another agent to an existing negent setup
auto Manage automatic sync hooks
clean <agent> Delete local agent configuration on this machine
completion Generate the autocompletion script for the specified shell
config edit Edit negent configuration
conflicts List and resolve sync conflicts
diff Preview local and remote sync actions
init Initialize negent on this machine
link <agent> <remote-project> <local-path> Manually link a remote project to a local path
pull Pull remote agent configs to this machine
push Push local agent configs to the remote
status Show sync status for configured agents

Plugins

negent ships as a plugin for GitHub Copilot CLI and Claude Code with the same /negent:* commands and auto-sync hooks.

GitHub Copilot CLI

See GitHub's plugin installation docs for marketplace and direct repository install options.

Option A: Marketplace (recommended)

From inside Copilot:

/plugin marketplace add manmartgarc/negent
/plugin install negent@negent

From your shell:

copilot plugin marketplace add manmartgarc/negent
copilot plugin install negent@negent

Option B: Direct from GitHub

copilot plugin install manmartgarc/negent:plugin

Option C: Local development

copilot --plugin-dir ./plugin

If you test via install instead, reinstall after changes because Copilot caches plugin contents:

copilot plugin install ./plugin

Claude Code

negent also ships as a Claude Code plugin.

Option A: Marketplace (recommended)

From inside Claude Code:

/plugin marketplace add manmartgarc/negent
/plugin install negent@negent

From your shell:

claude plugin marketplace add manmartgarc/negent
claude plugin install negent@negent

The plugin auto-installs the negent binary from GitHub Releases on first run if it is not already available on your PATH.

Option B: Local development

claude --plugin-dir ./plugin

Plugin commands

Command Description
/negent:push Push local configs to remote
/negent:pull Pull remote configs to this machine
/negent:status Show sync status
/negent:diff Preview sync differences
/negent:conflicts List and resolve conflicts

Auto-sync hooks

The plugin automatically syncs on session start (push then pull) and session stop (push).

Legacy: settings.json hooks

Alternatively, negent auto enable installs hooks directly into ~/.claude/settings.json. The plugin approach above is preferred.

License

MIT — see LICENSE.

About

Agent-agnostic dotfile sync across machines

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages