vk init
vk init [name] [options]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
name | Project name (lowercase, hyphens allowed). If omitted, you’ll be prompted. |
Options
Section titled “Options”| Option | Description | Default |
|---|---|---|
-t, --template <template> | Project template | minimal |
-y, --yes | Skip interactive prompts | false |
--local | Link local VentureKit packages (for development) | false |
Templates
Section titled “Templates”| Template | Description | Packages Included |
|---|---|---|
minimal | Basic API with health check | core, runtime, infra |
api | REST API with auth and scoped endpoints | core, runtime, infra |
fullstack | API + database + storage | core, runtime, infra, data |
Examples
Section titled “Examples”# Interactive (prompts for name and template)vk init
# Named project with default templatevk init my-app
# Specify templatevk init my-app --template api
# Non-interactivevk init my-app --template fullstack --yes
# Use local VentureKit packages (for framework development)vk init --local my-appGenerated Structure
Section titled “Generated Structure”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└── .gitignoreThe api and fullstack templates additionally create src/routes/tasks/get.ts and src/routes/tasks/post.ts with authenticated endpoints.
Naming Rules
Section titled “Naming Rules”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
Next Steps
Section titled “Next Steps”After creating the project:
cd my-appnpm installvk devWith --local, dependencies are linked automatically — skip npm install and go straight to vk dev.