asyncapi / cli

CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!
https://www.asyncapi.com/tools/cli
Apache License 2.0
182 stars 148 forks source link

Mentorship 2024 Idea: Enhancing Developer Experience in CLI #1508

Open AayushSaini101 opened 1 week ago

AayushSaini101 commented 1 week ago

Inspired by the insights shared by @Amzani in the article How to Build an Awesome Developer Experience, I propose a project aimed at significantly enhancing the developer experience (DX) for the AsyncAPI CLI. The CLI is a critical tool within the AsyncAPI community, boasting a large number of downloads and an active user base. To maintain its relevance and usability, we need to continuously update it with new features, bug fixes, and improvements that make it more user-friendly and powerful.

image

Current Status of the CLI While the CLI is widely used, there are several areas where it can be improved to better serve the developer community:

*Proposed Ideas for upcoming mentorship program:**

  1. Documentation: After revamping the architecture of the CLI, we haven't updated or created documentation to describe the new design. This gap needs to be addressed to ensure developers can easily understand and contribute to the tool. Link to PR. New Design Architecture: https://github.com/asyncapi/cli/pull/1200#issue-2151403571
  2. Testing: Currently, running test cases locally is challenging due to outdated dependencies. We need to update these dependencies to enable proper debugging and execution of tests.
  3. Proxy Support: There is a need to add support for proxies, which is a common requirement for many users. Issue #862.
  4. UI/UX Improvements: The UI/UX for multiple CLI commands could be improved to provide a smoother and more intuitive experience for users. Issue #1384.
  5. Custom Validation: Implementing the ability to validate an AsyncAPI file against custom spectral rules would empower developers to enforce their own standards.
  6. Publish and Sync: We need to provide the ability to publish and sync AsyncAPI files with remote repositories, addressing a long-standing need within the community. This ties in with Issue #538.
  7. New Commands: Introducing new commands, such as an auto-formatting feature for AsyncAPI documents, would greatly enhance the usability of the CLI. Issue #1419.

By making these investments, we can significantly improve the developer experience, increase the visibility of the CLI, and ensure it continues to be a critical tool within the AsyncAPI ecosystem.

AayushSaini101 commented 1 week ago

@Souvikns @Shurtu-gal @Amzani If we need to add more feel free to suggest thanks: cc: @AceTheCreator

Souvikns commented 1 week ago

Great proposal, @AayushSaini101! It's really well put together. You can start with researching the solutions and ping me if you need any help.

Shurtu-gal commented 1 week ago

@Souvikns @Shurtu-gal @Amzani If we need to add more feel free to suggest thanks: cc: @AceTheCreator

Nice idea. Especially the sync feature, much need tbh.

AayushSaini101 commented 1 week ago

For this mentorship project Ideas:

  1. Proxy Support [ This is a very much required feature by multiple stack holders]
  2. New Command to format the document
  3. Custom Validation and Documentation

If time left we can take following:

  1. Testing: Currently, running test cases locally is challenging due to outdated dependencies. We need to update these dependencies to enable proper debugging and execution of tests.
  2. Publish and Sync: We need to provide the ability to publish and sync AsyncAPI files with remote repositories, addressing a long-standing need within the community. This ties in with Issue #538.