How do their APIs compare?
How do their APIs compare?
About affaan-m/ecc · 2 messages · last activity 7/25/2026
Based on what I can actually retrieve, these two repos aren't really comparable at the level of a traditional REST/HTTP "API" — they're both Claude Code plugin/agent-harness ecosystems, not backend services with request/response endpoints. Here's the honest breakdown:
affaan-m/ecc
- Its "API surface" is primarily a Python LLM abstraction layer, not a web API. Under
src/llm/, there's a provider-adapter pattern:adapt_messages_for_provider(messages, provider, tools)dispatches to a per-provider builder viaget_provider_builder(provider)and calls.build(messages, tools)[src/llm/prompt/builder.py:L119-L126]. Individual providers likeastraflow.pyandatlas.pyeach implement a private helper_parse_tool_arguments(raw_arguments)that safely parses tool-call JSON arguments, falling back to{"raw": ...}or{"value": ...}on non-dict results [src/llm/providers/atlas.py:L26-L39, src/llm/providers/astraflow.py:L25-L38] — these two are near-identical implementations across providers, suggesting a shared internal contract each provider adapter must satisfy. - It also exposes a CLI entry point rather than a network API:
src/llm/__main__.pyjust callsllm.cli.selector.main()[src/llm/main.py:L1-L8]. - Its distribution "API" (in the sense of public identifiers) is explicitly documented in the README: GitHub repo
affaan-m/ECC, npm packageecc-universal, and marketplace/plugin identifierecc@ecc— intentionally three different names for validator/namespace reasons [README.md:L351-L360]. SECURITY.md further warns that packages like@chil_ntl/ecc-clior anything namedeverything-claude-code/opencode-eccare not official ECC surfaces unless explicitly documented [SECURITY.md:L52-L75].
affaan-m/everything-claude-code
- It has no code-level API at all in what's retrieved — it's a Claude Code plugin bundle, not a library or service. Its "interface" is a set of slash commands and an agent directory:
.claude-plugin/plugin.jsonandmarketplace.jsondefine plugin metadata and a self-hosted marketplace catalog, andagents/contains 36 markdown-defined subagents (e.g.planner.md,architect.md,tdd-guide.md,code-reviewer.md, etc.) for task delegation [README.zh-CN.md:L232-L271]. - Its "public API" for users is slash commands like
/tdd,/plan,/e2e,/code-review,/build-fix,/learn,/skill-create[CLAUDE.md:L43-L52], plus generic categories of deployment/testing/code-gen commands per CONTRIBUTING.md [CONTRIBUTING.md:L43-L50]. - It reuses the same npm packages as ECC (
ecc-universal,ecc-agentshield) in its README badges, implying it's a downstream/companion distribution rather than a separately packaged API [README.zh-CN.md:L1-L18].
Bottom line: affaan-m/ecc has an actual code-level API (Python provider-adapter functions for LLM message/tool handling, plus a CLI), while affaan-m/everything-claude-code's "API" is really a declarative plugin manifest + slash-command surface with no comparable programmatic functions retrieved. SECURITY.md in ECC explicitly flags everything-claude-code-style names as something to NOT assume is an official ECC-maintained package [SECURITY.md:L52-L75], which is worth noting if you're trying to determine trust/provenance between the two.
FOLLOW_UPS:
- What does the provider-adapter pattern look like in ecc?
- How do the 36 subagents in everything-claude-code get invoked?
- What does ECC's SECURITY.md say about unofficial packages?
Want to ask your own question?
Open chat for affaan-m/eccPublic Q&A. Generated by RepoPilot from the actual source of affaan-m/ecc. AI answers can be incomplete or stale — verify before relying on them.