Skip to content

agentsmesh generate

Generate target-specific config files from the canonical .agentsmesh/ directory. This is the primary command you run after editing canonical files.

Usage

Terminal window
agentsmesh generate [flags]

Flags

FlagDescription
--targets <csv>Comma-separated list of target IDs to generate for. Defaults to all configured targets.
--globalGenerate user-level config from ~/.agentsmesh/ instead of project-local config (e.g. claude-code, antigravity, codex-cli; Cursor writes full ~/.cursor/ global surfaces including rules/, AGENTS.md, hooks, ignore, MCP, skills, agents, commands).
--dry-runPreview changes without writing any files.
--checkVerify sync status only. Exit code 1 if out of sync.
--forceBypass collaboration lock violations.
--refresh-cacheRe-fetch remote extends sources before generating.
--no-cacheAlias for --refresh-cache.

Examples

Generate for all configured targets

Terminal window
agentsmesh generate

Reads agentsmesh.yaml, loads all canonical sources, and writes output for each enabled target.

Generate for specific targets only

Terminal window
agentsmesh generate --targets claude-code,cursor

Only generates .claude/ and .cursor/ output, ignoring other configured targets.

Generate global user-level config

Terminal window
agentsmesh init --global
agentsmesh generate --global --targets claude-code,antigravity,codex-cli,cursor

Reads canonical files from ~/.agentsmesh/ and writes user-level outputs per target (for example Claude Code under ~/.claude/ including hooks.json, ~/.claudeignore, skills under ~/.claude/skills/ and mirrored to ~/.agents/skills/ only when Codex is not also a global target, optional output-styles/ when outputStyle: true, plus ~/.claude.json for MCP; Antigravity under ~/.gemini/antigravity/; Codex CLI under ~/.codex/ plus ~/.agents/skills/; and Cursor under ~/.cursor/ with rules/*.mdc, aggregated AGENTS.md, MCP, hooks, cursorignore, skills, agents, and commands). See the supported tools matrix for the full global-mode map.

The rest of the maintenance commands (install, diff, lint, watch, check, merge, and matrix) also accept --global and operate on the same ~/.agentsmesh/ canonical root.

Preview changes without writing

Terminal window
agentsmesh generate --dry-run

Shows a unified diff of what would change without writing any files. Useful before committing or during debugging.

CI check mode

Terminal window
agentsmesh generate --check

Exits 0 if generated files match the lock file. Exits 1 if drift is detected. Use this in CI pipelines instead of agentsmesh check when you want the full generation path to be verified.

Force through locks

Terminal window
agentsmesh generate --force

Bypasses collaboration.lock_features restrictions. Use when you intentionally need to update locked features like mcp or permissions.

Refresh remote extends

Terminal window
agentsmesh generate --refresh-cache
agentsmesh generate --no-cache # alias

Forces a re-fetch of all remote extends sources. Without this flag, AgentsMesh uses the local cache at ~/.agentsmesh/cache/.

What generate does

  1. Load config — parse agentsmesh.yaml, merge agentsmesh.local.yaml, validate schema.
  2. Load canonical sources — read .agentsmesh/ (or ~/.agentsmesh/ with --global), resolve extends (cache or remote), load installed packs, merge everything.
  3. Generate per target — for each enabled target, run target-specific generators for rules, commands, agents, skills, MCP, hooks, ignore, and permissions.
  4. Rewrite references — internal .agentsmesh/ file paths are rewritten to target-relative paths.
  5. Resolve collisions — detect overlapping output paths, prefer native over embedded.
  6. Write output — create target directories, write all files, update the lock file.
  7. Clean stale files — remove previously generated files no longer in the output set.

Output locations

Each target writes to its own native directory (e.g. claude-code.claude/, cursor.cursor/, copilot.github/). The shared AGENTS.md at the project root is emitted by every target that uses it as a root-instruction surface. See the supported tools matrix for the exact project-scope and global-scope paths for every target.

Global mode path resolution

When --global is used, AgentsMesh sets the project root to the user’s home directory (homedir()). All target path constants — such as .cursor/rules/, .claude/skills/, or Documents/Cline/Hooks/ — are relative to that root, so they resolve to the expected ~/-prefixed locations (e.g. ~/.cursor/rules/, ~/.claude/skills/).

If ~/.agentsmesh/agentsmesh.yaml does not exist, --global commands fail with a scope-aware error pointing at the missing path and suggesting agentsmesh init --global (or dropping the flag to operate on the current project). The check applies uniformly to generate, import, lint, check, diff, watch, and matrix.

Exit codes

CodeMeaning
0Success — all files generated.
1Error or drift detected (with --check).