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

v1.0.0 planning #251

Closed
12 of 16 tasks
Souvikns opened this issue Mar 3, 2022 · 12 comments
Closed
12 of 16 tasks

v1.0.0 planning #251

Souvikns opened this issue Mar 3, 2022 · 12 comments
Labels

Comments

@Souvikns
Copy link
Member

Souvikns commented Mar 3, 2022

I am opening this issue to plan for CLI v1.0.0 release. There is no set date for v1 this is just to plan and track our progress. We can have a date if everyone decides on it, but I think it is too early for that.

Must Have

Good To Have


If you want to change anything from this issue just leave a comment.

Pinging all the code owners- @magicmatatjahu @derberg @boyney123

@fmvilas
Copy link
Member

fmvilas commented Mar 3, 2022

Great initiative, Souvik 👏

@imabp
Copy link
Member

imabp commented Mar 5, 2022

Thank you @Souvikns I was really waiting for this roadmap ..
Let's push it.

Also @Souvikns please add this to the above list, as its done now.

@derberg
Copy link
Member

derberg commented Mar 14, 2022

Awesome initiative @Souvikns 👏🏼

I think we should first agree on what 1.0 means to all of us and then define the scope. I personally always consider features only as one of many requirements, and only features that are necessary or features that can potentially be changing a lot after its release and we want to give them some time to make sure they are stable.

in other words, for example bundle, optimize or cupid or others are not must-have for me for 1.0. They are just nice to have.

my perspective is that we first must enable anyone:

  • to use the CLI and try it out (the issue I'm working on to expose binaries not only as npm package)
  • we have good integration tests that ensure releases are not breaking production (you remember recent issues with CLI we were not aware as we got used to using CLI directly from source code)
  • research how we could perform some user testing. Maybe plugin analytics and have support for checking user consent to share them with us

from features perspective, the only important ones could be generate and convert so 1.0 of CLI would automatically deprecate Generator and Converter CLIs

Thoughts?

@Souvikns
Copy link
Member Author

from features perspective, the only important ones could be generate and convert so 1.0 of CLI would automatically deprecate Generator and Converter CLIs

Totally agree!

in other words, for example bundle, optimize or cupid or others are not must-have for me for 1.0. They are just nice to have.

Maybe we divide our scope into must-have and might-have so that we can create some kind of priority.

I think we should first agree on what 1.0 means to all of us and then define the scope. I personally always consider features only as one of many requirements, and only features that are necessary or features that can potentially be changing a lot after its release and we want to give them some time to make sure they are stable.

So roughly major versions are just stable versions that are safe to be used in production. So we don't release a new feature and say it is V1 but take some old well-developed and well-tested features as the scope (Still trying to figure out how versioning really works).


Could this be our scope

Must have well-tested features Features

  • generate command
  • convert command
  • Enable cross-platform installation (installation without nodejs)
  • Rich Documentation
  • Have integration testing so that CLI doe not break in production again.

research how we could perform some user testing. Maybe plugin analytics and have support for checking user consent to share them with us

Not sure how we can do this for a CLI.

@imabp
Copy link
Member

imabp commented Mar 14, 2022

I liked this of putting the completely production grade things to v1.0.0

research how we could perform some user testing. Maybe plugin analytics and have support for checking user consent to share them with us

@derberg @Souvikns , we need a e2e framework for testing CLI,

Just like cypress for frontend, I got to know about "nixt", for e2e user testing in clis
https://github.com/vesln/nixt

We can try using this.

@derberg
Copy link
Member

derberg commented Mar 17, 2022

@imabp https://github.com/vesln/nixt is more for the topic of integration testing that I mentioned, so we actually use the CLI as end user, not just testing individual components, but commands directly

for user testing, I mean kind of reports that we can receive that tell us what commands user is using, etc.
but yeah, this is big topic, that requires research and discussion with community, so I'm also fine if it is dropped for 1.0
you can compare it to website, and google analytics we have there. Last time I checked it was possible also to send data to google analytics from backend apps too, like CLI, so this could be a solution.

Maybe we divide our scope into must-have and might-have so that we can create some kind of priority.

or we can just say what is must have, that you listed in your comment, and that it doesn't mean we freeze development and people can and should be adding features as they want, without any block from our side

@imabp
Copy link
Member

imabp commented Apr 20, 2022

@derberg , that sounds like a telemetry analysis topic.
Yes, google analytics can be integrated with CLI too using Google's Measurement Protocol Node Library

I have used rollbar a lot, its useful to track errors and reports.

Meanwhile, let's just first ship the things of what is required.

@derberg
Copy link
Member

derberg commented May 17, 2023

@Souvikns how about we push it through AsyncAPI Mentorship?

Must have well-tested features Features
generate command
convert command
Enable cross-platform installation (installation without nodejs)
Rich Documentation
Have integration testing so that CLI doe not break in production again.

so scope would be:

  • reach 90% test coverage?
  • enable cross-platform installation - windows chocolate left I guess?
  • documentation - we have it already integrated with website. I think we are missing some cookbook, or a kind of advanced examples on different commands, like a show case of options
  • github action to easily use AsyncAPI CLI - could be just a guide on how to use it in a workflow, maybe action is not needed
  • simple integration tests that prove binaries work

What do you think.
I think such topic will easily enable contributor to become a maintainer after the mentorship


Regarding analytics, this is completely different topic. And we could put it under mentorship too

@Souvikns
Copy link
Member Author

@Souvikns how about we push it through AsyncAPI Mentorship?

Yeah definitely. One question though will all these be different projects or a single project from CLI?

Copy link
Member

derberg commented May 17, 2023

all under scope would be part of one project, project would be called Prepare CLI for 1.0 release. GitHub action could be a bonus scope. I just do not think it is super complicated really

@github-actions
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Sep 15, 2023
@github-actions github-actions bot removed the stale label Oct 26, 2023
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Feb 23, 2024
@github-project-automation github-project-automation bot moved this to Backlog in CLI - Kanban Apr 24, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 22, 2024
@github-project-automation github-project-automation bot moved this from Backlog to Done in CLI - Kanban Jun 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

4 participants