agentsmesh generate
Generate target-specific config files from the canonical .agentsmesh/ directory. This is the primary command you run after editing canonical files.
Usage
agentsmesh generate [flags]Flags
| Flag | Description |
|---|---|
--targets <csv> | Comma-separated list of target IDs to generate for. Defaults to all configured targets. |
--global | Generate 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-run | Preview changes without writing any files. |
--check | Verify sync status only. Exit code 1 if out of sync. |
--force | Bypass collaboration lock violations. |
--refresh-cache | Re-fetch remote extends sources before generating. |
--no-cache | Alias for --refresh-cache. |
Examples
Generate for all configured targets
agentsmesh generateReads agentsmesh.yaml, loads all canonical sources, and writes output for each enabled target.
Generate for specific targets only
agentsmesh generate --targets claude-code,cursorOnly generates .claude/ and .cursor/ output, ignoring other configured targets.
Generate global user-level config
agentsmesh init --globalagentsmesh generate --global --targets claude-code,antigravity,codex-cli,cursorReads 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
agentsmesh generate --dry-runShows a unified diff of what would change without writing any files. Useful before committing or during debugging.
CI check mode
agentsmesh generate --checkExits 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
agentsmesh generate --forceBypasses collaboration.lock_features restrictions. Use when you intentionally need to update locked features like mcp or permissions.
Refresh remote extends
agentsmesh generate --refresh-cacheagentsmesh generate --no-cache # aliasForces a re-fetch of all remote extends sources. Without this flag, AgentsMesh uses the local cache at ~/.agentsmesh/cache/.
What generate does
- Load config — parse
agentsmesh.yaml, mergeagentsmesh.local.yaml, validate schema. - Load canonical sources — read
.agentsmesh/(or~/.agentsmesh/with--global), resolve extends (cache or remote), load installed packs, merge everything. - Generate per target — for each enabled target, run target-specific generators for rules, commands, agents, skills, MCP, hooks, ignore, and permissions.
- Rewrite references — internal
.agentsmesh/file paths are rewritten to target-relative paths. - Resolve collisions — detect overlapping output paths, prefer native over embedded.
- Write output — create target directories, write all files, update the lock file.
- 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
| Code | Meaning |
|---|---|
0 | Success — all files generated. |
1 | Error or drift detected (with --check). |