frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: I ported Tree-sitter to Go

https://github.com/odvcencio/gotreesitter
124•odvcencio•2h ago•43 comments

Show HN: Django-xbench – slow endpoint aggregation for Django

https://github.com/yeongbin05/django-xbench
7•yeongbin05•3d ago•2 comments

Show HN: Django Control Room – All Your Tools Inside the Django Admin

https://github.com/yassi/dj-control-room
86•yassi_dev•6h ago•44 comments

Show HN: A real-time strategy game that AI agents can play

https://llmskirmish.com/
180•__cayenne__•10h ago•65 comments

Show HN: Linex – A daily challenge: placing pieces on a board that fights back

https://www.playlinex.com/
5•Humanista75•21h ago•1 comments

Show HN: Clocksimulator.com – A minimalist, distraction-free analog clock

https://www.clocksimulator.com/
72•user_timo•6h ago•69 comments

Show HN: A CLI to query the unsealed court files with local LLMs

https://github.com/simulationship/epstein-search
2•simulationship•45m ago•0 comments

Show HN: Sgai – Goal-driven multi-agent software dev (GOAL.md → working code)

https://github.com/sandgardenhq/sgai
20•sandgardenhq•4h ago•14 comments

Show HN: Moonshine Open-Weights STT models – higher accuracy than WhisperLargev3

https://github.com/moonshine-ai/moonshine
308•petewarden•23h ago•70 comments

Show HN: Penclaw.ai hire OpenClaw tenant for pentesting

https://penclaw.ai
3•ozgurozkan•1h ago•0 comments

Show HN: Scheme-langserver – Digest incomplete code with static analysis

https://github.com/ufo5260987423/scheme-langserver
37•ufo5260987423•1d ago•1 comments

Show HN: Draw on Screen – a modern screen annotation tool with webcam

https://drawonscreen.com/vs/epicpen/
4•markjivko•2h ago•0 comments

Show HN: I ported Manim to TypeScript (run 3b1B math animations in the browser)

https://github.com/maloyan/manim-web
3•maloyan•2h ago•0 comments

Show HN: Agent that matches sales reps with warm leads based on product usage

https://inspector.getbeton.ai
4•nadyyym•2h ago•0 comments

Show HN: Djevops – Deploy Django Easily

https://github.com/mherrmann/djevops
3•mherrmann•3h ago•0 comments

Show HN: DRYwall – Claude Code plugin to to deduplicate code with jscpd

https://github.com/nikhaldi/drywall
2•nikhaldi•3h ago•0 comments

Show HN: Replacebase – library to migrate away from Supabase

https://github.com/specific-dev/replacebase
4•fabianlindfors•3h ago•2 comments

Show HN: Emdash – Open-source agentic development environment

https://github.com/generalaction/emdash
197•onecommit•1d ago•69 comments

Show HN: A high-performance Hex Editor with Yara-X support in C#

https://github.com/pumpkin-bit/EUVA
3•falkerdev•4h ago•0 comments

Show HN: Well-net – a friends-only IPv6 network with no central server

https://github.com/remoon-net/well
3•shynome•4h ago•0 comments

Show HN: I Accidentally Built a Zero-Config Redis Alternative in Go – ScaloDB

https://github.com/samarkandiy/scalodb
3•novateg•4h ago•0 comments

Show HN: Match – A pattern matching language that replaces regex

https://www.matchlang.com
3•hollowsolve•4h ago•0 comments

Show HN: Live iOS 26.3 exploit detection (CVE-2026-20700) – Multi-region C2

https://github.com/Str8tdr0p/ZombieHunter
3•JackCity•4h ago•0 comments

Show HN: PgDog – Scale Postgres without changing the app

https://github.com/pgdogdev/pgdog
319•levkk•2d ago•61 comments

Show HN: enveil – hide your .env secrets from prAIng eyes

https://github.com/GreatScott/enveil
195•parkaboy•1d ago•126 comments

Show HN: Context Mode – 315 KB of MCP output becomes 5.4 KB in Claude Code

https://github.com/mksglu/claude-context-mode
72•mksglu•14h ago•23 comments

Show HN: Tag Promptless on any GitHub PR/Issue to get updated user-facing docs

35•prithvi2206•1d ago•6 comments

