Skip to main content

About Plugins

Auggie supports a plugin system that allows you to extend its functionality with custom commands, subagents, rules, hooks, skills, and MCP server integrations. Plugins are distributed through marketplaces - Git repositories that contain collections of plugins.

Interactive Plugin Browser

The easiest way to manage plugins is through the interactive plugin browser in Auggie’s TUI (Terminal User Interface).

Opening the Plugin Browser

In interactive mode, use the /plugins slash command to open the plugin browser:
# Start Auggie in interactive mode
auggie

# Then type:
/plugins

Plugin Browser Features

The plugin browser provides two main tabs: Marketplaces Tab
  • View all installed plugin marketplaces
  • Add new marketplaces from GitHub repositories
  • Update marketplaces to get the latest plugins
  • Remove marketplaces you no longer need
  • Browse plugins within each marketplace
Enabled Plugins Tab
  • View all currently enabled plugins
  • See plugin details including commands, agents, rules, hooks, and MCP servers

CLI Commands

# Marketplace management
auggie plugin marketplace add owner/repo
auggie plugin marketplace list
auggie plugin marketplace update [marketplace-name]
auggie plugin marketplace remove marketplace-name

# Plugin management
auggie plugin list
auggie plugin install plugin-name@marketplace-name
auggie plugin disable plugin-name@marketplace-name
auggie plugin reload

The .augment-plugin Folder

The .augment-plugin folder is the core configuration directory for Auggie plugins and marketplaces. This folder contains manifest files that define the plugin or marketplace metadata and structure.
.claude-plugin is also supported for backwards compatibility with Claude Code plugins. See the Compatibility with .claude-plugin section for more details.

Marketplace Manifest (marketplace.json)

The marketplace.json file defines your marketplace and lists all available plugins for discovery:
{
  "name": "my-marketplace",
  "description": "A collection of useful Auggie plugins",
  "version": "1.0.0",
  "plugins": [
    {
      "name": "hello-commands",
      "description": "Example slash commands",
      "version": "1.0.0",
      "source": "./plugins/hello-commands",
      "category": "productivity",
      "tags": ["commands", "example"]
    },
    {
      "name": "code-guard",
      "description": "Security-focused hooks",
      "version": "1.0.0",
      "source": "./plugins/code-guard",
      "category": "security",
      "tags": ["hooks", "security"]
    }
  ]
}

Plugin Components

Plugins can provide multiple types of components:

Custom Commands

Slash commands are Markdown files in the commands/ directory. The filename becomes the command name (e.g., hello.md creates /plugin-name:hello):
---
description: Greet the user
---

Say hello to the user in a friendly way. Ask them how their day is going.

Subagents

Specialized agents in the agents/ directory that Auggie can invoke for specific tasks:
---
description: A refactoring specialist
color: yellow
---

# Refactor Agent

You are an expert at code refactoring. When invoked, analyze the code
and suggest improvements for readability, maintainability, and performance.

Rules

Guidelines in the rules/ directory that instruct the agent on coding standards:
# Coding Standards

- Use descriptive variable names
- Add comments for complex logic
- Follow the project's existing patterns

Hooks

Event handlers that respond to Auggie events. Configure in hooks/hooks.json:
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "${AUGMENT_PLUGIN_ROOT}/hooks/format.sh $FILE"
          }
        ]
      }
    ]
  }
}

MCP Servers

Model Context Protocol integrations defined in .mcp.json or within plugin.json:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Skills

Agent Skills in the skills/ directory that extend Auggie’s capabilities:
skills/
└── pdf-processor/
    ├── SKILL.md
    └── scripts/
        └── process.py

Compatibility with .claude-plugin

Auggie’s plugin system is designed to be backwards compatible with Claude Code’s .claude-plugin format. This means:
  1. Directory Recognition: Auggie recognizes both .augment-plugin and .claude-plugin directories
  2. Manifest Format: The plugin.json schema is compatible between both systems
  3. Component Structure: Commands, agents, hooks, MCP servers, and skills use the same directory layout
  4. Easy Migration: Existing Claude Code plugins work with Auggie with minimal or no changes

Using Claude Code Plugins

