MCPcopy Create free account
hub / github.com/FSoft-AI4Code/CodeWiki / main

Function main

codewiki/src/fe/visualise_docs.py:188–264  ·  view source on GitHub ↗

Main function to run the documentation server.

()

Source from the content-addressed store, hash-verified

186
187
188def main():
189 """Main function to run the documentation server."""
190 parser = argparse.ArgumentParser(
191 description="Simple documentation server for hosting markdown documentation folders"
192 )
193 parser.add_argument(
194 "--docs-folder",
195 type=str,
196 required=True,
197 help="Path to the documentation folder containing markdown files and module_tree.json"
198 )
199 parser.add_argument(
200 "--port",
201 type=int,
202 default=8000,
203 help="Port to run the server on (default: 8000)"
204 )
205 parser.add_argument(
206 "--host",
207 type=str,
208 default="127.0.0.1",
209 help="Host to bind the server to (default: 127.0.0.1)"
210 )
211 parser.add_argument(
212 "--debug",
213 action="store_true",
214 help="Run the server in debug mode"
215 )
216
217 args = parser.parse_args()
218
219 # Validate docs folder
220 docs_folder = Path(args.docs_folder)
221 if not docs_folder.exists():
222 print(f"Error: Documentation folder '{docs_folder}' does not exist")
223 sys.exit(1)
224
225 if not docs_folder.is_dir():
226 print(f"Error: '{docs_folder}' is not a directory")
227 sys.exit(1)
228
229 # Check for overview.md
230 overview_file = docs_folder / "overview.md"
231 if not overview_file.exists():
232 print(f"Warning: overview.md not found in '{docs_folder}'")
233
234 # Set global variables and environment variable for uvicorn reload
235 global DOCS_FOLDER, MODULE_TREE
236 DOCS_FOLDER = str(docs_folder.resolve())
237 MODULE_TREE = load_module_tree(docs_folder)
238
239 # Set environment variable so uvicorn reload can pick it up
240 import os
241 os.environ['DOCS_FOLDER'] = DOCS_FOLDER
242
243 print(f"📚 Starting documentation server...")
244 print(f"📁 Documentation folder: {DOCS_FOLDER}")
245 print(f"🌐 Server running at: http://{args.host}:{args.port}")

Callers 1

visualise_docs.pyFile · 0.70

Calls 3

load_module_treeFunction · 0.85
resolveMethod · 0.80
runMethod · 0.80

Tested by

no test coverage detected