This repository contains reusable Claude Code plugin configurations for streamlining development workflows across multiple projects and computers.
This setup allows you to:
- Maintain consistent Claude Code configurations across all your projects
- Sync improvements across multiple computers via GitHub
- Compose multiple plugin profiles for specific project needs
- Keep project-specific customizations separate from shared configurations
claude-configs/
├── profile-al-development/ # AL (Business Central) development profile
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin metadata
│ ├── CLAUDE.md # AL coding standards and patterns
│ ├── commands/ # Custom slash commands for AL
│ ├── skills/ # Model-invoked skills for AL
│ ├── agents/ # Custom subagents for AL
│ └── .mcp.json # AL MCP server configuration
├── .gitignore
└── README.md (this file)
Before using these plugins:
- Update external tool paths (optional):
- In
profile-al-development/.mcp.json, update the path to the Serena tool if you're using it - Or remove the serena MCP server configuration if not applicable
- In
All other paths use ~ which expands to your home directory automatically.
-
Clone this repository:
cd ~ git clone git@github.com:YOUR_USERNAME/claude-configs.git
-
That's it! The plugins are now available on your computer. You'll enable them per-project (see next section).
Simply clone the repository:
cd ~
git clone git@github.com:YOUR_USERNAME/claude-configs.gitPlugins will be available for use in your projects immediately.
In each project where you want to use these plugins, create or edit .claude/settings.json:
{
"extraKnownMarketplaces": {
"local": {
"source": {
"source": "directory",
"path": "~/claude-configs"
}
}
},
"enabledPlugins": {
"profile-al-development@local": true
}
}Note: The ~ expands to your home directory automatically.
As you add more profiles, you can combine them in a single project:
{
"extraKnownMarketplaces": {
"my-configs": {
"source": {
"source": "directory",
"path": "~/claude-configs"
}
}
},
"enabledPlugins": {
"profile-al-development@my-configs": true,
"profile-al-testing@my-configs": true,
"profile-devops@my-configs": true
}
}When you discover a useful pattern or want to improve the configuration:
cd ~/claude-configs
# Edit files (e.g., profile-al-development/CLAUDE.md)
# Add new commands, update patterns, etc.
git add .
git commit -m "Add pattern for handling table extensions"
git pushOn your other computer(s):
cd ~/claude-configs
git pullAll your projects immediately benefit from the updates without any additional configuration.
AL (Application Language) development configuration for Microsoft Dynamics 365 Business Central.
Includes:
- AL coding conventions and naming standards
- Best practices for table extensions, events, and error handling
- Performance optimization patterns
- Testing guidelines
- AL MCP server configuration
Documentation: See profile-al-development/README.md
To create a new plugin profile:
-
Create plugin directory:
cd ~/claude-configs mkdir -p profile-name/{.claude-plugin,commands,skills,agents}
-
Create plugin.json:
{ "name": "profile-name", "description": "Brief description of what this profile provides", "version": "1.0.0", "author": { "name": "Your Name" } } -
Add configuration files:
CLAUDE.md- Memory/instructionscommands/*.md- Custom slash commandsskills/*/SKILL.md- Agent skills.mcp.json- MCP server configuration
-
Document in README:
- Create
profile-name/README.md - Update this main README
- Create
-
Commit and push:
git add profile-name git commit -m "Add profile-name plugin" git push
While plugins provide shared configuration, each project can still have its own customizations:
Project directory structure:
your-project/
├── .claude/
│ ├── settings.json # Enable plugins + project-specific settings
│ ├── settings.local.json # Personal overrides (gitignored)
│ ├── CLAUDE.md # Project-specific instructions
│ └── commands/ # Project-only commands
How it works:
- Plugin configurations load first (from
~/claude-configs/) - Project configurations merge on top (from
your-project/.claude/) - Project settings can override plugin defaults
- All configurations are additive (commands, skills, etc. from all sources are available)
Claude Code loads configurations in this order (later overrides earlier):
- Enterprise managed settings (if configured)
- User settings (
~/.claude/settings.json) - User plugins (registered in user settings)
- Project settings (
.claude/settings.json) - Project plugins (enabled in project settings)
- Local settings (
.claude/settings.local.json- gitignored)
- Never commit sensitive data (credentials, API keys, certificates)
- Use
.gitignoreto prevent accidental commits of sensitive files - Keep authentication in project-local files (
.env, gitignored) - Use permission rules in
settings.jsonto deny access to sensitive paths
- Check plugin registration in
~/.claude/settings.json - Verify path is absolute (not relative)
- Run
/configin Claude Code to see loaded plugins - Check plugin.json syntax is valid JSON
- Commands from different plugins are namespaced automatically
- CLAUDE.md files from all plugins are merged
- Settings follow precedence rules (project > user > plugin)
- Settings hot-reload automatically (no restart needed)
- For CLAUDE.md changes, start a new session
- Verify you committed and pushed changes
- On other computer, verify you pulled latest changes
This is a personal configuration repository. If you're working in a team:
- Fork this repository for your own configurations
- Or create a team repository with shared configurations
- Use pull requests to review configuration changes
Personal configuration repository. Use as you see fit.