If you have an existing Claude Code plugin with a .claude-plugin folder, Auggie can use it directly:
# Install from a marketplace containing Claude Code plugins
auggie plugin marketplace add anthropics/skills

# Enable a specific plugin
auggie plugin install document-skills@anthropic-agent-skills

Creating Compatible Plugins

To create plugins that work with both Auggie and Claude Code:
  1. Use .augment-plugin as the primary configuration folder (Auggie will also check for .claude-plugin)
  2. Follow the same manifest schema for plugin.json
  3. Use the same directory structure for commands, agents, hooks, etc.

Creating a Marketplace

A marketplace is a GitHub repository that hosts one or more plugins. Anyone can create and share their own marketplace.

Marketplace Structure

my-marketplace/
├── .augment-plugin/
│   └── marketplace.json
├── plugins/
│   ├── hello-commands/
│   │   ├── .augment-plugin/
│   │   │   └── plugin.json
│   │   └── commands/
│   │       └── hello.md
│   ├── code-guard/
│   │   ├── .augment-plugin/
│   │   │   └── plugin.json
│   │   └── hooks/
│   │       ├── hooks.json
│   │       └── check.py
│   └── full-example/
│       ├── .augment-plugin/
│       │   └── plugin.json
│       ├── commands/
│       ├── agents/
│       ├── rules/
│       ├── hooks/
│       └── .mcp.json
└── README.md

Hosting a Marketplace on GitHub

To share your marketplace publicly, host it on GitHub:

Step 1: Create the Repository

  1. Create a new public GitHub repository
  2. Add your marketplace structure with .augment-plugin/marketplace.json
  3. Add your plugins in the plugins/ directory

Step 2: Add Plugin Manifests

Each plugin needs its own .augment-plugin/plugin.json:
{
  "name": "my-plugin",
  "description": "What this plugin does",
  "version": "1.0.0",
  "author": {
    "name": "Your Name"
  },
  "keywords": ["productivity", "tools"]
}

Step 3: Add a README

Create a README.md to help users discover and understand your plugins:
# My Plugin Marketplace

A collection of plugins for Auggie.

## Installation

\`\`\`sh
auggie plugin marketplace add yourusername/your-repo
\`\`\`

## Available Plugins

- **hello-commands**: Simple greeting commands
- **code-guard**: Security validation hooks

Step 4: Publish and Share

  1. Push your code to GitHub
  2. Share the repository path with users
  3. Users can add your marketplace with:
auggie plugin marketplace add yourusername/your-repo

Example: Complete Marketplace Repository

See justinxu421/auggie-plugin for a complete example marketplace with:
  • Multiple plugins demonstrating different capabilities
  • Commands, hooks, agents, rules, and MCP server configurations
  • Proper manifest files and documentation
To try this example:
# Add the example marketplace
auggie plugin marketplace add justinxu421/auggie-plugin

# Install the full example plugin
auggie plugin install full-example@auggie-plugin-marketplace

# View what's included
/plugins

Environment Variables

Plugins can use these environment variables in their configurations:
VariableDescription
${AUGMENT_PLUGIN_ROOT}Path to the plugin’s root directory
${AUGGIE_PLUGIN_ROOT}Alias for AUGMENT_PLUGIN_ROOT
${CLAUDE_PLUGIN_ROOT}Alias for AUGMENT_PLUGIN_ROOT (for Claude Code compatibility)
${WORKSPACE_ROOT}Path to the current workspace/project
These variables are supported in:
  • MCP server configurations (plugin.json and .mcp.json)
  • Hook commands (hooks/hooks.json)
Example usage in hooks/hooks.json:
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "${AUGMENT_PLUGIN_ROOT}/hooks/format.sh $FILE"
          }
        ]
      }
    ]
  }
}

Best Practices

For Plugin Authors

  1. Use semantic versioning for your plugin versions
  2. Add descriptive metadata in your manifest files
  3. Include a README with installation and usage instructions
  4. Test locally before publishing using --plugin-dir:
    auggie --plugin-dir ./my-plugin
    

For Marketplace Maintainers

  1. Organize plugins by category in your marketplace
  2. Use tags to help users discover plugins
  3. Keep the marketplace updated by pulling the latest changes
  4. Document each plugin with clear descriptions

See Also