Skip to content

@venturekit/core

Terminal window
npm install @venturekit/core@dev

@venturekit/core is the foundation of VentureKit. Every other package depends on it.

All configuration and infrastructure types:

  • BaseConfig — project identity (name, region)
  • SecurityConfig — OAuth scopes, app clients, MFA, password policy
  • EnvConfigInput / EnvConfig — environment sizing (Lambda, API, VPC, observability, WebSocket)
  • ResolvedConfig — fully merged configuration with no undefined values
  • VentureIntent — infrastructure intent declarations
  • IntentOutputs — references to provisioned resources

Production-ready defaults for environment sizing:

import { getPreset, PRESET_FREE, PRESET_NANO, PRESET_MICRO, PRESET_MEDIUM, PRESET_LARGE } from '@venturekit/core';
const preset = getPreset('free');
PresetLambdaTimeoutAPI RateVPCCost
free128 MB10s10/sNo$0/month
nano128 MB10s10/sNo~$5-15/month
micro256 MB10s50/sYes~$30-80/month
medium512 MB15s100/sYes~$100-300/month
large1024 MB30s500/sYes~$500+/month
import { resolveConfig, resolveEnvConfig } from '@venturekit/core';
// Resolve full config (base + security + env)
const config = resolveConfig(base, security, 'prod', prodInput);
// Resolve just the environment config
const envConfig = resolveEnvConfig('prod', prodInput);
import { validateBaseConfig, validateSecurityConfig, validateEnvConfigInput, assertValid } from '@venturekit/core';
const result = validateBaseConfig(base);
assertValid(result); // Throws ValidationError if invalid
import { DATA_SAFETY_CONFIG, DEFAULT_DATA_SAFETY } from '@venturekit/core';
LevelRemoval PolicyDeletion Protection
relaxedDestroyNo
standardRetainYes
strictRetainYes