Contributing to Gortex Web
April 24, 2026 · View on GitHub
Thank you for considering contributing! This guide will help you get started.
Getting Started
Prerequisites
- Node.js 20+ (22 recommended, matches CI)
- npm 10+
- A running gortex server on
http://localhost:4747(see zzet/gortex —gortex serve) - Git
Setup
git clone https://github.com/gortexhq/web.git
cd web
npm install
cp .env.local.example .env.local # edit if your server isn't on :4747
npm run dev
Open http://localhost:3000.
Useful commands
npm run dev # Next.js dev server with HMR
npm run typecheck # tsc --noEmit
npm run lint # next lint
npm run build # production build — CI runs this
make check # typecheck + lint + build (same as CI)
How to Contribute
Reporting Bugs
- Open an issue using the bug report template
- Include the gortex server version (
gortex version) and the web commit/tag - Paste any errors from the browser devtools console and the
npm run devterminal
Suggesting Features
- Open an issue using the feature request template
- Say which data the feature needs — and whether an existing
/v1/*endpoint already exposes it (seeAGENTS.md)
Submitting Code
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Run
make checklocally - Commit with a clear message
- Open a pull request against
main
Project Conventions
Read AGENTS.md before changing anything — it is the source of
truth for how pages are wired. In short:
- Data goes through
lib/hooks.ts. Do notfetchfrom a component, do not import fixtures. If the data you need isn't served, add the endpoint on the gortex side rather than mocking in the frontend. - This is modern Next.js (App Router,
"use client"only where it matters). APIs may differ from what LLM training data assumes — checknode_modules/next/dist/docs/if unsure. - Three-fiber is canonical for graph views; SVG fallbacks are being migrated out.
Code Style
- Follow the existing file layout under
src/ - Keep components small; push data shaping into hooks
- No unnecessary abstractions — three similar lines is better than a premature helper
- Don't add types for
anyshapes you don't yet understand — add them when the endpoint's response is stable
Questions?
Open an issue or start a discussion. We're happy to help.