Quick Start with CLI
-
Scaffold your service
Terminal window verikt new my-serviceYou’ll pick a service name, choose your language (Go or TypeScript), select an architecture (hexagonal, layered, clean, or flat), multi-select capabilities, and accept or skip smart suggestions.
-
Explore what you got
my-service/├── cmd/my-service/main.go # Thin entry point (15 lines)├── internal/bootstrap/bootstrap.go # All dependency wiring├── domain/ # Business logic (zero deps)│ ├── errors.go # Typed domain errors│ └── clock.go # Testable time abstraction├── port/ # Interfaces│ ├── inbound.go # Use case interfaces│ └── outbound.go # Repository interfaces├── service/ # Use case implementations├── adapter/ # External integrations│ ├── httphandler/ # REST API (Chi router)│ └── mysqlrepo/ # MySQL repositories├── config/ # YAML config loading├── platform/ # Logging, OTel, lifecycle├── docs/PROJECT.md # Full project anatomy├── verikt.yaml # Architecture rules└── go.modmy-ts-api/├── src/│ ├── domain/ # Business logic (zero deps)│ ├── application/ # Use cases and ports│ ├── infrastructure/ # DB, external services│ └── transport/ # HTTP handlers├── verikt.yaml # Architecture rules├── package.json└── tsconfig.json -
Run it
Terminal window cd my-servicego run ./cmd/my-serviceTerminal window cd my-ts-apinpm install && npm run dev -
Validate the architecture
Terminal window verikt checkThis catches dependency violations, missing directories, function complexity issues, and anti-patterns. Go uses 11 AST-based detectors; TypeScript uses tree-sitter import graph analysis.
Next Steps
Section titled “Next Steps”- How It Works — understand the composition model
- Architectures — hexagonal vs flat
- Capabilities — all capabilities explained
- Adding Capabilities — extend an existing project
- Prompt Engineering — get better results from AI agents
- Capabilities Matrix — everything at a glance
- CLI Commands — full flag reference
- verikt.yaml — configuration spec