- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.7k
feat: Generate AsyncAPI spec for Event Driven Architecture #946
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add Communication Patterns taxonomy to clarify command for detecting sync/async requirements - Add AsyncAPI specification generation to plan command alongside OpenAPI - Add async communication research tasks for protocol evaluation - Add Communication Patterns and Async Operations fields to plan template - Support hybrid APIs with both synchronous (REST/GraphQL) and asynchronous (WebSocket/Events) patterns 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
* main: Update README.md The function parameters lack type hints. Consider adding type annotations for better code clarity and IDE support. - **Smart JSON Merging for VS Code Settings**: `.vscode/settings.json` is now intelligently merged instead of being overwritten during `specify init --here` or `specify init .` - Existing settings are preserved - New Spec Kit settings are added - Nested objects are merged recursively - Prevents accidental loss of custom VS Code workspace configurations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances the spec-kit toolkit to support AsyncAPI specification generation for event-driven and asynchronous communication patterns. The changes enable the detection and documentation of both synchronous REST/GraphQL APIs and asynchronous messaging patterns within a unified workflow.
Key changes include:
- Added communication patterns taxonomy to requirements gathering in the clarifycommand
- Enhanced the plancommand with AsyncAPI specification generation capabilities
- Updated the plan template to capture async operation details and communication patterns
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description | 
|---|---|
| templates/commands/clarify.md | Adds communication patterns section to capture async requirements during clarification | 
| templates/commands/plan.md | Implements AsyncAPI detection, generation logic, and hybrid API support | 
| templates/plan-template.md | Adds fields for communication patterns and async operations documentation | 
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* main: (23 commits) revert vscode auto remove extra space fix: correct command references in implement.md fix regarding copilot suggestion fix: correct command references in speckit.analyze.md Support more lang/Devops of Common Patterns by Technology feat(ci): add markdownlint-cli2 for consistent markdown formatting fix: include the latest changelog in the `GitHub Release`'s body fix: broken media files fix: Skip CLI checks for IDE-based agents in check command Change loop condition to include last argument chore: replace `bun` by `node/npm` in the `devcontainer` (as many CLI-based agents actually require a `node` runtime) fix: correct argument parsing in create-new-feature.sh script chore: add Claude Code extension to devcontainer configuration chore: add installation of `codebuddy` CLI in the `devcontainer` chore: fix path to powershell script in vscode settings fix: correct `run_command` exit behavior and improve installation instructions (for `Amazon Q`) in `post-create.sh` + fix typos in `CONTRIBUTING.md` chore: add `specify`'s github copilot chat settings to `devcontainer` chore: add `devcontainer` support to ease developer workstation setup Fix: incorrect command formatting in agent context file, refix github#895 Fixed indentation. ...
Fixes #944
Summary
This PR adds generation of AsyncAPI specification support to spec-kit templates, enabling the toolkit to detect, document, and generate a standardised spec for event-driven and asynchronous communication patterns alongside traditional synchronous REST/GraphQL APIs.
Key Changes
Communication Patterns Detection
clarifycommand (templates/commands/clarify.md)AsyncAPI Specification Generation
plancommand (templates/commands/plan.md) to generate AsyncAPI specificationsasyncapi.yamlorevents-api.yamlalongside OpenAPI specsTemplate Enhancements
templates/plan-template.md) with new fields:Files Modified
templates/commands/clarify.md(+8 lines)templates/commands/plan.md(+38 lines, -3 lines)templates/plan-template.md(+7 lines, -7 lines)Benefits
Manual Testing Details
Click here to expand
Spec Kit interactions
Generated AsyncAPI Spec
AI Assistance Disclosure
This PR was created with assistance from Claude Code (Anthropic). The solution was discussed, implemented, and tested with AI assistance for code generation and documentation. All changes have been reviewed and validated.
🤖 Generated with Claude Code