FlowTestAI / FlowTest

GenAI powered OpenSource IDE for API first workflows
MIT License
212 stars 14 forks source link

Improvements to development workflow #89

Open xelacast opened 2 months ago

xelacast commented 2 months ago

Hello FlowTestAI Team,

I came across your product on YouTube and Langchain's blog and wanted to check it out. The app itself is invaluable when developing with AI and LLms. The UI and UX are sleek and easy to work with.

Upon working on your applications I found a few development slowdowns when loading and working in the repo. I know the project is in its early stages and will improve over time. Here are a few suggestions/Issues I came across.

I know this repo is only several months old and only two of you are working on it. I like the opportunity to help where I can, working with Langchain and LLMs is tough, and bringing it to the development community could allow users to iterate on projects and products quickly. I don't know if these development decisions are intentional or not, so please say where I am wrong.

I would appreciate the opportunity to work alongside the team and towards these improvements. Let me know if these suggestions are helpful or not helpful for the repo 👍

jsajal commented 2 months ago

Hi @xelacast welcome to FlowTestAI and thank you for your kind words. We thank you wholeheartedly for being our first external contributor ❤️ https://github.com/FlowTestAI/FlowTest/pull/90

Our vision is to make OpenSource products FREE and easily available to everyone and for this we welcome all kinds of contributions, be it through code or be it just ideas.

Let me take your points one by one

  • Using npm. Transfering your work directory to yarn or pnpm can improve the performance of the development workflow (performance/ ease of use).
    • Have a package manager lock file to improve downloads and development workflow (performance).

I like it, want to approve https://github.com/FlowTestAI/FlowTest/pull/90 with one followup comment

GitHub actions for safety and checks for production builds and community collaborations (automation).

Greatly appreciated 💪 . We are both so busy in core feature development and handling user inquiries that we are not getting time for such things.

  • no env.example file (if applicable)
  • No TypeScript integration to improve workflow (opinionated but valuable) (performance)

Apologies but I was not able to understand both these points, can you expand and explain them more

Using Turbo repo (opinionated I'm not sure if it's usable in this situation)

I also recently got acquainted with Turbo and Vite and I am yet to fully grasp them especially their scope of usability in our project. If you have something specific in mind, like you did with pnpm (build time), then we can discuss more on that but for now we can circle back to this later.

xelacast commented 2 months ago

Awesome, keep on keeping on with the core features! I can lend a hand in devOps and workflows. 👍

no env.example file (if applicable) No TypeScript integration to improve workflow (opinionated but valuable) (performance) Apologies but I was not able to understand both these points, can you expand and explain them more

Definetely. I saw the .env.example was in the .gitignore. If anytime the project needs to use env variables in its core or in a package the .env.example file will serve as a template for new users.

TypeScript and ES6 can improve workflow and coding performance with type safety and intellisence. I've been using TypeScript for the last 2 years and my efficiency in creating React components and working with frameworks like Next.js has improved tenfold. There'll be a learning curve but any JS code can be used in TS files. This would take a bit to implement by refactoring your project, and I'd recommend using a framework like Next.js or another React framework alongside electron. This will improve steps in build processes, linting, and reducing bugs. Also, more developers would be familiar with it thus increasing the amount of developers who could contribute to the project. This is totally up to y'all and would take time to implement and learn. I would be down to help if y'all wanted the project to go that direction. 💯

Also, I saw turbo repo is configurable with your project setup. The create-t3-app repo uses it and it's nice to work with.

I also saw the project still needs a contributing guide and know it would be a great thing to have to keep consistency in the workflow. I can start working on that. If you have any suggestions/wants let me know. I'm going to mirror part of the repo's contributing guidelines from above.

jsajal commented 2 months ago

I saw the .env.example was in the .gitignore. If anytime the project needs to use env variables in its core or in a package the .env.example file will serve as a template for new users.

this is by mistake i think

TypeScript and ES6 can improve workflow and coding performance.....

yeah we personally dabled with that before and during the project. For now JS is good, in future if we have enough users and we feel that there is quantitative value in going from JS to TS, then we will definitely invest in that

I also saw the project still needs a contributing guide and know it would be a great thing to have to keep consistency in the workflow. I can start working on that. If you have any suggestions/wants let me know. I'm going to mirror part of the repo's contributing guidelines from above

That's good with us. Feel free to make an initial draft and raise a pull request. I can modify it further. One note here is that we use https://marketplace.visualstudio.com/items?itemName=heybourn.headwind extension to sort css code. It helps a lot especially at the time of debugging, so we can make a note of that in contributing guide.