apcore-toolkit is a collection of framework-agnostic utilities designed to help you extract, refine, and export metadata from your existing codebase, making it "AI-Perceivable". Available for both Python and TypeScript.
| Feature | Description |
|---|---|
| Smart Scanning | Abstract base classes and utilities for framework-specific scanners, with a 5-phase ability extraction methodology. |
| OpenAPI Integration | Extract JSON Schemas directly from OpenAPI operation objects. |
| Schema Utilities | Flatten complex models (Pydantic / Zod) for easier AI interaction. |
| Output Writers | Export metadata to YAML bindings, source code wrappers, or direct Registry registration — with optional output verification. |
| Formatting | Convert data structures into Markdown and enrich JSON Schema descriptions from docstrings. |
| AI Enhancement | Pluggable Enhancer protocol with built-in AIEnhancer for local SLMs; apcore-refinery recommended for production. |
| Display Overlay | Sparse binding.yaml overlay that resolves surface-facing alias, description, guidance, and tags into metadata["display"] for CLI, MCP, and A2A surfaces (§5.13). |
| Convention Scanning | Scan a commands/ directory of plain Python files for public functions, inferring schemas from type annotations -- zero decorators, zero imports (§5.14). |
- Framework Agnostic: The core logic has no dependency on specific web frameworks (Django, Flask, FastAPI).
- Separation of Concerns: Scanning (extraction), Schema Utilities (refinement), and Writers (export) are kept distinct.
- Developer First: Focuses on automating the tedious tasks of writing
apcore.yamlor@moduledecorators. - AI-Native: Built with the assumption that the ultimate consumer of this metadata is a Large Language Model (LLM) or AI agent.
- Dual-Language Parity: Every feature is implementable in both Python and TypeScript.
For a detailed definition of what the toolkit does and does not do, see the Scope & Boundaries document.