Claude Code harness setup CLI for Kweiza projects. Automates project initialization with company-wide standards, stack-specific presets, and Anthropic's recommended harness engineering practices.
npx @kweiza/harness init my-project- One-command setup — Interactive CLI generates CLAUDE.md,
.claude/rules/, hooks, and more - 9 stack presets — Next.js, Vite, FastAPI, Express, Figma Plugin, AI Agent, ComfyUI, Fullstack Platform, Docker
- Composable presets — Combine multiple presets (e.g.,
nextjs + docker) - Anthropic best practices — Follows official harness engineering recommendations:
CLAUDE.mdfor project overview (< 200 lines).claude/rules/for modular, path-scoped rules.claude/settings.jsonfor hooks (100% enforcement)
- Company standards — Git workflow, code quality, testing, security, documentation rules baked in
- Updatable — Sync projects with latest standards via
harness update
# Use directly with npx (no install needed)
npx @kweiza/harness init
# Or install globally
npm install -g @kweiza/harnessInitialize a new project with Kweiza harness standards.
npx @kweiza/harness init my-appInteractive prompts will ask for:
- Project name
- Presets to apply (multi-select)
- Whether to initialize git
Add a preset to an existing project. Merges into existing CLAUDE.md, settings, and rules.
cd my-existing-project
npx @kweiza/harness add fastapiSync your project with the latest harness standards. Only updates CLAUDE.md, settings, and rules — never touches your scaffold files.
npx @kweiza/harness updateShow all available presets.
npx @kweiza/harness list| Preset | Stack | Language |
|---|---|---|
nextjs |
Next.js web app | TypeScript |
vite |
Vite web app | TypeScript |
fastapi |
FastAPI backend | Python |
express |
Express backend | TypeScript |
figma-plugin |
Figma plugin | TypeScript |
ai-agent |
Background AI agent | Python |
comfyui |
ComfyUI custom nodes | Python |
fullstack-platform |
Node-based generative AI platform | TS + Python |
docker |
Docker containerization | — |
When you run harness init, the following structure is created in your project:
your-project/
├── CLAUDE.md # Project overview + build commands
├── .claude/
│ ├── settings.json # Hooks (lint, format — enforced on every commit)
│ └── rules/
│ ├── git-workflow.md # Branch naming, conventional commits
│ ├── code-quality.md # Type safety, SRP, no magic numbers
│ ├── testing.md # TDD, regression tests, CI gates
│ ├── security.md # Secrets, OWASP, input validation
│ ├── documentation.md # README, API docs
│ └── <preset>.md # Stack-specific rules (path-scoped)
└── .gitignore
Presets are composable. When you select multiple presets:
- CLAUDE.md — Base content at top, each preset appended as a section
- settings.json — Hooks merged into a single array (duplicates removed)
- rules/ — All rule files copied (base + each preset). Warns if > 20 files (Anthropic limit)
- scaffold files — Copied without overwriting existing files
Harness writes version info to .claude/settings.local.json (gitignored). This lets harness update know which presets were applied and when.
See CONTRIBUTING.md for development setup and contribution guidelines.
MIT