Skip to content

vk init

Terminal window
vk init [name] [options]
ArgumentDescription
nameProject name (lowercase, hyphens allowed). If omitted, you’ll be prompted.
OptionDescriptionDefault
-t, --template <template>Project templateminimal
-y, --yesSkip interactive promptsfalse
--localLink local VentureKit packages (for development)false
TemplateDescriptionPackages Included
minimalBasic API with health checkcore, runtime, infra
apiREST API with auth and scoped endpointscore, runtime, infra
fullstackAPI + database + storagecore, runtime, infra, data
Terminal window
# Interactive (prompts for name and template)
vk init
# Named project with default template
vk init my-app
# Specify template
vk init my-app --template api
# Non-interactive
vk init my-app --template fullstack --yes
# Use local VentureKit packages (for framework development)
vk init --local my-app
my-app/
├── config/
│ ├── base.ts # Project identity (name, region)
│ ├── security.ts # OAuth scopes and app clients
│ ├── dev.ts # Dev environment (nano preset)
│ ├── stage.ts # Staging environment
│ └── prod.ts # Production environment
├── src/
│ └── routes/
│ └── health/
│ └── get.ts # GET /health (public)
├── vk.config.ts
├── package.json
├── tsconfig.json
└── .gitignore

The api and fullstack templates additionally create src/routes/tasks/get.ts and src/routes/tasks/post.ts with authenticated endpoints.

Project names must:

  • Start with a lowercase letter
  • Contain only lowercase letters, numbers, and hyphens ([a-z][a-z0-9-]*)
  • Be suitable for AWS resource naming

After creating the project:

Terminal window
cd my-app
npm install
vk dev

With --local, dependencies are linked automatically — skip npm install and go straight to vk dev.