Warning
Even though we released Neoroute as 1.0.0 recently, there might still be bugs as we have not done large scale testing yet. We expect Neoroute to become more stable over the coming weeks and months. When we're confident enough in the framework, we'll remove this warning.
Neoroute is a batteries-included remote procedure call (RPC) framework for Golang, running exclusively on top of Web primitives (currently HTTP and WebSocket). With our rich tooling, you get code generation, an interactive debugger for sending requests and a lot more with minimal setup. We have everything you love about RPC and web frameworks, all in one fully integrated package and ecosystem.
To use Neoroute you need Go version 1.27 or higher. Just add it to your project using go:
go get -u github.com/Liphium/neoroute@latest- Use the same handlers over multiple protocols
- Rich routing system with support for middlewares, groups and more
- Events & adapters for easy server to client communication
- Full support for HTTP and WebSocket transporters
- Fast and small messages thanks to MessagePack
- Some of the fastest encoding and decoding thanks to msgp's code generation
- Client SDKs for Go and TypeScript
- Full code generation support for Go and TypeScript using neogen
- Interactive debugging CLI using neodebug
- Lots of testing utilities
We have official documentation available at liphium.dev/neoroute. Feel free to check it out.
There are also examples in the examples folder right here in this repository.
We provide the entire documentation you're seeing right now for AI as well. It's index is available at ai.liphium.dev/neoroute/index.md.
You can install our liphium-neoroute skill that contains this information and some rules for Neoroute using:
npx skills add liphium/dev@liphium-neorouteYour agent will love it.
We don't have any hard rules, but please keep in mind the following:
- No full AI PRs or issues: You should know what your code and writing contains, don't commit straight up slop.
- Be friendly with everyone, we're all here working on this project in our free time.
If you then want to contribute, follow this simple process:
- Create an issue outlining what you want to add or the bug you found.
- If it's a feature, discuss it with us and we'll see if we add anything like it. Specify if you want to work on it or have already started working on it.
- If you chose contribution: Create a PR and iterate on it with us, we'll check and review when we have time.
- When the feature / bug fix is out, the issue will be closed.
We really appreciate any contribution, even if it's just fixing a little thing or improving some documentation.
Thanks to everyone who contributed to Neoroute!
Read more at liphium.dev/neoroute...