-
-
Notifications
You must be signed in to change notification settings - Fork 310
Description
Overview
The AsyncAPI CLI is nearly feature-complete, but its performance, testing reliability, and usability need significant improvements. This project focuses on optimizing command execution speed, enhancing test reliability, and introducing much-requested features such as publishing and syncing AsyncAPI files with remote repositories.
Why This is Needed
Performance Issues: Some CLI commands, such as generate, take too long to execute.
Flaky Testing & Outdated Dependencies: Running test cases locally is challenging due to outdated dependencies, leading to debugging issues.
Long-Standing Feature Gaps: The community has requested a way to publish and sync AsyncAPI files with repositories.
Slow Installation: The CLI installation process is inefficient; migrating to Bun or pnpm could speed this up.
Lack of Custom Validation Rules: Users cannot currently validate AsyncAPI files against their own Spectral rules.
Project Goals
✅ Performance Optimization:
- Profile and optimize slow CLI commands, particularly generate.
- Investigate migrating to Bun or pnpm to speed up installation.
✅ Test & Debugging Improvements:
- Update outdated dependencies to improve test reliability
- Refactor test cases to reduce flakiness and make debugging easier.
✅ New Features:
- Publish & Sync: Implement functionality to allow users to sync and publish AsyncAPI files with remote repositories (related issue)
- Custom Validation Rules: Enable users to validate AsyncAPI files against custom Spectral rules for better enforcement of API standards.
✅ Logging & Documentation Improvements:
- Improve logging to provide clearer feedback and debugging information.
- Update documentation to reflect performance improvements and new features.
Expected Outcome
By the end of GSoC 2025, the AsyncAPI CLI should be significantly faster, more reliable, and equipped with features that improve usability and debugging. The improvements will make contributing to the project easier while also enhancing the developer experience for end users.
Skills Required
JavaScript/TypeScript
Node.js
Performance Optimization (e.g., profiling, dependency management)
Testing Libraries
APIs
Difficulty Level
🟡 Medium to High
Resources
AsyncAPI CLI Repository
AsyncAPI Generator Issue #538
Bun.sh
pnpm
Spectral Rules for API Validation
Metadata
Metadata
Assignees
Labels
Type
Projects
Status