isker / neogrok

Neogrok is a frontend for zoekt, a fast and scalable code search engine.
https://neogrok-demo-web.fly.dev
MIT License
28 stars 2 forks source link

would you be open to contributions? #4

Closed xvandish closed 1 year ago

xvandish commented 1 year ago

Hello!

I forgot how exactly I found your repo, but I'm glad I did.

Long context: At my company I deployed livegrep and its been universally well recieved. However, we have a lot of code, and are starting to hit scale problems. A switch to Zoekt would solve most of our problems, so I think I'll make the migration soon once I discuss it with the larger org. The default frontend isn't really usable, and what you've built here is pretty much what I wanted to add (as-you-type results, context, sort by lno/rank toggle, etc), and I'd honestly be happy using it pretty much as-is. Since I'd/we'd be using your project at work, I'd like to help out to give back!

I also completely understand if you'd like to wait until your in a more "stable" spot and you don't expect the codebase to shift around much.

tldr: I think I'm going to start using the project once I switch to Zoekt, and in the spirit of giving back, would like to help out with development. If you'd be amenable to the help, let me know!

Also, I'm working on a git fileviewer for livegrep right now, but since its all written in go/go-templates/vanilla-js I think it could also be ported over once its in better shape. Although, zoekt would also need to be modified to support the running of the git commands, or neogrok would have to evolve in some way. Anyways, if you're interested in the fileviewer see https://github.com/xvandish/livegrep/pull/36

isker commented 1 year ago

Hi, thanks for reaching out, and sorry I missed this issue. Turns out I'm not even subscribed to notifications on my own repo 🌞.

I, too, assessed livegrep and found its index performance to be lacking, so here I am 🌞.

As you guessed, things are pretty unstable right now. While most things work well, it's very much in a beta state. So, sorry, but I don't want to take contributions right now because things approaching full rewrites (like #2) are in the cards.

Even if I were taking contributions, I'm not sure that I'd want to add features to the project that go substantially beyond the functionality provided by zoekt, such as VCS integrations (with git or anything else). I've found those integrations to be large sources of complexity in tools like livegrep or OpenGrok, and I think I'd much prefer handing off to whatever URLs are configured in each zoekt repo (pointing at GitHub or whatever) for features like history and blame.

So, all in all, I think you're going to be best off forking the project and doing to it whatever you like. The project ultimately does not have very much code, and I do intend to keep it that way. Good luck!

xvandish commented 1 year ago

No worries at all!

That all makes sense to me and I completely understand, both on the rewrites impending and on the hesitancy to bundle in a VCS integration.

Sounds good on the forking, will do. Thanks for the work you've put in so far!