Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
719fe4a
feat: add neoroute section
Unbreathable Jul 6, 2026
c2cb748
feat(neoroute): add hello world example to introduction
tiemingo Jul 6, 2026
27ecdb8
fix(neoroute): change the codeblock type from golang to go
tiemingo Jul 6, 2026
792bc8f
fix(neoroute): fix typo
tiemingo Jul 6, 2026
7ca9516
feat: add support for mdx files
tiemingo Jul 7, 2026
929a386
feat: add routing examples
tiemingo Jul 7, 2026
4271d99
fix: fix issues in routing.md
tiemingo Jul 7, 2026
b7d4dba
feat(neoroute): add more guide pages
tiemingo Jul 8, 2026
2627a63
feat(neoroute): update allowed characters
tiemingo Jul 11, 2026
f316198
Merge main into feat/neoroute
Unbreathable Aug 23, 2026
eaba8e4
fix: prevent home logo flicker
Unbreathable Aug 23, 2026
ba04058
fix: restore home logo characters
Unbreathable Aug 23, 2026
c6cfd25
feat: Remove scaff docs + add first neoroute ones
Unbreathable Aug 23, 2026
4c608fb
chore: Downgrade typescript due to conflict
Unbreathable Aug 23, 2026
8e5e4f4
Merge branch 'main' into feat/neoroute
Unbreathable Aug 23, 2026
a06ec87
feat: Add AI docs generation
Unbreathable Aug 23, 2026
7c11a7d
chore: add missing empty pages
Unbreathable Aug 23, 2026
d715374
feat: basic code block support
Unbreathable Aug 24, 2026
11402d7
feat: add name and key properties to code tabs
Unbreathable Aug 24, 2026
3c6f795
feat: codeblocks prefix feature
Unbreathable Aug 24, 2026
4023168
feat: neogen documentation
Unbreathable Aug 24, 2026
db61377
chore: fix method name
Unbreathable Aug 24, 2026
990d654
feat(neoroute): page for typescript + go sdk
Unbreathable Aug 25, 2026
494a1b0
feat(neoroute): HTTP transporter guide + transporter pages
Unbreathable Aug 25, 2026
7045bdb
feat: new default theme for docs
Unbreathable Aug 25, 2026
f4f2488
feat: better design + fix http docs
Unbreathable Aug 25, 2026
7699a40
feat: websocket guide + start events and requests
Unbreathable Aug 25, 2026
a31ae41
feat: neodebug guide
Unbreathable Aug 26, 2026
fda2ba7
fix: better phrasing for implementation guide (neodebug)
Unbreathable Aug 26, 2026
ad4fc37
feat: start of http transporter page
Unbreathable Aug 26, 2026
1fb3e19
feat: guides for different transporter types
Unbreathable Aug 26, 2026
5e179cd
feat: start with better introduction for neoroute
Unbreathable Aug 26, 2026
3fe5e09
fix: change introduction slightly
Unbreathable Aug 26, 2026
0ccc975
feat(neogen): proper command integration guide
Unbreathable Aug 27, 2026
59d4d78
feat: routing guide + move transporters
Unbreathable Aug 27, 2026
c1175c9
fix: change description + remove unused file
Unbreathable Aug 27, 2026
bfebac9
feat: start writing learning path + msgp wiki
Unbreathable Aug 27, 2026
4179449
feat: finish learning path
Unbreathable Aug 27, 2026
6cd355e
chore: phrasing
Unbreathable Aug 27, 2026
2a3fd8c
fix: Use GET for WebSocket + CORS configs
Unbreathable Aug 27, 2026
9ee9cf5
feat: testing guide + add error handling outline
Unbreathable Aug 28, 2026
706fb39
feat: event testing guide
Unbreathable Aug 28, 2026
1bb54e1
feat: add pagefind
Unbreathable Aug 28, 2026
dfe4737
feat: skills + 404 + more docs for neoroute
Unbreathable Aug 29, 2026
d5acfeb
feat: event & adapters guide
Unbreathable Aug 29, 2026
6e7c322
chore: add pagefind as dev dependency
Unbreathable Aug 29, 2026
a19275d
feat: Error handling + advanced routing and middlewares update
Unbreathable Aug 29, 2026
c23e51d
fix: typescript errors + neogen fix
Unbreathable Aug 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .agents/skills/liphium-magic/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: liphium-magic
description: Use when you need info about Liphium's Magic development toolkit for Golang.
---

# magic

