feat: unify docs portal and MCP servers into one config-driven service
- add config.yml as single source of truth for collected repos/categories - add collect.py CLI to pull lib/api/wiki site builds and mcp bundles from source repos and regenerate nginx.conf + _index/index.html - port mcp runtime (main.py/core.py/config.py): nginx + health + FastMCP servers started from config.yml - docker: python:3.13-slim + nginx, expose 8000-8006 + 9000 (html portal) - drone: publish html (6007:9000) and MCP ports 8000-8006 - move mongo-ops docs to wiki/, add auth-server (api) and hexa (lib) - refresh lib site builds (lib/ prefix) and collect mcp bundles
This commit is contained in:
79
libs/hexa/site/mcp/modules/hexa.cli.json
Normal file
79
libs/hexa/site/mcp/modules/hexa.cli.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"module": "hexa.cli",
|
||||
"content": {
|
||||
"path": "hexa.cli",
|
||||
"docstring": "Command-line interface for hexa utilities.",
|
||||
"objects": {
|
||||
"argparse": {
|
||||
"name": "argparse",
|
||||
"kind": "alias",
|
||||
"path": "hexa.cli.argparse",
|
||||
"signature": "<bound method Alias.signature of Alias('argparse', 'argparse')>",
|
||||
"docstring": null
|
||||
},
|
||||
"sys": {
|
||||
"name": "sys",
|
||||
"kind": "alias",
|
||||
"path": "hexa.cli.sys",
|
||||
"signature": "<bound method Alias.signature of Alias('sys', 'sys')>",
|
||||
"docstring": null
|
||||
},
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
"kind": "alias",
|
||||
"path": "hexa.cli.Path",
|
||||
"signature": "<bound method Alias.signature of Alias('Path', 'pathlib.Path')>",
|
||||
"docstring": null
|
||||
},
|
||||
"pprint": {
|
||||
"name": "pprint",
|
||||
"kind": "alias",
|
||||
"path": "hexa.cli.pprint",
|
||||
"signature": "<bound method Alias.signature of Alias('pprint', 'pprint.pprint')>",
|
||||
"docstring": null
|
||||
},
|
||||
"check_matches": {
|
||||
"name": "check_matches",
|
||||
"kind": "function",
|
||||
"path": "hexa.cli.check_matches",
|
||||
"signature": "<bound method Alias.signature of Alias('check_matches', 'hexa.check_matches.check_matches')>",
|
||||
"docstring": "Verify two representations agree.\n\nParameters\n----------\npath_a : str | Path\n Path to a .yaml or .py file.\npath_b : str | Path\n Path to a .yaml or .py file.\n\nReturns\n-------\nbool | list[str]\n True if they match exactly, otherwise a list of difference strings."
|
||||
},
|
||||
"generate_abc": {
|
||||
"name": "generate_abc",
|
||||
"kind": "function",
|
||||
"path": "hexa.cli.generate_abc",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_abc', 'hexa.generate_abc.generate_abc')>",
|
||||
"docstring": "Generate ABC Python source from a :class:`PortNode` tree.\n\nParameters\n----------\nnode : PortNode\n The root of the parsed YAML (or generated) tree.\nout_path : str | Path | None\n Optional file path to write the generated source to.\n\nReturns\n-------\nstr\n The generated Python source code."
|
||||
},
|
||||
"generate_yaml": {
|
||||
"name": "generate_yaml",
|
||||
"kind": "function",
|
||||
"path": "hexa.cli.generate_yaml",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_yaml', 'hexa.generate_yaml.generate_yaml')>",
|
||||
"docstring": "Generate YAML source from a :class:`PortNode` tree.\n\nParameters\n----------\nnode : PortNode\n The root of the tree.\nout_path : str | Path | None\n Optional file path to write the generated source to.\n\nReturns\n-------\nstr\n The generated YAML source."
|
||||
},
|
||||
"parse_abc": {
|
||||
"name": "parse_abc",
|
||||
"kind": "function",
|
||||
"path": "hexa.cli.parse_abc",
|
||||
"signature": "<bound method Alias.signature of Alias('parse_abc', 'hexa.parse_abc.parse_abc')>",
|
||||
"docstring": "Parse an ABC Python module into a :class:`PortNode` tree.\n\nABC classes become port nodes. A nested-struct attribute is expressed as a\n``@dataclass`` annotation on an ABC port (e.g. ``source: ExtractionSource``\nwhere ``ExtractionSource`` is a ``@dataclass``); the dataclass's fields are\nexpanded into a nested ``attributes`` entry.\n\nParameters\n----------\nmodule_or_path : str | Path | Any\n A file path to a ``.py`` file, a module import string, or a loaded module.\n\nReturns\n-------\nPortNode\n The root node of the tree."
|
||||
},
|
||||
"parse_yaml": {
|
||||
"name": "parse_yaml",
|
||||
"kind": "function",
|
||||
"path": "hexa.cli.parse_yaml",
|
||||
"signature": "<bound method Alias.signature of Alias('parse_yaml', 'hexa.parse_yaml.parse_yaml')>",
|
||||
"docstring": "Parse a hexa YAML spec file into a :class:`PortNode` tree.\n\nParameters\n----------\npath : str | Path\n Path to the ``.yaml`` file.\n\nReturns\n-------\nPortNode\n The root node of the parsed tree.\n\nRaises\n------\nValueError\n On structural errors in the YAML."
|
||||
},
|
||||
"main": {
|
||||
"name": "main",
|
||||
"kind": "function",
|
||||
"path": "hexa.cli.main",
|
||||
"signature": "<bound method Function.signature of Function('main', 15, 87)>",
|
||||
"docstring": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user