gornstack

Go + React + React Native monorepo: Bun + Turborepo with Go backend (fx, Huma, SQLC), React web (Vite, TanStack, shadcn), and Expo mobile (expo-router, NativeWind, Reanimated). Full-stack conventions for web + mobile + backend. Use when building a Go+React+RN monorepo, adding cross-platform features, or invokes /gornstack.

developerakx/skills1 installsMITSynced Aug 22

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: gornstack
description: Go + React + React Native monorepo: Bun + Turborepo with Go backend (fx, Huma, SQLC), React web (Vite, TanStack, shadcn), and Expo mobile (expo-router, NativeWind, Reanimated). Full-stack conventions for web + mobile + backend. Use when building a Go+React+RN monorepo, adding cross-platform features, or invokes /gornstack.
license: MIT
---

# gornstack -- Go + React + React Native Monorepo

Full-stack conventions for a Bun + Turborepo monorepo containing a Go backend,
a React web app, and an Expo React Native mobile app. This skill covers
architecture, pinned dependencies, file layout, and cross-platform integration
patterns for all three surfaces.

## Quick start

1. Read [MONOREPO.md](MONOREPO.md) for workspace layout, Turborepo pipeline,
   and Bun config.
2. Read [BACKEND.md](BACKEND.md) for Go backend conventions (fx, Fiber, Huma,
   SQLC, pgx).
3. Read [WEB.md](WEB.md) for React web app conventions (Vite, TanStack Router,
   shadcn/ui, Zustand).
4. Read [MOBILE.md](MOBILE.md) for Expo mobile app conventions (expo-router,
   NativeWind 5, Reanimated, MMKV). **Key differentiator file.**
5. Read [INTEGRATION.md](INTEGRATION.md) for backend-web-mobile integration:
   shared API client, auth, WebSocket, offline support.
6. Read [SHARED.md](SHARED.md) for cross-platform shared packages
   (types, api-client, config, optional UI).
7. Read [ADR.md](ADR.md) for Architecture Decision Record format.

## When to use

- Scaffolding or extending a Go + React + React Native monorepo
- Adding a feature that spans backend, web, and mobile
- Setting up Expo with NativeWind 5, expo-router, or Reanimated 4
- Configuring Turborepo pipelines for Go + TS + Metro
- Sharing types, API clients, or stores between web and mobile
- Reviewing mobile-specific concerns (biometrics, push, offline, secure storage)

## File reference

| File | Lines | Covers |
|------|-------|--------|
| [MONOREPO.md](MONOREPO.md) | ~90 | Bun, Turborepo, workspace layout |
| [BACKEND.md](BACKEND.md) | ~60 | Go: fx, Fiber, Huma, SQLC, pgx |
| [WEB.md](WEB.md) | ~90 | React: Vite, TanStack, shadcn, Zustand |
| [MOBILE.md](MOBILE.md) | ~150 | Expo: expo-router, NativeWind, Reanimated |
| [INTEGRATION.md](INTEGRATION.md) | ~120 | API integration, auth, WebSocket, offline |
| [SHARED.md](SHARED.md) | ~80 | Shared packages, generation rules |
| [ADR.md](ADR.md) | ~30 | ADR format and conventions |

## Related skills

- **gostack** -- Go backend deep-dive (full BACKEND.md, testing, observability)
- **gorstack** -- Go + React (no mobile) full-stack conventions
- **go-tests** -- Go testing patterns (table tests, integration, mocks)
- **swarm** -- Multi-agent orchestration for large features
- **to-adr** -- Generate Architecture Decision Records

## Conventions

- **Atomic strings**: Backend sends `"67432.123456789012345678"`. Both clients
  display as-is. Never `parseFloat()`.
- **Response envelope**: `{ message, data, request_id }` success /
  `{ message, errors, request_id }` error.
- **One API, three clients**: Go backend exposes one REST surface. Web and
  mobile consume the same endpoints via a shared api-client package.
- **Platform-specific code stays in apps/**: Only share to `packages/` when
  >60% of the API is identical across platforms.
- **Version pins are intentional**: All dependency versions in this skill are
  pinned to specific stable releases verified on 2026-05-26. Do not auto-bump.

## Workflow: Adding a cross-platform feature

1. Define API contract in backend (Huma operation)
2. Run OpenAPI codegen to update `packages/types/`
3. Add endpoint function + TanStack Query hook to `packages/api-client/`
4. Implement web UI in `apps/web/`
5. Implement mobile UI in `apps/mobile/`
6. Add integration tests for the API endpoint
7. Test on both platforms before merging

## Version pin policy

All version numbers are intentionally pinned to specific stable releases
verified on 2026-05-26. Do NOT auto-bump in CI. Re-verify and update manually
only when there is a security advisory or a needed feature.

---
**Part of the gostack framework** -- https://github.com/developerAKX/skills
**Install**: `npx skills add developerAKX/skills/gornstack`
**License**: MIT
**Version pin policy**: All version numbers are intentionally pinned to specific
stable releases verified on 2026-05-26. Do NOT auto-bump in CI. Re-verify and
update manually only when there is a security advisory or a needed feature.

More Backend Frameworks skills

← All Backend Frameworks skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY