Skip to content
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

Mentorship 2024 Idea: Enhancing Developer Experience in CLI #1508

Open
AayushSaini101 opened this issue Sep 3, 2024 · 10 comments
Open

Mentorship 2024 Idea: Enhancing Developer Experience in CLI #1508

AayushSaini101 opened this issue Sep 3, 2024 · 10 comments

Comments

@AayushSaini101
Copy link
Contributor

AayushSaini101 commented Sep 3, 2024

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: feat: new CLI architecture (part 1) #1200 (comment)
  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
Copy link
Contributor Author

AayushSaini101 commented Sep 3, 2024

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

@Souvikns
Copy link
Member

Souvikns commented Sep 4, 2024

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
Copy link
Collaborator

@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
Copy link
Contributor Author

AayushSaini101 commented Sep 6, 2024

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. Documentation of the new CLI Structure

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.

@AayushSaini101
Copy link
Contributor Author

AayushSaini101 commented Oct 6, 2024

Proposal for the project submitted

@AayushSaini101
Copy link
Contributor Author

AayushSaini101 commented Nov 11, 2024

@Souvikns In this week, i will start working on the documentation issue, i have created the below issue

@AayushSaini101
Copy link
Contributor Author

New Command to format the document [ Done ] 1 part completed

@AayushSaini101
Copy link
Contributor Author

Started working on #862 @Souvikns

@AayushSaini101
Copy link
Contributor Author

This is the implementation plan:

  • Extend the asyncapi config command to add following parameters .
  • http_proxy, https_proxy, ftp_proxy takes a value http://your-proxy-server:your-port/" that add proxy env in the current session of terminal
  • no_proxy will remove cleanup the value from the session.

@Amzani
Copy link
Collaborator

Amzani commented Dec 19, 2024

Great proposal @AayushSaini101 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To Triage
Development

No branches or pull requests

4 participants