asyncapi / asyncapi/website

[FEATURE] 🧠 “Explain this AsyncAPI” — AI Assistant for Better Understanding

Open
#4,796 5 comments 1 reaction 0 assignees View on GitHub
enhancement stale
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.