A modern re-implementation of NUWCDIVNPT/stig-manager:
- Frontend: React 19 + Vite + TypeScript + shadcn/ui.
- Backend: Go 1.26 (
net/http+chi), OpenAPI 3.0.1 v1 — byte-compatible with upstream. - Database: PostgreSQL 18 (via pgx v5).
- Auth: OIDC / OAuth 2.0 PKCE (Keycloak / Okta / Azure Entra ID).
- Docs: Astro Starlight (this repo's
docs/).
.
├── api/ Go backend (chi, pgx, slog)
├── web/ React 19 SPA (Vite, Tailwind v4, shadcn/ui)
├── docs/ Astro Starlight docs site
├── deploy/ docker-compose + Keycloak realm import
├── .github/workflows/ CI (web, api, docs)
├── pnpm-workspace.yaml pnpm workspace (docs + web)
└── pnpm-lock.yaml single lockfile at repo root
- Node.js 24 and pnpm 9 (via Corepack).
- Go 1.26 for the API.
- Docker / Docker Compose for the integrated dev stack.
docker compose -f deploy/compose/docker-compose.yaml up -d --build
# SPA: http://localhost:54000
# API: http://localhost:54001
# Keycloak: http://localhost:8080 (admin / admin)From the repo root, install JS deps:
pnpm installIn three terminals:
# 1. Go API on :54001
cd api && cp -n .env.example .env && go run ./cmd/stigman
# 2. React SPA on :54000 (proxies /api/* to the Go API)
pnpm --filter @stig-manager-react/web dev
# 3. Docs site on :4321
pnpm --filter docs devSee the roadmap in docs/
for the up-to-date milestone status.
MIT — see LICENSE. Portions of the OpenAPI spec and
documentation are carried forward from the upstream NUWCDIVNPT/stig-manager
project; refer to upstream's LICENSE.md and INTENT.md for their
applicable terms.