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

Plugin store new #1169

Draft
wants to merge 24 commits into
base: main
Choose a base branch
from
Draft

Plugin store new #1169

wants to merge 24 commits into from

Conversation

neo773
Copy link
Contributor

@neo773 neo773 commented Jan 19, 2025

a.mp4

/closes #1112
/claim #1112

Copy link

vercel bot commented Jan 19, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
screenpipe ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 19, 2025 6:05pm

@louis030195
Copy link
Collaborator

few questions that pops up:

  • i noticed the new CLI is in TS so it means:
  1. users might get confused as why there is a CLI for login and a CLI for backend
  2. we will have to maintain both, different places/languages
  3. i should have mentioned the need for integration in the rust CLI, do you mind translating? shouldn't be too hard
  • so anybody can publish? we need to have a "gatekeeper" feature which allows us to give feedback, approve/deny pipes
  • do you store built pipes on supabase storage? does
  • did not get the full financial flow, do redistribute money already? idea is people build pipes, publish, we receive the money and send them a cut of it. there is a edge case where people contribute to core pipes or others' and would like to somehow reward them in a more automated ways than bounty, although it's fine for now (can iterate toward this in the future)
  • feel free to DM me procedure to test when it's ready to test

related: https://github.com/louis030195/screen-pipe-website/pull/23

@m13v feel free to add any feedback

@louis030195
Copy link
Collaborator

also does the cli login flow works without the tauri app running?

@neo773
Copy link
Contributor Author

neo773 commented Jan 20, 2025

users might get confused as why there is a CLI for login and a CLI for backend

I'm not sure how that can happen as it's entirely different package only intended for developers and exists only on the plugin documentation page.

we will have to maintain both, different places/languages
i should have mentioned the need for integration in the rust CLI, do you mind translating? shouldn't be too hard

From my experience it's counter intuitive as the CLI does not have anything in common nor interacts with the core backend.

From a contributor's perspective If I cloned the developer backend repo I would also expect to find the CLI there instead of the end user repo.

Also from a maintainability perspective it's much simpler since the API routes live in the same repo as opposed to being fragmented in a huge unrelated repo.

so anybody can publish? we need to have a "gatekeeper" feature which allows us to give feedback, approve/deny pipes

Agreed on this, will look into it.

do you store built pipes on supabase storage?

Yes, we're storing the Next.js dist folder which also solves the prebuild issue, It's also quite efficient since I optimized it we only store the required files by skipping cache this brought down the bundle size from 500MB to a couple of megabytes at max.

did not get the full financial flow

Purchase proceeds are immediately transferred to the developer's connected Stripe account after deducting your platform fees (It's configurable in the backend PR). Also the transfer process is handled and automated by Stripe.

feel free to DM me procedure to test when it's ready to test

You can start testing it now, the core features work.

@louis030195
Copy link
Collaborator

users might get confused as why there is a CLI for login and a CLI for backend

I'm not sure how that can happen as it's entirely different package only intended for developers and exists only on the plugin documentation page.

we will have to maintain both, different places/languages
i should have mentioned the need for integration in the rust CLI, do you mind translating? shouldn't be too hard

From my experience it's counter intuitive as the CLI does not have anything in common nor interacts with the core backend.

From a contributor's perspective If I cloned the developer backend repo I would also expect to find the CLI there instead of the end user repo.

Also from a maintainability perspective it's much simpler since the API routes live in the same repo as opposed to being fragmented in a huge unrelated repo.

so anybody can publish? we need to have a "gatekeeper" feature which allows us to give feedback, approve/deny pipes

Agreed on this, will look into it.

do you store built pipes on supabase storage?

Yes, we're storing the Next.js dist folder which also solves the prebuild issue, It's also quite efficient since I optimized it we only store the required files by skipping cache this brought down the bundle size from 500MB to a couple of megabytes at max.

did not get the full financial flow

Purchase proceeds are immediately transferred to the developer's connected Stripe account after deducting your platform fees (It's configurable in the backend PR). Also the transfer process is handled and automated by Stripe.

feel free to DM me procedure to test when it's ready to test

You can start testing it now, the core features work.

the CLI is only intended for developers, nontechnical users don't use terminal at all

also it will conflict in the PATH, basically they will lose the backend CLI as it's the same name

@neo773
Copy link
Contributor Author

neo773 commented Jan 21, 2025

So package name is this

bunx @screenpipe/dev

As for the executable itself we could add -dev at the end indicating it's for developers so even if a user accidentally installs it as a global dependency it won't conflict with the user space CLI

neo@neos-MacBook-Pro screenpipe-test % screenpipe-dev
ScreenPipe Developer CLI tool

Usage:
  screenpipe-dev [command]

Available Commands:
  login           
  logout          End current session
  publish         Deploy new pipe (includes pricing for paid)
  create          Create a new pipe
  list-versions   List all versions of a pipe

Flags:
  -h, --help      help for screenpipe-dev
  -v, --version   version for screenpipe-dev

Let me know what you think.

@louis030195
Copy link
Collaborator

So package name is this

bunx @screenpipe/dev

As for the executable itself we could add -dev at the end indicating it's for developers so even if a user accidentally installs it as a global dependency it won't conflict with the user space CLI

neo@neos-MacBook-Pro screenpipe-test % screenpipe-dev
ScreenPipe Developer CLI tool

Usage:
  screenpipe-dev [command]

Available Commands:
  login           
  logout          End current session
  publish         Deploy new pipe (includes pricing for paid)
  create          Create a new pipe
  list-versions   List all versions of a pipe

Flags:
  -h, --help      help for screenpipe-dev
  -v, --version   version for screenpipe-dev

Let me know what you think.

i'm good with it

@neo773

let's find a way to add a validation / feedback step from us

want to merge this ASAP, ideally today so we can announce in our newsletter etc.

ideas:

  • some PR somehow (but might need user github auth?)
  • something else, like UI in our website (maybe more effort)

concerns:

  • i'm always trying to make the core of screenpipe work without the tauri app since we want people (companies/dev) to be able to use screenpipe as CLI in their product without the app

also we're going to hide the concept of credit in the UI in the future (or make it named as "balance") but still use it in the backend (unrelated to this PR i believe)

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

Successfully merging this pull request may close these issues.

[bounty] screenpipe store update system
2 participants