fjrdomingues / autopilot

Code Autopilot, a tool that uses GPT to read a codebase, create context and solve tasks.
587 stars 63 forks source link

Move to TypeScript? #38

Open siwatanejo opened 1 year ago

siwatanejo commented 1 year ago

I'm wondering if there's any interest in this? I wouldn't mind contributing a PR.

fjrdomingues commented 1 year ago

I've never used it, so I'll have a bit of a learning curve there. But I believe that it would be beneficial to the project's future. @ofir-petrushka what do you think?

hatkyinc2 commented 1 year ago

I'd just note one can add typing on top of JS comments that tooling use without typescript and it reduces complexity I know typescript has more stuff in it than just typing if you find it useful for contributing I would support it. There is also CoffeeScript which people that use say it's like the next thing vs typescript (didn't personally use it yet)

Personally, I'd think the entire codebase is better in python as that's the main AI group But I'm language agnostic, so everything is fine by me as long as it's easy for people So if converting to typescript, all the config to make it easy to run and work on should be there...

maybe just hold the thought about TS for a week or two until we stabilize a bit, cause I think we just change so much a day, a clean TS patch would need to touch everything and needs a pause.

Sorry, it's more of a brain dump than a direct answer. TL;DR; Let's hold this idea for a short while and come back to it in 1-2 weeks, is that ok?

siwatanejo commented 1 year ago

TBH if you move to Python, my interest in this project would tank to zero 🥲

hatkyinc2 commented 1 year ago

@siwatanejo out of curiosity, what's your intended use case/pattern? or why does it matter what this is written in? are you a pro in typescript? (while it's probably unlikely this would be converted, for now langchain python had gpt4all and langchain js doesn't, maybe you can help on that side?)

siwatanejo commented 1 year ago

I have a company and if this repo turns out to be helpful for us we would contribute man-hours to squash bugs or polish it.

ofir-petrushka-lat commented 1 year ago

What's the minimum for this to be useful for you? I am asking to align different vision/initial focus

siwatanejo commented 1 year ago

Something like AutoPR that starting from a small repo it can grow automatically by creating github issues (and subsequently ChatGPT generating PRs). At that point we would likely contribute code to make it respond to feedback on the PR (e.g. if CI fails, make ChatGPT try to add commits to fix CI; after that, if a review is made, try to make ChatGPT address review feedback).

hatkyinc2 commented 1 year ago

that's very aligned with @fjrdomingues vision for this.

hatkyinc2 commented 1 year ago

btw I added JS typing comments to much of the code, due it's not enforced like TS, the IDEs show it and I think there are validators that would enforce it...

hatkyinc2 commented 1 year ago

@siwatanejo If you are still interested, I think we are at a point where I'd be happy to support moving to typescript if you want to do some initial work (I'd suggest doing small chunks, even setup, and a single file initially, than file by file, would just make it easy merging with reduced collisions) I did a lot of breaking apart stuff already. We got already a custom type for files and we have a little start of langchain usage which defines their own types, so not having just primitives anymore, there might be some immediate higher level benefits as well

siwatanejo commented 1 year ago

Great. Thing is, doing this in a giant PR that changes all .js to .ts files would be:

So I guess it's fine if we do the transition progressively? Given that PR91 seems very advanced already, I could start with files that are not modified by that one.

fjrdomingues commented 1 year ago

@siwatanejo I plan to move the PR #91 to a different repository so no worries with that one. Your point is still valid for the other PRs

hatkyinc2 commented 1 year ago

The agents sub dir is probably a good start point for now

siwatanejo commented 1 year ago

I see now in the Readme this text:

We are running autopilot on a server connnected to the https://github.com/fjrdomingues/autopilot repository. New issues created will trigger autopilot and create a new Pull Request with a proposal.

Since when was this in place? (I'm guessing not by the time this issue was created, since GPT would have tried to create a PR?).

The agents sub dir is probably a good start point for now

Anyway I was thinking if I could try the github-issue approach to migrate some file in the agents subdir? Not that I'm lazy but I'd prefer if GPT creates a PR that I can fix/improve/augment. Let me know if this would work and I will try.

hatkyinc2 commented 1 year ago

@siwatanejo Very recent as everything around here 🤣 . @fjrdomingues put something up, I don't have the details but have a go.