[FEATURE] 🧠 “Explain this AsyncAPI” — AI Assistant for Better Understanding
- Dominant language
- TypeScript
- Stars
- 716
- Forks
- 1.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 35
Description
### Why do we need this improvement?
AsyncAPI documents are powerful but complex. While the website provides excellent written documentation, many users still struggle with:
- Understanding large AsyncAPI files
- Interpreting deeply nested schemas
- Knowing why certain fields exist or how they relate
- Translating machine-oriented specs into human reasoning
Today, users often:
- Leave the website to search elsewhere
- Ask repetitive questions on Slack / GitHub
- Misinterpret specs and implement them incorrectly
This creates friction for beginners and slows down experienced users when onboarding new team members.
👉 The website is a documentation hub, but it currently lacks an interactive explanation layer.
### How will this change help?
🎯 Key Benefits
1. Faster learning curve
- Users can instantly understand what a section does instead of reading multiple docs.
2. Reduced community support load
- Fewer repeated “what does this mean?” questions on issues and Slack.
3. Better onboarding experience
- New contributors and adopters understand specs without deep AsyncAPI knowledge.
4. Keeps users on asyncapi.com
- No need to copy specs into external AI tools.
5. Non-invasive & safe
- Read-only explanations
- No modification of user content
- No impact on existing docs or rendering
### Screenshots
_Not applicable at this time._
### How could it be implemented/designed?
[ Docs / Playground ]
↓
[ Explain Button ]
↓
[ Extract Selected AsyncAPI Node ]
↓
[ Netlify Function / Edge Function ]
↓
[ AI Model ]
↓
[ Explanation Panel ]
Add a reusable MDX/React component:
This keeps the feature:
- Optional
- Composable
- Backward-compatible
## 🧩 Feature Overview
What is it?
An AI-powered contextual assistant that explains selected parts of an AsyncAPI document in plain English, directly on the website.
What it does NOT do
❌ It does not edit the spec
❌ It does not auto-generate specs
❌ It does not replace documentation
It augments understanding, not authorship.
##⚙️ Backend / AI Layer
### Recommended approach
- Netlify Function (netlify/functions/explain.ts)
- Receives:
- Spec fragment
- Context (path, version)
- Returns:
- Plain-English explanation
- Optional examples
- Safety guards
- Max input size
- Read-only mode
- No secret exposure
- Rate-limited
### 🔐 Security & Privacy
No persistent storage of user specs
No logging of content by default
Optional opt-in for analytics
Server-side API key handling only
### 🚧 Breaking changes
No
### 👀 Have you checked for similar open issues?
- [x] I checked and didn't find a similar issue
### 🏢 Have you read the Contributing Guidelines?
- [x] I have read the [Contributing Guidelines](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md)
### Are you willing to work on this issue?
Yes I am willing to submit a PR!
Contributor guide
Research direction
Start by inspecting the Docs/Playground entry points and the proposed reusable ExplainAsyncAPI React/MDX component. Review the suggested netlify/functions/explain.ts boundary and determine how selected AsyncAPI fragments would reach an explanation panel. Done would require a defined read-only flow with input limits, rate limiting, server-side key handling, and no persistent spec storage or default content logging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nextjs, react, typescript
- Domain
- ai, backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100