Skip to content

Latest commit

 

History

History
112 lines (88 loc) · 7.47 KB

File metadata and controls

112 lines (88 loc) · 7.47 KB

API Reusability

Discover, measure, and increase reuse of existing APIs across your organization using the Naftiko v0.5 capability framework. This project breaks API reusability into three capability areas — Discover, Report, and Generate — each exposed as HTTP, MCP, and Agent Skill adapters.

See ROADMAP.md for planned capability expansions across Search, Enrich, Govern, Cost, Credentials, and Developer Experience.


Architecture

┌─────────────────────────────────────────────────────────────────────┐
│                          DISCOVER (10)                               │
│  GitHub  Kong  AWS  Backstage  Apigee  Azure APIM  Postman  Bruno  │
│  HAR  SwaggerHub                                                    │
└────────────────────────────────┬────────────────────────────────────┘
                                 ▼
                    Normalized API Inventory
              (paths, operations, parameters, schemas)
                                 │
              ┌──────────────────┼──────────────────┐
              ▼                  ▼                  ▼
┌──────────────────┐  ┌──────────────────┐  ┌──────────────────────────┐
│   REPORT (8)     │  │   GENERATE (1)   │  │                          │
│  Datadog         │  │  Naftiko v0.5    │  │  Reuse across adapters:  │
│  New Relic       │  │  consumes        │  │  • HTTP endpoints        │
│  Splunk          │  │  adapters        │  │  • MCP tools             │
│  Notion          │  │  + capability    │  │  • Agent Skills          │
│  Confluence      │  │  wrappers        │  │                          │
│  Power BI        │  └──────────────────┘  └──────────────────────────┘
│  Backstage       │
│  Slack           │
└──────────────────┘

Capabilities

Discovery (10 capabilities)

Capability Source What It Extracts
discover-apis-github GitHub Repositories OpenAPI/Swagger specs → paths, operations, parameters, schemas
discover-apis-kong Kong API Gateway Services, routes, plugins → paths, methods, auth schemes
discover-apis-aws AWS API Gateway REST APIs, resources, methods, models, stages
discover-apis-backstage Backstage Catalog Catalog entities, component metadata, ownership, lifecycle status, specs
discover-apis-apigee Google Apigee API proxies, products, environments, deployed revisions, traffic policies
discover-apis-azure-apim Azure API Management APIs, operations, products, subscriptions, policy configurations
discover-apis-postman Postman Collections Collections, requests, environments, variables, authentication schemes
discover-apis-bruno Bruno Collections Request definitions, environments, variables from Git-native collections
discover-apis-har HAR Files (Traffic) Evidence-based API inventory from actual HTTP traffic captures
discover-apis-swaggerhub SwaggerHub Published API specs, versions, domains, paths, operations, schemas

Reporting (8 capabilities)

Capability Target What It Publishes
report-reuse-datadog Datadog Dashboard Custom metrics: path overlap rate, schema duplication, parameter patterns
report-reuse-newrelic New Relic Dashboard Deployment markers + custom events for reuse scan results
report-reuse-splunk Splunk Dashboard Indexed events with sourcetype=api_reuse_scan for SPL queries
report-reuse-notion Notion Page Structured report with tables, callouts, and recommendations
report-reuse-confluence Confluence Page Structured reuse reports with tables, status macros, and recommendations
report-reuse-powerbi Power BI Dashboard Executive dashboards with reuse trends, cost savings, business outcomes
report-reuse-backstage Backstage Scorecard Reusability scores and governance compliance as entity annotations
report-reuse-slack Slack Channel Reuse alerts, duplicate warnings, and consolidation recommendations

Generation (1 capability)

Capability Output What It Produces
generate-naftiko-adapters GitHub Repository Naftiko v0.5 consumes YAML + capability wrappers (HTTP, MCP, Agent Skill)

Shared Adapters

New adapters created for this project (complement the 31 adapters in the capabilities repo):

Adapter Service
consumes-kong.yml Kong Admin API — services, routes, plugins
consumes-aws-apigateway.yml AWS API Gateway — REST APIs, resources, methods, models, stages, export
consumes-backstage.yml Backstage Software Catalog API — entities, metadata, annotations
consumes-apigee.yml Apigee Management API — proxies, products, deployments
consumes-azure-apim.yml Azure API Management REST API — APIs, operations, products
consumes-postman.yml Postman API v10 — collections, requests, environments
consumes-swaggerhub.yml SwaggerHub Registry API — specs, versions, definitions

Existing adapters consumed from the capabilities repo:

  • consumes-github.yml — GitHub REST API v3 (also used by Bruno discovery)
  • consumes-datadog.yml — Datadog API v1/v2
  • consumes-newrelic.yml — New Relic REST API v2
  • consumes-splunk.yml — Splunk REST API
  • consumes-notion.yml — Notion REST API v1
  • consumes-confluence.yml — Confluence REST API
  • consumes-powerbi.yml — Power BI REST API
  • consumes-slack.yml — Slack Web API

Exposure Modes

Every capability is exposed three ways, aligned with the Naftiko framework:

Mode Description
HTTP REST endpoint (e.g. POST /discover/github) for direct integration
MCP Model Context Protocol tool under the api-reusability namespace
Agent Skill Agent skill adapter for agentic orchestration workflows