Show HN: Chaos Monkey but for Audio Video Testing (WebRTC and UDP)

https://github.com/MdSadiqMd/AV-Chaos-Monkey
38•MdSadiqMd•2d ago•2 comments

Show HN: Recursively apply patterns for pathfinding

https://pattern-pathfinder.vercel.app/?fixtureId=%7B%22path%22%3A%22site%2Fexamples%2F_intro.fixt...
25•seveibar•23h ago•5 comments

Show HN: Sowbot – Open-hardware agricultural robot (ROS2, RTK GPS)

https://sowbot.co.uk/
179•Sabrees•2d ago•45 comments
Open in hackernews

Show HN: I ported Tree-sitter to Go

https://github.com/odvcencio/gotreesitter
123•odvcencio•2h ago
This started as a hard requirement for my TUI-based editor application, it ended up going in a few different directions.

A suite of tools that help with semantic code entities: https://github.com/odvcencio/gts-suite

A next-gen version control system called Got: https://github.com/odvcencio/got

I think this has some pretty big potential! I think there's many classes of application (particularly legacy architecture) that can benefit from these kinds of analysis tooling. My next post will be about composing all these together, an exciting project I call GotHub. Thanks!

Comments

sluongng•1h ago
Oh this is really neat for the Bazel community, as depending on tree-sitter to build a gazelle language extension, with Gazelle written in Go, requires you to use CGO.

Now perhaps we can get rid of the CGO dependency and make it pure Go instead. I have pinged some folks to take a look at it.

odvcencio•1h ago
thanks so much for the note! i really appreciate it. i built this precisely for folks like yourself with this specific pain, thanks again!
3rly•1h ago
Wouldn't `got` be confused with OpenBSD's Got: https://gameoftrees.org/index.html
odvcencio•1h ago
oh wow! i really thought i was being too clever but i shouldve assumed nothing new under the sun. well im taking name suggestions now!
boobsbr•1h ago
Goty McGotface
sbankowi•1h ago
YAGOT (Yet Another GOT)
bityard•1h ago
Probably taken already, better use YAGOT-NG (Next Generation) just to be safe.
himata4113•53m ago
might be taken too so just YAGOT2 would work
Imustaskforhelp•1h ago
uGOT / uGOTme? (sort of like the idea behind uTorrent) but I will agree that sbankowi's idea of Yet another got is great as well. +1 to that as well.
allknowingfrog•1h ago
Well, find and sed have modern "fd" and "sd" alternatives. Naming it "gt" allows you to claim that your version save 33% compared to typing "git".
gritzko•1h ago
That is very very interesting. I work on a similar project https://replicated.wiki/blog/partII.html

I use CRDT merge though, cause 3-way metadata-less merges only provide very incremental improvements over e.g. git+mergiraf.

How do you see got's main improvement over git?

odvcencio•1h ago
primarily, got is structural VCS intended for concurrent edits of the same file.

it does this via gotreesitter and gts-suite abstractions that enable it to: - have entity-aware diffs - not line by line but function by function - structural blame - attribution resolution for the lifetime of the entity - semver from structure - it can recommend bumps because it knows what is breaking change vs minor vs patch - entity history - because entities are tracked independently, file renames or moves dont affect the entity's history

when gotreesitter cant parse a language, the 3way text merge happens as a fallback. what the structural merge enables is no conflicts unless same entity has conflicting changes

