dotsync AGENTS.md

Repository instructions for dotsync, a tool that keeps shell and configuration files synchronized across computers using Git and symbolic links. A symbolic link is a file reference that points to another file.

In plain words
What is it for?
Use them when changing the command-line tool, dotfile mappings, installer, symlink behavior, or optional package-hardening scripts.
Why use it?
They prevent personal secrets from entering a public repository and preserve the project’s rules for portable, repeatable setup.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/adonyssantos/dotsync/agents-md
Clone the repo
git clone --depth 1 https://github.com/adonyssantos/dotsync

Made for: Codex, OpenCode.

Per session 772 This file is loaded in full into every session.
When invoked 772 The same file — it is already loaded in full.
Security scan E 3 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00772 $0.00772
Opus 5 $0.00386 $0.00386
Sonnet 5 $0.00154 $0.00154
Haiku 4.5 $0.00077 $0.00077

Measured 2d ago against content hash c57ce0e2d666, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade E, and why

dotsync AGENTS.md scanned grade E with 3 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Downloads and executes remote codehighSupply chain

curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.

- `install.sh` — an installer (works via `curl | bash` or from a local clone).

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

rm -rf "$TMP"

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- `install.sh` — an installer (works via `curl | bash` or from a local clone).
AGENTS.md · 65 lines

How it starts

The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md

Guidance for AI coding agents (Claude Code, Cursor, Copilot, Aider, …) working in this repository. Humans: see README.md.

What this project is

dotsync syncs a user's git/shell dotfiles across machines via a Git repo and symbolic links. It ships:

  • bin/dotsync — a dependency-free bash CLI (the core logic).
  • config/ — the dotfiles that get symlinked into $HOME.
  • sync.map — the manifest mapping config/* files to $HOME targets.
  • install.sh — an installer (works via curl | bash or from a local clone).
  • scripts/secure-packages.sh — optional npm hardening.

Golden rules

  1. Never commit real personal data. No real names, emails, tokens, SSH keys, API keys, hostnames, or machine-specific paths. Config files must ship with placeholders (Your Name, [email protected], your-username).
  2. This is a public template. Keep everything generic and portable. Prefer feature-detection (command -v foo) over hardcoding tools or OSes.
  3. Symlink, never copy. The whole value proposition is that edits flow back into the repo. Don't replace ln -s with cp.
  4. Keep changes idempotent. link, unlink, and install.sh must be safe to run repeatedly. Back up before overwriting; restore on unlink.
  5. No new runtime dependencies. The CLI is intentionally plain bash so it runs anywhere. Don't introduce Node, Python, or package managers to run it.

Conventions

  • Bash scripts start with #!/usr/bin/env bash and set -euo pipefail.
  • Use the existing info/ok/warn/die helpers in the CLI for output.
  • Adding a new synced dotfile = add the file under config/ and a line to sync.map. Files appended to an rc file (not symlinked, like bashrc.aliases) use BEGIN/END markers so they can be cleanly removed.
  • Document any new alias in the README tables and any new command in the CLI reference table.

Before you finish

Run these checks and make sure they pass:

bash -n bin/dotsync install.sh scripts/secure-packages.sh   # syntax
shellcheck bin/dotsync install.sh scripts/secure-packages.sh # if available

# End-to-end smoke test against a throwaway HOME (never your real one):
TMP="$(mktemp -d)"
HOME="$TMP" DOTSYNC_DIR="$PWD" bash bin/dotsync link
HOME="$TMP" DOTSYNC_DIR="$PWD" bash bin/dotsync doctor
HOME="$TMP" DOTSYNC_DIR="$PWD" bash bin/dotsync unlink
rm -rf "$TMP"

Read the full file on GitHub · 65 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 65 lines · 772 tokens per session scan E c57ce0e2d666

Subscribe to this mod's changes

dotsync AGENTS.md is an instructions file published in the GitHub repository adonyssantos/dotsync (40 stars, last pushed 2mo ago), licensed MIT. It adds 772 tokens to every session, about $0.0039 per session on Opus 5. A static security scan graded it E with 3 findings (downloads and executes remote code, recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.