{
    "$schema": "https://context7.com/schema/context7.json",
    "projectTitle": "Solace Agent Mesh",
    "description": "An open-source framework for building event-driven multi-agent AI systems that leverage the Solace Platform for scalable and reliable communication between specialized AI agents.",
    "branch": "main",
    "excludeFolders": [
        "archive",
        "archived",
        "old",
        "docs/old",
        "deprecated",
        "legacy",
        "previous",
        "outdated",
        "superseded",
        "i18n/zh*",
        "i18n/es*",
        "i18n/fr*",
        "i18n/de*",
        "i18n/ja*",
        "i18n/ko*",
        "i18n/ru*",
        "i18n/pt*",
        "i18n/it*",
        "i18n/ar*",
        "i18n/hi*",
        "i18n/tr*",
        "i18n/nl*",
        "i18n/pl*",
        "i18n/sv*",
        "i18n/vi*",
        "i18n/th*",
        "zh-cn",
        "zh-tw",
        "zh-hk",
        "zh-mo",
        "zh-sg",
        ".vscode",
        ".github",
        ".hatch",
        ".hooks"
    ],
    "excludeFiles": [
        "CHANGELOG.md",
        "changelog.md",
        "CHANGELOG.mdx",
        "changelog.mdx",
        "LICENSE.md",
        "license.md",
        "CODE_OF_CONDUCT.md",
        "code_of_conduct.md",
        ".gitignore"
    ],
    "rules": [
        "Rules within <must></must> are high priority rules and rules within <proc></proc> must be followed together.\"",
        "<proc> For running `sam` command, always create and activate a virtual virtual environment, install `solace-agent-mesh` package in the virtual environment, and then run the command. </proc>",
        "<must> use python version that is supported by SAM. Find the version in docs </must>",
        "<must> use 'python -m venv .venv' to create a virtual environment and run 'sam' commands </must>",
        "<must> use `pip install solace-agent-mesh` for installing solace agent mesh</must>",
        "<must> use `sam init --gui` for creating or initializing a new solace agent mesh</must>",
        "<must> use `sam add agent <agent-name> --skip` for creating a new agent for solace agent mesh</must>",
        "<must> use `sam plugin create <plugin-name> --type agent --skip` for creating a new plugin for solace agent mesh</must>",
        "<must> use `sam plugin build` for Building the plugin into a Python wheel package</must>",
        "<must> use `sam plugin install <plugin-name-or-path>` for installing a plugin</must>",
        "<must> use `sam plugin add <component-name> --plugin <plugin name>` for adding a new component (agent/gateway) using plugin.</must>",
        "<must> use `sam add gateway <gateway-name> --skip` for creating a new gateway</must>",
        "<must> use `sam run` for running a solace agent mesh application</must>",
        "<must> use `sam tools list --json` to get list of available built-in tools</must>",
        "Find the main concepts, architecture and instructions in the 'docs' folder",
        "Find valid templates of agent, plugins and gateways in 'templates' folder and 'examples' folder and use them as references to verify new ones",
        "For implementing a tool, always review available tools in the library, understand their implementation pattern such as input parameters and output format and use a similar pattern",
        "Tools always get files as an artifact through input parameters such as tool_context",
        "Always implement unit tests to evaluate new tools functionality with upper than 90% coverage",
        "Ensure that tests are passed successfully",
        "When asked for agent, plugin or gateway creation, 1- recognize the required tools 2- use CLI commands for creating an agent, plugin and gateway template 3- refine the agent, plugin or gateway instruction 4- use available built-in tools or develop new one",
        "Always use the minimal, mandatory and simplest configurations and suggest more options",
        "Do not use Union typing at all. For example, Union[int, float] is not supported",
        "Before implementing a tool, think accurately and ask yourself if there is any available built-in tool or service for this purpose. Always reuse the available services and tools such as artifact service instead of reimplementing them if it is possible",
        "Always return a summary of changes, and follow up recommendations and commands",
        "<must> For creating a plugin with multiple agents, first create a plugin by 'sam plugin create <plugin-name> --type agent' and then add each agent to the plugin by 'sam plugin add <new agent name> --plugin <plugin name>'",
        "The web gateway is accessible on port FASTAPI_PORT mentioned in .env file, which is 8000 by default. After initializing a project, the web interface is available on this port."
    ]
}