Thanks for your interest in improving Gatewaystack! This doc covers local setup, development workflows, and test conventions.
git clone https://github.com/<you>/gatewaystack.git
cd gatewaystack
# Install all workspaces
npm installFrom the repo root:
# Gateway server + admin UI together
npm run dev
# Individually:
npm run dev:server # apps/gateway-server
npm run dev:admin # apps/admin-uiThe Admin UI is primarily used to visualize /health and related outputs.
Use the example env as a starting point:
cp apps/gateway-server/.env.example apps/gateway-server/.envCore variables:
OAUTH_ISSUER,OAUTH_AUDIENCE,OAUTH_JWKS_URI,OAUTH_ENFORCE_ALGOAUTH_DEMO_MODEand relatedOAUTH_*_DEMOvars for demosAUTH0_DOMAIN,AUTH0_MGMT_CLIENT_ID,AUTH0_MGMT_CLIENT_SECRETfor DCR/log-stream helpers
See .env.example for the full reference.
Run the full test suite:
npm testThis runs Vitest plus the conformance report writer. See docs/testing.md for:
/__test__/echoroutes- Scope/RBAC parity checks
- Proxy + echo server validation
- TypeScript throughout (strict preferred)
- Each logical concern lives in its own package under
packages/:identifiabl,transformabl,validatabl,limitabl,proxyabl,explicabl
- Shared tooling (lint, test, build) is wired via the root
package.json
Before opening a PR:
- Run
npm test - Confirm the gateway starts locally with
npm run dev - (Optional) Run
npm run demo:mcpand/ornpm run demo:appsto validate end-to-end flows