snipe/web/node_modules/std-env
pyr0ball 7a704441a6 feat(snipe): Vue 3 frontend scaffold + Docker web service
- web/: Vue 3 + Vite + UnoCSS + Pinia, dark tactical theme (amber/#0d1117)
- AppNav, ListingCard, SearchView with filters/sort, composables
  (useSnipeMode, useKonamiCode, useMotion), Pinia search store
- Steal shimmer, auction countdown, Snipe Mode easter egg all native in Vue
- docker/web/: nginx + multi-stage Dockerfile (node build → nginx serve)
- compose.yml: api (8510) + web (8509) services
- Dockerfile CMD updated to uvicorn for upcoming FastAPI layer
- Clean build: 0 TS errors, 380 modules
2026-03-25 15:11:35 -07:00
..
LICENCE feat(snipe): Vue 3 frontend scaffold + Docker web service 2026-03-25 15:11:35 -07:00
package.json feat(snipe): Vue 3 frontend scaffold + Docker web service 2026-03-25 15:11:35 -07:00
README.md feat(snipe): Vue 3 frontend scaffold + Docker web service 2026-03-25 15:11:35 -07:00

std-env

npm version npm downloads bundle size

Runtime-agnostic JS utils for detecting environments, runtimes, CI providers, and AI coding agents.

Runtime Detection

Detects the current JavaScript runtime based on global variables, following the WinterCG Runtime Keys proposal.

import { runtime, runtimeInfo } from "std-env";

console.log(runtime); // "" | "node" | "deno" | "bun" | "workerd" ...
console.log(runtimeInfo); // { name: "node" }

Individual named exports: isNode, isBun, isDeno, isNetlify, isEdgeLight, isWorkerd, isFastly

Note

isNode is also true in Bun/Deno with Node.js compatibility mode. Use runtime === "node" for strict checks.

See ./src/runtimes.ts for the full list.

Provider Detection

Detects the current CI/CD provider based on environment variables.

import { isCI, provider, providerInfo } from "std-env";

console.log({ isCI, provider, providerInfo });
// { isCI: true, provider: "github_actions", providerInfo: { name: "github_actions", ci: true } }

Use detectProvider() to re-run detection. See ./src/providers.ts for the full list.

Agent Detection

Detects if the environment is running inside an AI coding agent.

import { isAgent, agent, agentInfo } from "std-env";

console.log({ isAgent, agent, agentInfo });
// { isAgent: true, agent: "claude", agentInfo: { name: "claude" } }

Set the AI_AGENT env var to explicitly specify the agent name. Use detectAgent() to re-run detection.

Supported agents: cursor, claude, devin, replit, gemini, codex, auggie, opencode, kiro, goose, pi

Flags

import { env, isDevelopment, isProduction } from "std-env";
Export Description
hasTTY stdout TTY is available
hasWindow Global window is available
isCI Running in CI
isColorSupported Terminal color output supported
isDebug DEBUG env var is set
isDevelopment NODE_ENV is dev/development or MODE is development
isLinux Linux platform
isMacOS macOS (darwin) platform
isMinimal MINIMAL env is set, CI, test, or no TTY
isProduction NODE_ENV or MODE is production
isTest NODE_ENV is test or TEST env is set
isWindows Windows platform
platform Value of process.platform
nodeVersion Node.js version string (e.g. "22.0.0")
nodeMajorVersion Node.js major version number (e.g. 22)

See ./src/flags.ts for details.

Environment

Export Description
env Universal process.env (works across all runtimes)
process Universal process shim (works across all runtimes)
nodeENV Current NODE_ENV value (undefined if unset)

License

MIT