|
594 | 594 | {
|
595 | 595 | "name": "elixir-definition",
|
596 | 596 | "displayName": "Elixir Definition Lookup",
|
597 |
| - "modelDescription": "Find the definition of an Elixir symbol and return its source code", |
| 597 | + "modelDescription": "Find and retrieve the source code definition of Elixir/Erlang symbols including modules, functions, types, macros, and callbacks. Returns the actual source code with file location and line numbers for precise code inspection.", |
598 | 598 | "canBeReferencedInPrompt": true,
|
599 | 599 | "toolReferenceName": "elixir-definition",
|
600 | 600 | "inputSchema": {
|
|
603 | 603 | "properties": {
|
604 | 604 | "symbol": {
|
605 | 605 | "type": "string",
|
606 |
| - "description": "The name of the symbol to find (e.g., 'MyModule.my_function', 'MyModule', ':erlang.term_to_binary')" |
| 606 | + "description": "The symbol to find definition for. Supports: modules ('MyModule', 'GenServer'), functions ('MyModule.function', 'String.split/2'), types ('@type my_type'), macros ('defmacro'), Erlang modules (':gen_server'), Erlang functions (':lists.map/2'). Use qualified names (Module.function) for best results." |
| 607 | + } |
| 608 | + } |
| 609 | + } |
| 610 | + }, |
| 611 | + { |
| 612 | + "name": "elixir-environment", |
| 613 | + "displayName": "Elixir Environment Lookup", |
| 614 | + "modelDescription": "Get comprehensive environment information at a specific code location including current module/function context, available aliases, imports, requires, variables in scope with their inferred types, module attributes, implemented behaviours, and all definitions in the file. Essential for understanding code context and available symbols.", |
| 615 | + "canBeReferencedInPrompt": true, |
| 616 | + "toolReferenceName": "elixir-environment", |
| 617 | + "inputSchema": { |
| 618 | + "type": "object", |
| 619 | + "required": ["location"], |
| 620 | + "properties": { |
| 621 | + "location": { |
| 622 | + "type": "string", |
| 623 | + "description": "Location in the code to analyze context. Formats: 'file.ex:line:column', 'file.ex:line', 'lib/my_module.ex:25:10', 'file:///absolute/path/file.ex:10:5'. Use specific line/column for better variable scope and context analysis. Line numbers start at 1." |
| 624 | + } |
| 625 | + } |
| 626 | + } |
| 627 | + }, |
| 628 | + { |
| 629 | + "name": "elixir-module-dependencies", |
| 630 | + "displayName": "Elixir Module Dependencies", |
| 631 | + "modelDescription": "Analyze comprehensive module dependency relationships including direct/reverse dependencies, transitive dependencies, compile-time vs runtime dependencies, imports, aliases, requires, function calls, and struct expansions. Critical for understanding code architecture, impact analysis, and refactoring decisions.", |
| 632 | + "canBeReferencedInPrompt": true, |
| 633 | + "toolReferenceName": "elixir-module-dependencies", |
| 634 | + "inputSchema": { |
| 635 | + "type": "object", |
| 636 | + "required": ["module"], |
| 637 | + "properties": { |
| 638 | + "module": { |
| 639 | + "type": "string", |
| 640 | + "description": "The module name to analyze dependencies for. Supports Elixir modules ('MyApp.MyModule', 'GenServer', 'Enum') and Erlang modules (':gen_server', ':ets'). Returns categorized dependency breakdown showing what the module depends on and what depends on it." |
| 641 | + } |
| 642 | + } |
| 643 | + } |
| 644 | + }, |
| 645 | + { |
| 646 | + "name": "elixir-docs", |
| 647 | + "displayName": "Elixir Documentation Aggregator", |
| 648 | + "modelDescription": "Aggregate and return comprehensive documentation for multiple Elixir modules, functions, types, callbacks, or attributes in a single efficient request. Supports both module-level documentation (with function/type listings) and specific symbol documentation with examples and usage patterns.", |
| 649 | + "canBeReferencedInPrompt": true, |
| 650 | + "toolReferenceName": "elixir-docs", |
| 651 | + "inputSchema": { |
| 652 | + "type": "object", |
| 653 | + "required": ["modules"], |
| 654 | + "properties": { |
| 655 | + "modules": { |
| 656 | + "type": "array", |
| 657 | + "description": "List of symbols to get documentation for. Supports: modules ('Enum', 'GenServer'), functions ('String.split/2', 'Enum.map'), types ('Enum.t/0', 'GenServer.on_start/0'), callbacks ('GenServer.handle_call', 'Application.start'), attributes ('@moduledoc', '@doc'). Mix different symbol types for comprehensive API understanding.", |
| 658 | + "items": { |
| 659 | + "type": "string" |
| 660 | + } |
| 661 | + } |
| 662 | + } |
| 663 | + } |
| 664 | + }, |
| 665 | + { |
| 666 | + "name": "elixir-implementation-finder", |
| 667 | + "displayName": "Elixir Implementation Finder", |
| 668 | + "modelDescription": "Find all concrete implementations of Elixir behaviours, protocols, callbacks, and delegated functions across the entire codebase. Essential for discovering how abstract interfaces are implemented and understanding polymorphic behavior patterns.", |
| 669 | + "canBeReferencedInPrompt": true, |
| 670 | + "toolReferenceName": "elixir-implementation-finder", |
| 671 | + "inputSchema": { |
| 672 | + "type": "object", |
| 673 | + "required": ["symbol"], |
| 674 | + "properties": { |
| 675 | + "symbol": { |
| 676 | + "type": "string", |
| 677 | + "description": "The symbol to find implementations for. Supports: behaviours ('GenServer', 'Application', 'Supervisor'), protocols ('Enumerable', 'Inspect', 'String.Chars'), callbacks ('GenServer.handle_call', 'Application.start'), functions with @impl annotations. Returns file locations and implementation signatures." |
| 678 | + } |
| 679 | + } |
| 680 | + } |
| 681 | + }, |
| 682 | + { |
| 683 | + "name": "elixir-types", |
| 684 | + "displayName": "Elixir Type Information", |
| 685 | + "modelDescription": "Extract comprehensive type information from Elixir modules including @type definitions, @spec annotations, @callback specifications, and Dialyzer inferred contracts. Essential for understanding module interfaces, type safety, function signatures, and behaviour contracts.", |
| 686 | + "canBeReferencedInPrompt": true, |
| 687 | + "toolReferenceName": "elixir-types", |
| 688 | + "inputSchema": { |
| 689 | + "type": "object", |
| 690 | + "required": ["module"], |
| 691 | + "properties": { |
| 692 | + "module": { |
| 693 | + "type": "string", |
| 694 | + "description": "The module name to analyze type information for. Supports Elixir modules ('GenServer', 'MyApp.MyModule', 'Enum') and Erlang modules (':gen_server', ':ets'). Returns detailed type specifications, function signatures, callback definitions, and custom types with their documentation." |
607 | 695 | }
|
608 | 696 | }
|
609 | 697 | }
|
|
0 commit comments