{"id":48223081,"url":"https://github.com/naftiko/api-reusability","last_synced_at":"2026-04-04T19:15:42.930Z","repository":{"id":338135038,"uuid":"1156276573","full_name":"naftiko/api-reusability","owner":"naftiko","description":"This is a proof of concept exploration around what API reusability means.","archived":false,"fork":false,"pushed_at":"2026-02-13T01:06:36.000Z","size":318,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T10:10:35.358Z","etag":null,"topics":["capabilities"],"latest_commit_sha":null,"homepage":"","language":"Bru","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/naftiko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-12T13:18:59.000Z","updated_at":"2026-02-13T01:06:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/naftiko/api-reusability","commit_stats":null,"previous_names":["naftiko/api-reusability"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/naftiko/api-reusability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naftiko%2Fapi-reusability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naftiko%2Fapi-reusability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naftiko%2Fapi-reusability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naftiko%2Fapi-reusability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naftiko","download_url":"https://codeload.github.com/naftiko/api-reusability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naftiko%2Fapi-reusability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31409797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capabilities"],"created_at":"2026-04-04T19:15:42.865Z","updated_at":"2026-04-04T19:15:42.918Z","avatar_url":"https://github.com/naftiko.png","language":"Bru","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Reusability\n\nDiscover, 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.\n\nSee [ROADMAP.md](ROADMAP.md) for planned capability expansions across Search, Enrich, Govern, Cost, Credentials, and Developer Experience.\n\n---\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────────┐\n│                          DISCOVER (10)                               │\n│  GitHub  Kong  AWS  Backstage  Apigee  Azure APIM  Postman  Bruno  │\n│  HAR  SwaggerHub                                                    │\n└────────────────────────────────┬────────────────────────────────────┘\n                                 ▼\n                    Normalized API Inventory\n              (paths, operations, parameters, schemas)\n                                 │\n              ┌──────────────────┼──────────────────┐\n              ▼                  ▼                  ▼\n┌──────────────────┐  ┌──────────────────┐  ┌──────────────────────────┐\n│   REPORT (8)     │  │   GENERATE (1)   │  │                          │\n│  Datadog         │  │  Naftiko v0.5    │  │  Reuse across adapters:  │\n│  New Relic       │  │  consumes        │  │  • HTTP endpoints        │\n│  Splunk          │  │  adapters        │  │  • MCP tools             │\n│  Notion          │  │  + capability    │  │  • Agent Skills          │\n│  Confluence      │  │  wrappers        │  │                          │\n│  Power BI        │  └──────────────────┘  └──────────────────────────┘\n│  Backstage       │\n│  Slack           │\n└──────────────────┘\n```\n\n---\n\n## Capabilities\n\n### Discovery (10 capabilities)\n\n| Capability | Source | What It Extracts |\n|------------|--------|-----------------|\n| [discover-apis-github](examples/discover-apis-github.yml) | GitHub Repositories | OpenAPI/Swagger specs → paths, operations, parameters, schemas |\n| [discover-apis-kong](examples/discover-apis-kong.yml) | Kong API Gateway | Services, routes, plugins → paths, methods, auth schemes |\n| [discover-apis-aws](examples/discover-apis-aws.yml) | AWS API Gateway | REST APIs, resources, methods, models, stages |\n| [discover-apis-backstage](examples/discover-apis-backstage.yml) | Backstage Catalog | Catalog entities, component metadata, ownership, lifecycle status, specs |\n| [discover-apis-apigee](examples/discover-apis-apigee.yml) | Google Apigee | API proxies, products, environments, deployed revisions, traffic policies |\n| [discover-apis-azure-apim](examples/discover-apis-azure-apim.yml) | Azure API Management | APIs, operations, products, subscriptions, policy configurations |\n| [discover-apis-postman](examples/discover-apis-postman.yml) | Postman Collections | Collections, requests, environments, variables, authentication schemes |\n| [discover-apis-bruno](examples/discover-apis-bruno.yml) | Bruno Collections | Request definitions, environments, variables from Git-native collections |\n| [discover-apis-har](examples/discover-apis-har.yml) | HAR Files (Traffic) | Evidence-based API inventory from actual HTTP traffic captures |\n| [discover-apis-swaggerhub](examples/discover-apis-swaggerhub.yml) | SwaggerHub | Published API specs, versions, domains, paths, operations, schemas |\n\n### Reporting (8 capabilities)\n\n| Capability | Target | What It Publishes |\n|------------|--------|------------------|\n| [report-reuse-datadog](examples/report-reuse-datadog.yml) | Datadog Dashboard | Custom metrics: path overlap rate, schema duplication, parameter patterns |\n| [report-reuse-newrelic](examples/report-reuse-newrelic.yml) | New Relic Dashboard | Deployment markers + custom events for reuse scan results |\n| [report-reuse-splunk](examples/report-reuse-splunk.yml) | Splunk Dashboard | Indexed events with sourcetype=api_reuse_scan for SPL queries |\n| [report-reuse-notion](examples/report-reuse-notion.yml) | Notion Page | Structured report with tables, callouts, and recommendations |\n| [report-reuse-confluence](examples/report-reuse-confluence.yml) | Confluence Page | Structured reuse reports with tables, status macros, and recommendations |\n| [report-reuse-powerbi](examples/report-reuse-powerbi.yml) | Power BI Dashboard | Executive dashboards with reuse trends, cost savings, business outcomes |\n| [report-reuse-backstage](examples/report-reuse-backstage.yml) | Backstage Scorecard | Reusability scores and governance compliance as entity annotations |\n| [report-reuse-slack](examples/report-reuse-slack.yml) | Slack Channel | Reuse alerts, duplicate warnings, and consolidation recommendations |\n\n### Generation (1 capability)\n\n| Capability | Output | What It Produces |\n|------------|--------|-----------------|\n| [generate-naftiko-adapters](examples/generate-naftiko-adapters.yml) | GitHub Repository | Naftiko v0.5 consumes YAML + capability wrappers (HTTP, MCP, Agent Skill) |\n\n---\n\n## Shared Adapters\n\nNew adapters created for this project (complement the 31 adapters in the [capabilities repo](../capabilities/shared/)):\n\n| Adapter | Service |\n|---------|---------|\n| [consumes-kong.yml](shared/consumes-kong.yml) | Kong Admin API — services, routes, plugins |\n| [consumes-aws-apigateway.yml](shared/consumes-aws-apigateway.yml) | AWS API Gateway — REST APIs, resources, methods, models, stages, export |\n| [consumes-backstage.yml](shared/consumes-backstage.yml) | Backstage Software Catalog API — entities, metadata, annotations |\n| [consumes-apigee.yml](shared/consumes-apigee.yml) | Apigee Management API — proxies, products, deployments |\n| [consumes-azure-apim.yml](shared/consumes-azure-apim.yml) | Azure API Management REST API — APIs, operations, products |\n| [consumes-postman.yml](shared/consumes-postman.yml) | Postman API v10 — collections, requests, environments |\n| [consumes-swaggerhub.yml](shared/consumes-swaggerhub.yml) | SwaggerHub Registry API — specs, versions, definitions |\n\nExisting adapters consumed from the capabilities repo:\n\n- `consumes-github.yml` — GitHub REST API v3 (also used by Bruno discovery)\n- `consumes-datadog.yml` — Datadog API v1/v2\n- `consumes-newrelic.yml` — New Relic REST API v2\n- `consumes-splunk.yml` — Splunk REST API\n- `consumes-notion.yml` — Notion REST API v1\n- `consumes-confluence.yml` — Confluence REST API\n- `consumes-powerbi.yml` — Power BI REST API\n- `consumes-slack.yml` — Slack Web API\n\n---\n\n## Exposure Modes\n\nEvery capability is exposed three ways, aligned with the Naftiko framework:\n\n| Mode | Description |\n|------|-------------|\n| **HTTP** | REST endpoint (e.g. `POST /discover/github`) for direct integration |\n| **MCP** | Model Context Protocol tool under the `api-reusability` namespace |\n| **Agent Skill** | Agent skill adapter for agentic orchestration workflows |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaftiko%2Fapi-reusability","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaftiko%2Fapi-reusability","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaftiko%2Fapi-reusability/lists"}