asyncapi / shape-up-process

This repo contains pitches and the current cycle bets. More info about the Shape Up process: https://basecamp.com/shapeup
https://shapeup.asyncapi.io
11 stars 8 forks source link

Identify library parser API intents #84

Closed smoya closed 3 years ago

smoya commented 3 years ago

We want to start defining the new Intent-Driven API for the parser(s). In order to achieve that, we would first need to identify all the possible intents a parser would have.

An intent means a user intention. For example, instead of exposing an API based on a tree-like data structure, such as asyncapi.channel('mychannel').subscribe().message().payload(), we expose clear intents like: asyncapi.getMessagePayloadFor('mychannel', 'subscribe')

The expected outcome for this task is just a list of intents, which could be written in this right issue by now.

Some possible intentions can be deduced by analyzing the following repositories:

Generator

Studio

Templates

Examples:

asyncapi-bot commented 3 years ago

Hey! You've labeled this issue as a Scope. Remember you can use the following command to inform about its progress:

/progress <percentage> [message]

or

/progress <percentage>

A mutiline message.
It supports **Markdown**.
Example:
/progress 40 We're still figuring out how to implement this. We have an idea but it is not yet confirmed it will work.
/progress 50

A few notes:

* We got this figured out :tada:
* We're going to use [this library](#link-to-website) to avoid losing time implementing this algorithm.
* We decided to go for the quickest solution and will improve it if we got time at the end of the cycle.

:weight_lifting_woman: See the progress on the Shape Up Dashboard.

jonaslagoni commented 3 years ago

Intents in ts-nats-template more... indicates that it is used in the majority of files and not only those who are listed.

Extended intents Intents that are not really in scope for the parser (could be) but are just added to make sure they are described.

jonaslagoni commented 3 years ago

java-spring-cloud-stream more... indicates that it is used in the majority of files and not only those who are listed.

smoya commented 3 years ago

/progress 25 We started listing the intents we can find in https://github.com/asyncapi/ts-nats-template repo.

smoya commented 3 years ago

nodejs-template

jonaslagoni commented 3 years ago

Generator

jonaslagoni commented 3 years ago

Studio

smoya commented 3 years ago

I think we are fine to move to the next step so we can translate all those intents to actual API methods (if applies).

jonaslagoni commented 3 years ago

/progress 100 defined intent for different use-cases, which should suffice in continuing to the next stage

fmvilas commented 3 years ago

@jonaslagoni @smoya make sure you share the result of this with @derberg and the community on the #tooling channel. It's interesting for other template developers.

jonaslagoni commented 3 years ago

@fmvilas we are just using this initial research to get a grip for https://github.com/asyncapi/shape-up-process/issues/90. This was done to see how the different libraries interact with the parser as it is now.

But we will of course keep the community in the loop as much as possible, but I also feel like we would need to come up with a starting point, something concrete that can be discussed instead of something vague :)

smoya commented 3 years ago

@fmvilas we are just using this initial research to get a grip for #90. This was done to see how the different libraries interact with the parser as it is now.

But we will of course keep the community in the loop as much as possible, but I also feel like we would need to come up with a starting point, something concrete that can be discussed instead of something vague :)

I think we should share right now we just started with the Parser API reshape, that we are in the design step and mention we will keep iterating on https://github.com/asyncapi/shape-up-process/issues/90 so feedback will be welcome. We can always drop another chat once the design becomes more tangible.

WDYT? @fmvilas @jonaslagoni

jonaslagoni commented 3 years ago

IMO it is a very fine line between spamming and saying something meaningful, and I don't think we have anything meaningful besides what you already posted, that we started on this bet 😄 But of course if you feel like we need to give more info then sure, we can add that 😄

Maybe better to write too much then too little? idk 😄

fmvilas commented 3 years ago

When in doubt, favor the overcommunication. Just use the right channel (#tooling) and keep it on a thread. If people don't want to follow your stuff, they can turn off notifications or leave the channel. Also, keeping everything on a thread prevents it from triggering a notification for each message.