1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Pattern Matching Example
# This demonstrates bulk installation using glob patterns
[]
= "https://github.com/aig787/agpm-community.git"
= "https://github.com/myorg/template-library.git"
[]
# Install all AI-related agents with one pattern
# agents/ai/assistant.md → .claude/agents/assistant.md (flatten=true by default)
# agents/ai/analyzer.md → .claude/agents/analyzer.md
# agents/ai/reviewer.md → .claude/agents/reviewer.md
= { = "community", = "agents/ai/*.md", = "^1.0.0" }
# Install all testing agents
# Pattern with directory preservation (flatten=false)
# agents/testing/unit.md → .claude/agents/testing/unit.md
# agents/testing/integration.md → .claude/agents/testing/integration.md
= { = "community", = "agents/testing/*.md", = "v2.0.0", = false }
# Recursive pattern for all Rust-related agents
# Matches any .md file under agents/rust/ at any depth
= { = "community", = "agents/rust/**/*.md", = "v1.5.0" }
[]
# All React component snippets
# snippets/react/component.md → .agpm/snippets/react/component.md (preserves structure by default)
# snippets/react/hook.md → .agpm/snippets/react/hook.md
= { = "templates", = "snippets/react/*.md", = "v3.0.0" }
# All Python utility snippets (recursive)
# Matches all .md files at any depth under snippets/python/
= { = "community", = "snippets/python/**/*.md", = "^2.0.0" }
# Database-related snippets from multiple subdirectories
# snippets/db/postgres.md → .agpm/snippets/db/postgres.md
# snippets/db/mysql.md → .agpm/snippets/db/mysql.md
# snippets/db/mongo.md → .agpm/snippets/db/mongo.md
= { = "templates", = "snippets/db/*.md", = "v1.0.0" }
[]
# Install all deployment-related commands
# commands/deploy-staging.md → .claude/commands/deploy-staging.md
# commands/deploy-prod.md → .claude/commands/deploy-prod.md
= { = "community", = "commands/deploy-*.md", = "v2.0.0" }
# All CI/CD commands with flatten option
# commands/ci/github.md → .claude/commands/github.md (flattened)
# commands/ci/gitlab.md → .claude/commands/gitlab.md (flattened)
= { = "templates", = "commands/ci/*.md", = "v1.0.0", = true }
[]
# All build scripts
# scripts/build-dev.sh → .claude/scripts/build-dev.sh
# scripts/build-prod.sh → .claude/scripts/build-prod.sh
= { = "community", = "scripts/build-*.sh", = "v1.0.0" }
# All Python automation scripts
= { = "templates", = "scripts/automation/*.py", = "v2.0.0" }
# Pattern Matching Notes:
# - Use * for single-level wildcards (matches any characters except /)
# - Use ** for recursive wildcards (matches any number of directories)
# - Use ? for single character wildcard
# - Use [abc] for character sets
# - Use {option1,option2} for alternatives
#
# Directory Structure Control:
# - agents and commands default to flatten=true (only filename is used)
# - snippets, scripts, hooks, mcp-servers default to flatten=false (preserves directory structure)
# - Override with explicit flatten field when needed
#
# Examples of complex patterns:
# "agents/**/test-*.md" - All test agents at any depth
# "snippets/[a-z]*.md" - Snippets starting with lowercase letter
# "scripts/{build,deploy,test}.sh" - Specific script names
# "**/*.md" - All markdown files at any depth