←back to thread

174 points skp1995 | 1 comments | | HN request time: 0s | source

Hey HN, We are Sandeep and Naresh, the creators of Aide. We are happy to open source and invite the community to try out Aide which is a VSCode fork built with LLMs integrated.

To talk through the features, we engineered the following:

- A proactive agent

Agent which iterates on the linter errors (powered by the Language Server) and pulls in relevant context by doing go-to-definitions, go-to-references etc and propose fixes or ask for more files which might be missing in the context.

- Developer control

We encourage you to do edits on top of your coding sessions. To enable this, we built a VSCode native rollback feature which gets rid of all the edits made by the agent in a single click if there were mistakes, without messing up your changes from before.

- A combined chat+edit flow which you can use to brainstorm and edit

You can brainstorm a problem in chat by @’ting the files and then jump into edits (which can happen across multiple files) or go from a smaller set of edits and discuss the side-effects of it

- Inline editing widget

We took inspiration from the macos spotlight widget and created a similar one inside the editor, you can highlight part of the code, do Cmd+K and just give your instructions freely

- Local running AI brain

We ship a binary called sidecar which takes care of talking to the LLM providers, preparing the prompts and using the editor for the LLM. All of this is local first and you get full control over the prompts/responses without anything leaking to our end (unless you choose to use your subscription and share the data with us)

We spent the last 15 months learning about the internals of VSCode (its a non-trivial codebase) and also powering up our AI game, the framework is also at the top of swebench-lite with 43% score. On top of this, since the whole AI side of the logic runs locally on your machine you have complete control over the data, from the prompt to the responses and you can use your own API Keys as well (can be any LLM provider) and talk to them directly.

There’s still a whole lot to build and we are at 1% of the journey. Right now the editor feels robust and does not break on any of the flows which we aimed to solve for.

Let us know if there’s anything else you would like to see us build. We also want to empower extensibility and work together with the community to build the next set of features and set a new milestone of AI native editors.

Show context
hubraumhugo ◴[] No.42065127[source]
I'm curious - what does the AI coding setup of the HN community look like, and how has your experience been so far?

I want to get some broader feedback before completely switching my workflow to Aide or Cursor.

replies(14): >>42065372 #>>42065388 #>>42065902 #>>42065939 #>>42066378 #>>42067621 #>>42071404 #>>42071444 #>>42071578 #>>42071828 #>>42072457 #>>42072591 #>>42072894 #>>42073465 #
yen223 ◴[] No.42071828[source]
I am on day 8 of Cursor's 14-day trial. If things continue to go well, I will be switching from Webstorm to Cursor for my Typescript projects.

The AI integrations are a huge productivity boost. There is a substantial difference in the quality of the AI suggestions between using Claude on the side, and having Claude be deeply integrated in the codebase.

I think I accepted about 60-70% of the suggestions Cursor provided.

Some highlights of Cursor:

- Wrote about 80% of a Vite plugin for consolidating articles in my blog (built on remix.run)

- Wrote a Github Action for automated deployments. Using Cursor to write automation scripts is a tangible productivity boost.

- Made meaningful alterations to a libpg_query fork that allowed it to be cross-compiled to iOS. I have very little experience with C compilation, it would have taken me a substantially long time to figure this out.

There are some downsides to using Cursor though:

- Cursor can get too eager with its suggestions, and I'm not seeing any easy way to temporarily or conditionally turn them off. This was especially bad when I was writing blog posts.

- Cursor does really well with Bash and Typescript, but does not work very well with Kotlin or Swift.

- This is a personal thing, but I'm still not used to some of the shortcuts that Cursor uses (Cursor is built on top of VSCode).

replies(2): >>42072001 #>>42072386 #
skp1995 ◴[] No.42072001[source]
Its great that cursor is working for you. I do think LLMs in general are far far better on Typescript and Python compared to other languages (reflects from the training data)

What features of cursor were the most compelling to you? I know their autocomplete experience is elite but wondering if there are other features which you use often!

replies(1): >>42072134 #
yen223 ◴[] No.42072134[source]
Their autocomplete experience is decent, but I've gotten the most value out of Cursor's "chat + codebase context" (no idea what it's called). The feature where you feed it the entire codebase as part of the context, and let Cursor suggest changes to any parts of the codebase.
replies(1): >>42073073 #
skp1995 ◴[] No.42073073[source]
ohh inserting.. I tried it on couple of big repos and it was a bit of a miss to me. How large are the codebases on which you work? I want to get a sense check on where the behavior detoriates with embedding + gpt3.5 based reranker search (not sure if they are doing more now!)
replies(1): >>42073158 #
yen223 ◴[] No.42073158[source]
Largest repo I used with Cursor was about 600,000 lines long
replies(1): >>42073222 #
1. skp1995 ◴[] No.42073222[source]
that's a good metric to aim for... creating a full local index for 600k lines is pretty expensive but there are a bunch of huristics which can take us pretty far

- looking at git commits - making use of recently accesses files - keyword search

If I set these constraints and allow for maybe around 2 LLM round trips we can get pretty far in terms of performance.