odvcencio•1h ago
gah,. sincere apologies for formatting of this post. i ahve been on HN for basically 10 years now without ever having made a post (:
dorianmariecom•56m ago
use four spaces " " in front of a line for <pre> formatting

    like "    this"
srcreigh•53m ago
It's 2 or more spaces, not four
gritzko•1h ago
I think I understand the situation.
skybrian•1h ago
How about making 'got' compatible with git repos like jujutsu? It would be a lot easier to try out.
odvcencio•1h ago
it is interoperable with git. we like git when its good but attempted to ease the pains in UX somewhat. you can take advantage of got locally but still push it to git remote forges jsut the same. when you pull stuff in this way, got will load the entity history into the git repo ensuring that you can still do got stuff locally (inspect entity histories, etc)
irishcoffee•1h ago
Is it a go-ism that source for implementation and test code lives in the root of the repo or is this an LLM thing?
odvcencio•58m ago
yeah the tests live with the implementation code always (Go thing) and the repo root thing is like a preference, main is an acceptable package to put stuff in (Go thing), i see this a lot with smaller projects or library type projects
jbreckmckye•56m ago
Interesting. I have a similar usecase but intended to use CGo tree-sitter with Zig

Are these pretty up-to-date grammars? I'm awfully tempted to switch to your project

How large are your binaries getting? I was concerned about the size of some of the grammars

odvcencio•49m ago
206 binary blobs = 15MB, so not crazy but i built for this use case where you can declare the registry of languages you want to load and not have to own all the grammar binaries by default
jbreckmckye•47m ago
If all the languages together add up to 15MB that is a game changer for me.

It means the CLI I am working on can ship support for many languages whilst still being a smallish (sub 50mb) download

I shall definitely check it out!

odvcencio•45m ago
re: up to date grammars, yes i found the official grammars in use by the original tree-sitter library today
conartist6•53m ago
It looks like porting the custom C lexers is a big part of the trouble you had to go to do this.
odvcencio•47m ago
yes basically about 70% of the engineering effort was spent porting the external scanners and ensuring parity with original (C) tree-sitter
acedTrex•39m ago
Claude attempted a treesitter to go port

Better title

odvcencio•36m ago
well how did it do?
wocram•32m ago
Shouldn't you be able to answer that?
odvcencio•31m ago
yes and if you clicked the links you would know that i did answer it in the readme.
do_not_redeem•24m ago
> Pure-Go tree-sitter runtime — no CGo, no C toolchain, WASM-ready.

No you didn't. The readme is obvious LLM slop. Em-dash, rule of three, "not x, y". Why should anyone spend effort reading something you couldn't be bothered to write? Why did you post it to HN from a burner account?

mathfailure•20m ago
But how do we know the readme isn't also vibecoded?
red_hare•33m ago
How is OP using Claude relevant?
DeepYogurt•33m ago
maintenance burden
gritzko•25m ago
OK for prototyping. Not OK for prod use if noone actually read it line by line.
odvcencio•22m ago
ii am trying to not take issue with this comment because im aware of the huge stigma around ai generated code.

i needed this project so i made it for my use case and had to build on top of it. the only way to ensure quality is to read it all line by line.

if you give me code that you yourself have not reviewed i will not review it for you.

znpy•8m ago
That ship has sailed, man…
IshKebab•20m ago
AI often produces nonsense that a human wouldn't. If a project was written using AI the chances that it is a useless mess are significantly higher than if it was written by a human.
gritzko•33m ago
I work on a revision control system project, except merge is CRDT. On Feb 22 there was a server break-in (I did not keep unencrypted sources on the client, server login was YubiKey only, but that is not 100% guarantee). I reported break-in to my Telegram channel that day.

My design docs https://replicated.wiki/blog/partII.html

I used tree-sitter for coarse AST. Some key parts were missing from the server as well, because I expected problems (had lots of adventures in East Asia, evil maids, various other incidents on a regular basis).

When I saw "tree-sitter in go" title, I was very glad initially. Solves some problems for me. Then I saw the full picture.

shayief•32m ago
This is great, I was looking for something like this, thanks for making this!

I imagine this can very useful for Go-based forges that need syntax highlighting (i.e. Gitea, Forgejo).

I have a strict no-cgo requirement, so I might use it in my project, which is Git+JJ forge https://gitncoffee.com.

odvcencio•29m ago
thank you for the kind words! Very cool project! Very happy you can find some utility in it
trickypr•29m ago
Do you have an equivalent of TreeCursors or tree-sitter-generate?

There are at least some use cases where neither queries nor walks are suitable. And I have run into cases where being able to regenerate and compile grammars on the fly is immeasurably helpful.

At least for my use cases, this would be unusable.

Also, what the hell is this:

> partial [..] missing external scanner

Why do you have a parsing mode that guarantees incorrect outputs on some grammars (html comes to mind) and then use it as your “90x faster” benchmark figure?

odvcencio•24m ago
the 90x figure is on Go source for apples to apples against CGO bound tree-sitter.

your use case is not one i designed for although yeah maybe the readme has some sections too close. the only external scanner missing atm is norg. now that i know your use case i can probably think of a way to close it