Skip to main content

CLI tool for scaffolding and syncing AI agent workspace configuration files

Project description

AgentsMD

CLI tool for scaffolding and syncing AI agent workspace configuration files.

Installation

pip install agentsmd

Quick Start

# First, authenticate (get a token from https://agentsmd.live)
agentsmd login --token <your-token>

# Create a new workspace in the current folder
agentsmd init

# Push your workspace to the cloud
agentsmd sync

On another machine

agentsmd login --token <same-token>
agentsmd init                    # pick your workspace from the list

Features

  • Import-or-Generate Initagentsmd init detects existing agent files (CLAUDE.md, .cursor/rules/, .claude/, .cursorrules, .windsurfrules, copilot-instructions.md, CONVENTIONS.md, .clinerules, .continue/, AGENTS.md, .rules, KIMI.md…) and imports them. If none are present, it asks one question (which tool?) and scans your repo (package.json scripts, framework, README) to generate a single high-quality config file.
  • Multi-Machine Sync — Push and pull workspaces across machines with a single token
  • Cross-Tool Sync — Convert between AI tool config formats (Claude Code, Cursor, Copilot, Windsurf)
  • Format Migration — Migrate existing config files between formats
  • Reconciliation — Re-derive all tool formats from a single source of truth

How workspaces work

A workspace is a named set of agent config files that lives in your AgentsMD cloud account. Each local folder is bound to one workspace, so commands like sync know what to push and pull.

You can rename or move the folder freely. The binding follows the directory. Free accounts get 1 workspace; Pro unlocks unlimited.

Commands

Command Description
agentsmd login --token <X> Authenticate via API token
agentsmd logout Clear local credentials
agentsmd init Show workspace picker (clone existing or create new)
agentsmd init --name NAME Create a new workspace (shortcut when no cloud workspaces exist)
agentsmd init --from <name> Clone an existing workspace by name
agentsmd init --directory <dir> Target directory when cloning with --from
agentsmd init --force Overwrite a target file in generate-mode if it already exists
agentsmd init --no-push Skip the automatic cloud upload at the end of init
agentsmd init --no-hide-ide Don't auto-hide .agentsmd/ from VS Code / Cursor / Zed / Sublime / JetBrains
agentsmd list List your cloud workspaces
agentsmd link <name> Bind the current folder to an existing workspace
agentsmd link --remove Remove the local binding (cloud workspace is preserved)
agentsmd delete <name> Delete a cloud workspace and all its files
agentsmd delete <name> --force Skip confirmation when deleting
agentsmd up Upload local changes to the cloud
agentsmd down Download cloud changes to local
agentsmd sync Bidirectional sync with the cloud (uses your saved conflict strategy)
agentsmd sync --interactive Per-conflict prompt: [L]ocal / [C]loud / [B]oth / [M]erge
agentsmd sync --auto Newest-mtime wins; rejected version saved under .agentsmd/conflicts/
agentsmd status Show sync status for the current workspace
agentsmd restore Undo the last sync/up/down by restoring backed-up files
agentsmd restore --dry-run Preview what restore would do without writing
agentsmd resolve <path> Redo the most recent conflict for a single file
agentsmd config get <key> Print a stored preference (e.g. conflict.strategy)
agentsmd config set <key> <val> Store a preference (e.g. conflict.strategy interactive)
agentsmd config unset <key> Remove a preference (restores default behavior)
agentsmd config list Show every stored preference
agentsmd convert --reconcile Re-derive all tool config formats from the source of truth
agentsmd convert --from <fmt> Convert between AI tool config formats
agentsmd convert --from <fmt> --to <fmt> Convert to a specific target format
agentsmd convert --from <fmt> --dry-run Print conversion output without writing files

Supported AI Tools

agentsmd init detects and syncs config from any of these. Generate-mode picks one as the target.

Tool Files
Claude Code CLAUDE.md, .claude/
Cursor .cursorrules, .cursor/rules/*.mdc
GitHub Copilot .github/copilot-instructions.md, .github/instructions/
Windsurf .windsurfrules, .windsurf/rules/
OpenCode / Codex AGENTS.md
Aider CONVENTIONS.md, .aider.conf.yml
Cline .clinerules
Continue .continue/
Zed .rules
Kimi CLI KIMI.md, .kimi/

Requirements

  • Python 3.9+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentsmd-1.2.1.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentsmd-1.2.1-py3-none-any.whl (71.2 kB view details)

Uploaded Python 3

File details

Details for the file agentsmd-1.2.1.tar.gz.

File metadata

  • Download URL: agentsmd-1.2.1.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for agentsmd-1.2.1.tar.gz
Algorithm Hash digest
SHA256 59b4d7df1c67c6fa72246a68bc5ed58df3cc65433d503816fa1f1d0503fcd6fd
MD5 56a6e9b7e6017fa1c665d13e6ae1bfa5
BLAKE2b-256 106a632c148f9035cebe1796c4d6ca0218bb7f11fd0783e366bc0ff0da8fb422

See more details on using hashes here.

File details

Details for the file agentsmd-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: agentsmd-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 71.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for agentsmd-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a28f73ac74e8018d832724157b38b5fb13c5b037d120b11fdc6b9e81daa66b7e
MD5 dfc5bf12dff5627a17f1371e36148cbb
BLAKE2b-256 c85fae501c21dfff3a6eeb19b8d8ef85c3605e80e474b49e3538669a0de9547f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page