# `MishkaChelekom.MCP.ComponentConfig`
[🔗](https://github.com/mishka-group/mishka_chelekom/blob/v0.0.9/lib/mishka_chelekom/mcp/component_config.ex#L1)

Reads component configurations from priv/components/*.exs files.

This module provides dynamic access to all component metadata including
names, categories, colors, variants, sizes, and other configuration options.

# `components_by_category`

Returns components grouped by category.

# `components_path`

Returns the path to the components directory.

# `count_actual_components`

Returns the actual count of components based on the `only:` field in each config.

Some .exs files contain multiple components (e.g., button has button and button_group).
This counts the actual number of components, not just config files.

# `get_component`

Gets configuration for a specific component.

# `get_doc_url`

Returns the documentation URL for a specific component.

Looks up the doc_url from the component config, or generates a default URL.

# `list_categories`

Returns all unique categories from component configs.

# `list_colors`

Returns all unique colors from all component configs.

# `list_components`

Returns all components with their metadata.

Returns a list of maps with keys: name, category, generator, docs

# `list_dependencies`

Returns components with their dependencies (necessary and optional).

Returns a map with component names as keys and dependency info as values.

# `list_doc_urls`

Returns a map of all component names to their doc URLs.

# `list_js_hooks`

Returns all JS hooks from priv/assets/js directory.

# `list_necessary_deps`

Returns all unique necessary dependencies across all components.

# `list_optional_deps`

Returns all unique optional dependencies across all components.

# `list_padding`

Returns all unique padding options from all component configs.

# `list_rounded`

Returns all unique rounded options from all component configs.

# `list_scripts`

Returns all scripts/JS dependencies from all component configs.

Returns a list of maps with component name and its scripts.

# `list_sizes`

Returns all unique sizes from all component configs.

# `list_spaces`

Returns all unique space options from all component configs.

# `list_unique_scripts`

Returns all unique script files across all components.

# `list_variants`

Returns all unique variants from all component configs.

# `load_all`

Loads and returns all component configurations.

Returns a list of `{name, config}` tuples where config is a keyword list.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
