Environment Selection
SemanticFed clients and build tools target production by default. You can switch to local or alpha using the BURDENOFF_ENV environment variable.
BURDENOFF_ENV
| Value | Effect | Default |
|---|---|---|
prod | Production gateways and web app | Yes |
alpha | Alpha (pre-production) gateways and web app | No |
local | Local development gateways (localhost) | No |
No hardcoded localhost
Production builds never contain localhost references. Local/alpha endpoints are injected only when BURDENOFF_ENV is set at build or run time.
Gateway endpoints
BURDENOFF_ENV | Workspace gateway | Global gateway | Web app |
|---|---|---|---|
prod (default) | https://graphqlworkspaces.burdenoff.com/workspaces/graphql | https://graphql.burdenoff.com/global/graphql | https://app.semanticfed.com |
alpha | https://alphagraphqlworkspaces.burdenoff.com/workspaces/graphql | https://alphagraphql.burdenoff.com/global/graphql | https://alphaapp.semanticfed.com |
local | http://127.0.0.1:4003/workspaces/graphql | http://127.0.0.1:4000/global/graphql | http://localhost:5173 |
Per-client usage
CLI
The CLI reads BURDENOFF_ENV at runtime, or you can override individual endpoints:
# Production (default)
semanticfed auth login
# Alpha
BURDENOFF_ENV=alpha semanticfed auth login
# Local
BURDENOFF_ENV=local semanticfed auth login
Override variables:
SEMANTICFED_WORKSPACE_ENDPOINTSEMANTICFED_GLOBAL_ENDPOINTSEMANTICFED_OIDC_ISSUER
Node SDK
import { SemanticFedSDK } from '@semanticfed/sdk';
// Production (default)
const sdk = new SemanticFedSDK();
// Or pass endpoints explicitly
const sdkLocal = new SemanticFedSDK({
workspaceEndpoint: 'http://127.0.0.1:4003/workspaces/graphql',
globalEndpoint: 'http://127.0.0.1:4000/global/graphql',
});
Python SDK
from semanticfed_sdk import SemanticfedSDK
# Production (default)
sdk = SemanticfedSDK()
# Local
sdk_local = SemanticfedSDK(
workspace_endpoint="http://127.0.0.1:4003/workspaces/graphql",
global_endpoint="http://127.0.0.1:4000/global/graphql",
)
Browser Extension
Set BURDENOFF_ENV at build time:
# Production build (default)
bun run build
# Alpha build
BURDENOFF_ENV=alpha bun run build
# Local development build
BURDENOFF_ENV=local bun run build:dev
VS Code Extension
Set BURDENOFF_ENV before starting VS Code:
# Production (default)
code .
# Local
BURDENOFF_ENV=local code .
You can also override individual endpoints via VS Code settings:
semanticfed.workspaceEndpointsemanticfed.globalEndpointsemanticfed.oidcIssuer
MCP Server
Set environment variables in your MCP configuration:
{
"mcpServers": {
"semanticfed": {
"type": "stdio",
"command": "bun",
"args": ["run", "~/products/semanticfed/semanticfed-mcp/src/index.ts"],
"env": {
"SEMANTICFED_WORKSPACE_ENDPOINT": "https://graphqlworkspaces.burdenoff.com/workspaces/graphql",
"SEMANTICFED_GLOBAL_ENDPOINT": "https://graphql.burdenoff.com/global/graphql",
"LOG_LEVEL": "error"
}
}
}
}
Doctor E2E
# Production (default)
make test-all
# Alpha
make test-all SEMANTICFED_TARGET=alpha
# Local
make test-all SEMANTICFED_TARGET=local
App Shell
The SemanticFed app shell reads gateway URLs from environment files or runtime variables:
# .env.local
VITE_WSPACE_GATEWAY_URL=http://localhost:4003
VITE_GLOBAL_GATEWAY_URL=http://localhost:4000
For deployment and infrastructure questions, see Deployment.