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

Interactors CLI #271

Open
cowboyd opened this issue Jul 15, 2024 Discussed in #270 · 1 comment
Open

Interactors CLI #271

cowboyd opened this issue Jul 15, 2024 Discussed in #270 · 1 comment

Comments

@cowboyd
Copy link
Member

cowboyd commented Jul 15, 2024

Discussed in #270

Originally posted by cowboyd July 12, 2024
I wanted to get the ball rolling on a zero-dependency interactors cli that can build a set of interactors into an agent that can be injected into any browsing context. We need to lay out

@wKich has implemented a working prototype and so this will focus on what is needed to make that into a delightful product. This list of questions is by no means exhaustive.

Versioning

How will interactor CLI be versioned? Will it share a version with interactors core? Or should there be some slippage allowed. For example, should you be able to build with different versions of @interactors/html ? It seems to me that if a patch release for interactors comes out, then you shouldn't have to install a completely new version of the CLI just in order to avail yourself of it.

Distribution Channels

Once we have the binary, how will we install it? Being able to codesign would be nice, but I think we can circumvent that by using curl / pkgx

However, we still need a NPM package to be able to use the binary from a javascript project. In the same way that there is a JS api for esbuild, but rebuild itself is a platform executable.

Plugins

We need to describe a round trip scenario of how the interactors CLI will be used in conjunction with some javascript to show how this can be used with Playwright and vitest browser. The goal would be that we can make this happen with a few moving parts as possible. For example @interactors/vitest would use our npm package to interface with the CLI, but then what? How would it integrate the creation and loading of interactors into the runtime?

LSP Integration

When using interactors with the CLI, they will not be built, linted, formatted etc by the rest of the project. They might exist completely outside the project and have different settings like the fact that the Dom lib will be there, not Node.

How will it look when the user opens one of their Interactor files with VSCode? How will it get the types for @interactors/html? How do we make this as smooth as possible?

@taras
Copy link
Member

taras commented Jul 16, 2024

@cowboyd, how do you think we should answer these questions? Should we just itemize them?

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

No branches or pull requests

2 participants