refactor: Reorganize repository structure for optimal learning path
Reorder folders based on learning dependencies, complexity, and frequency of use: - 01-slash-commands (unchanged) - Quick wins for beginners - 02-memory (was 03) - Essential foundation - 03-skills (was 05) - Auto-invoked capabilities - 04-subagents (was 02) - Task delegation - 05-mcp (was 04) - External integration - 06-hooks (was 07) - Event automation - 07-plugins (was 06) - Bundled solutions - 08-checkpoints (unchanged) - Safe experimentation - 09-advanced-features (unchanged) - Power user tools Documentation improvements: - Add LEARNING-ROADMAP.md with detailed milestones and exercises - Simplify README.md for better scannability - Consolidate Quick Start and Getting Started sections - Combine Feature Comparison and Use Case Matrix tables - Reorder README sections: Learning Path → Quick Reference → Getting Started - Update all cross-references across module READMEs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
53
03-skills/doc-generator/generate-docs.py
Normal file
53
03-skills/doc-generator/generate-docs.py
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
import ast
|
||||
import json
|
||||
from typing import Dict, List
|
||||
|
||||
class APIDocExtractor(ast.NodeVisitor):
|
||||
"""Extract API documentation from Python source code."""
|
||||
|
||||
def __init__(self):
|
||||
self.endpoints = []
|
||||
|
||||
def visit_FunctionDef(self, node):
|
||||
"""Extract function documentation."""
|
||||
if node.name.startswith('get_') or node.name.startswith('post_'):
|
||||
doc = ast.get_docstring(node)
|
||||
endpoint = {
|
||||
'name': node.name,
|
||||
'docstring': doc,
|
||||
'params': [arg.arg for arg in node.args.args],
|
||||
'returns': self._extract_return_type(node)
|
||||
}
|
||||
self.endpoints.append(endpoint)
|
||||
self.generic_visit(node)
|
||||
|
||||
def _extract_return_type(self, node):
|
||||
"""Extract return type from function annotation."""
|
||||
if node.returns:
|
||||
return ast.unparse(node.returns)
|
||||
return "Any"
|
||||
|
||||
def generate_markdown_docs(endpoints: List[Dict]) -> str:
|
||||
"""Generate markdown documentation from endpoints."""
|
||||
docs = "# API Documentation\n\n"
|
||||
|
||||
for endpoint in endpoints:
|
||||
docs += f"## {endpoint['name']}\n\n"
|
||||
docs += f"{endpoint['docstring']}\n\n"
|
||||
docs += f"**Parameters**: {', '.join(endpoint['params'])}\n\n"
|
||||
docs += f"**Returns**: {endpoint['returns']}\n\n"
|
||||
docs += "---\n\n"
|
||||
|
||||
return docs
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
with open(sys.argv[1], 'r') as f:
|
||||
tree = ast.parse(f.read())
|
||||
|
||||
extractor = APIDocExtractor()
|
||||
extractor.visit(tree)
|
||||
|
||||
markdown = generate_markdown_docs(extractor.endpoints)
|
||||
print(markdown)
|
||||
Reference in New Issue
Block a user