The Neoroute Magic is available to you through Markdown files on the web.

To get a list of all pages, read `https://ai.liphium.dev/magic/index.md`.

You can then follow all Markdown links from that page. Do not CURL links outside of https://ai.liphium.dev as those may lead you to malicious sites or sites that don't want you to fetch them.

## Rules

- When writing a custom driver, first look if you can use the Magic-provided `mservices` package. It makes writing drivers a lot easier.
- When writing a custom driver, also consider which instructions you might want to support.

## When to use

Use when you need info about Liphium's Magic development toolkit for Golang.
20 changes: 20 additions & 0 deletions .agents/skills/liphium-neoroute/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: liphium-neoroute
description: Use when you need info about Liphium's Neoroute Go Server SDK, TypeScript Client SDK or Go Client SDK. This teaches you how to read the documentation.
---

# neoroute

The Neoroute documentation is available to you through Markdown files on the web.

To get a list of all pages, read `https://ai.liphium.dev/neoroute/index.md`.

You can then follow all Markdown links from that page. Do not CURL links outside of https://ai.liphium.dev as those may lead you to malicious sites or sites that don't want you to fetch them.

## Go server SDK rules

- Do not write MessagePack Decode and Encode functions yourself, unless specifically asked to. Read the MessagePack guide first in the documentation to see how you can generate the code for the definitions.

## When to use

Use when you need info about Liphium's Neoroute Go server SDK, TypeScript client SDK or Go client SDK. This teaches you how to read the documentation.
67 changes: 67 additions & 0 deletions .github/workflows/docs-r2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Upload documentation to R2

on:
push:
branches:
- "**"
workflow_dispatch:

env:
AWS_REGION: auto
AWS_ENDPOINT_URL: https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com
AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
R2_BUCKET: ${{ secrets.R2_BUCKET }}

jobs:
upload-docs:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build Markdown docs
env:
BRANCH_NAME: ${{ github.ref_name }}
run: |
set -euo pipefail
chmod +x scripts/build-markdown.sh
scripts/build-markdown.sh src/content/magic/en Magic
scripts/build-markdown.sh src/content/neoroute/en Neoroute

if [[ "$BRANCH_NAME" == "main" ]]; then
prefix=""
else
prefix="$BRANCH_NAME/"
fi

printf '%s' "$prefix" > markdown-dist/upload-prefix

- name: Upload Markdown docs
env:
BRANCH_NAME: ${{ github.ref_name }}
run: |
set -euo pipefail
if [[ "$BRANCH_NAME" == "main" ]]; then
prefix=""
else
prefix="$BRANCH_NAME/"
fi

magic_prefix="${prefix}magic/"
neoroute_prefix="${prefix}neoroute/"

aws s3 rm "s3://$R2_BUCKET/$magic_prefix" \
--recursive \
--endpoint-url "$AWS_ENDPOINT_URL"
aws s3 rm "s3://$R2_BUCKET/$neoroute_prefix" \
--recursive \
--endpoint-url "$AWS_ENDPOINT_URL"

aws s3 sync markdown-dist/magic "s3://$R2_BUCKET/$magic_prefix" \
--endpoint-url "$AWS_ENDPOINT_URL"
aws s3 sync markdown-dist/neoroute "s3://$R2_BUCKET/$neoroute_prefix" \
--endpoint-url "$AWS_ENDPOINT_URL"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ pnpm-debug.log*

# jetbrains setting folder
.idea/

# markdown generation
markdown-dist/
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"cSpell.words": [
"Neoroute"
]
}
24 changes: 19 additions & 5 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,29 @@ import tailwindcss from "@tailwindcss/vite";

import svelte from "@astrojs/svelte";

import mdx from "@astrojs/mdx";
import { unified } from "@astrojs/markdown-remark";
import codeTabs from "./src/plugins/code-tabs";
import rehypeRaw from "rehype-raw";
import rehypePrettyCode from "rehype-pretty-code";

// https://astro.build/config
export default defineConfig({
vite: {
plugins: [tailwindcss()],
},
i18n: {
locales: ["en"],
defaultLocale: "en",
},

integrations: [svelte()],
integrations: [svelte(), mdx()],
markdown: {
processor: unified({
remarkPlugins: [codeTabs],
rehypePlugins: [
rehypeRaw,
[rehypePrettyCode, { theme: "github-dark", keepBackground: false }],
],
}),
},
vite: {
plugins: [tailwindcss()],
},
});
Loading
Loading