Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 2.31 KB

File metadata and controls

28 lines (21 loc) · 2.31 KB

Features Overview

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.

Core Capabilities

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).

Design Philosophy

  • 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.yaml or @module decorators.
  • 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.

Scope

For a detailed definition of what the toolkit does and does not do, see the Scope & Boundaries document.