CodeEditApp / CodeEdit

📝 CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever.
https://codeedit.app
MIT License
21.15k stars 1.02k forks source link

✨ Extension Store #183

Open jasonplatts opened 2 years ago

jasonplatts commented 2 years ago

Overview

The extension store should allow users to browse and install extensions submitted by other developers. They should be categorized using the information provided in each extensions manifest.json (See https://github.com/CodeEditApp/CodeEdit/issues/174)

Tasks

Concept

01-macOS-code-edit-extensions-installed 02-macOS-code-edit-extensions-explore

I'd imagine when one is clicked a tab in the main content area opens up to show more details.

nanashili commented 2 years ago

Do we need a backend for this if so i know someone who might help with this

austincondiff commented 2 years ago

We are definitely not going to call it a "Marketplace". That is Microsoft lingo 😁

jasonplatts commented 2 years ago

We are definitely not going to call it a "Marketplace". That is Microsoft lingo 😁

haha! I couldn't remember what you called it. We should definitely update it.

austincondiff commented 2 years ago

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

jasonplatts commented 2 years ago

@austincondiff, would you be able to post the screens you showed me?

nanashili commented 2 years ago

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

I can put you in contact with someone that builds in back-end

austincondiff commented 2 years ago

@austincondiff, would you be able to post the screens you showed me?

Posted to the issue description

austincondiff commented 2 years ago

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

I can put you in contact with someone that builds in back-end

Bring him on the project!

nanashili commented 2 years ago

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

I can put you in contact with someone that builds in back-end

Bring him on the project!

What about .net as the back-end it has way better performance when it comes to scaling

jasonplatts commented 2 years ago

"Extension Library" anyone? (similar to App library)

I like it. Simple and clear.

jasonplatts commented 2 years ago

@austincondiff, would you be able to post the screens you showed me?

Posted to the issue description

Thanks!

jasonplatts commented 2 years ago

Have we decided if we want a website for browsing extensions, in addition to the in-app extension library?

austincondiff commented 2 years ago

Lets try to just provide the in-app experience for browsing for now. We have to provide infrastructure around submission though complete with a CLI to do so.

austincondiff commented 2 years ago

Some naming idea options...

  1. Extension Library (App Library)
  2. Extension Registry (NPM - Package Registry)
  3. Extension Store (App Store - Does this imply monetary transactions? Microsoft uses "Marketplace" which has the same connotation)
jasonplatts commented 2 years ago

Extension Library gets my vote.

0xWDG commented 2 years ago

I'll go for Extension Library.

Ondolin commented 2 years ago

Don't you think Apple would have gone for store? Kind of fits better into the Apple ecosystem. At least from my perspective

lukepistrol commented 2 years ago

Extension Library is my vote

austincondiff commented 2 years ago

Don't you think Apple would have gone for store? Kind of fits better into the Apple ecosystem. At least from my perspective

I could be convinced of this. Apple's "App Store" on the other hand is the central repository of all apps in existence. The "App Library" is all the apps you have downloaded from the store onto your personal device.

With that in consideration, "Extension Store" sounds a little more in line with Apple's naming convention.

Plus, I just googled "safari extension " and look what came up...

screenshot
underthestars-zhy commented 2 years ago

The sidebar should show the extensions that had been added. And people should search or add extensions in the settings view. In this way, people can add extensions without opening a project.

pkasila commented 2 years ago

I'm working on the PoC for Extension Store API, so I hope I'll be able to show some demos of how it can be implemented by Monday-Tuesday

prashantvc commented 2 years ago

From my experience, we don't want to call extension repository "Store" (or anything that implies there are going to be paid extensions) in anyway. People wouldn't like, specially involving open source projects.

I manage Extension Marketplace for VS Code, I can share some insights :) Lend you a hand to build the backend

austincondiff commented 2 years ago

@prashantvc First of all, welcome to CodeEdit!

My thought in using the term “store” for the repository of extensions and “library” for the users installed extensions is…

  1. It follows Apple’s naming conventions (I.e. “App Store”, “App Library”)
  2. It doesn’t necessarily denote the exchange of funds quite the same way the term “marketplace” does (I could be wrong here though). In my line of thought, “store” can mean a store of value, a store of code, a store of functionality etc. When I look up store I see synonyms like, supply, reserve, cache, warehouse, storehouse, shed etc.

We certainly however wouldn’t mind hearing any expertise you have on the subject here or help on our backend when it comes down to it. We’d need to discuss architecture first though and I’d invite you to create an issue for the Extension Store Backend Architecture to get the conversation going.

jasonplatts commented 2 years ago

Thanks @prashantvc for the suggestion and offering to help with building the backend! We very much appreciate it.

We would also love to hear any feedback and/or insight you or your team can provide on the extension architecture or CodeEdit in general.

prashantvc commented 2 years ago

@jasonplatts VS Code team is going to host Extension Authors meet soon. I will drop the details in here once available, you can join in ask questions. The team is extremely open, you can ask questions related to APIs and architecture.

jasonplatts commented 2 years ago

Sounds great @prashantvc! Thank you!

cavnit commented 10 months ago

@austincondiff happy to throw my hat in the ring for the store backend in swift :) (Vapor)

austincondiff commented 10 months ago

@cavnit thay would be great! Feel free to put together a POC. Let us know if you need anything along the way. If you would like help or feedback, feel free to collaborate with other contributors and maintainers on our Discord.

matthijseikelenboom commented 10 months ago

@cavnit We don't have any requirements regarding this at this moment. Without the requirements it will be difficult to build without wasting time and build things that we maybe don't even want. There are some things described here, but due to the fact that this has been put on the back burner, I don't know how relevant these are at the moment.

Perhaps we can discuss these during our next meeting on our Discord.

austincondiff commented 10 months ago

We still welcome the help though. Your thoughts and ideas on how we could do this would be appreciated. Community by-in would be great so it might be a good idea to have a discussion in our extension channel in discord to exchange ideas and solidify requirements. We can discuss it in next weeks meet up but we don’t necessarily need to wait for it. I’d love to get the ball rolling!

prashantvc commented 10 months ago

I built a private extension repo for VS Code here https://github.com/prashantvc/extensions We can extend on this, right now it is elementary. I can help you draft a initial requirements for the extension repo

cavnit commented 10 months ago

Sorry for the slow response, I will put something together over the next couple of days