Initialization
Initialize a Project
Section titled “Initialize a Project”To apply conformance configuration to a project:
npx xtarterize init- Scan your project directory to detect framework, bundler, package manager, monorepo status, and existing configs
- Resolve which conformance tasks are applicable for your stack
- Check each task’s current status (
new,patch,skip, orconflict) - Display a conformance plan table showing what will change
- Prompt you to apply all, select specific tasks, dry-run, or quit
Example Output
Section titled “Example Output”✦ Scanning project...
Detected: Framework: React 18 Bundler: Vite 5 Package Manager: pnpm
Conformance plan:
✔ Biome (lint + format) lint/biome [new] ✔ vite-plugin-checker vite/checker [new] ~ tsconfig — incremental: true ts/incremental [patch] = Turbo monorepo/turbo [skip — no monorepo]
[A] Apply all [S] Select items [D] Dry-run [Q] QuitOptions
Section titled “Options”| Flag | Description |
|---|---|
--dry-run | Preview all changes without applying anything |
--yes | Skip all confirmations, apply all changes automatically |
--skip <task-id> | Exclude a specific task (comma-separated) |
--only <task-id> | Apply only a specific task (comma-separated) |
--quiet | Suppress interactive prompts and verbose output |
Examples
Section titled “Examples”npx xtarterize init --dry-runnpx xtarterize init --yesnpx xtarterize init --skip codegen/plop,agent/skills-installnpx xtarterize init --only lint/biomeWhat Gets Applied
Section titled “What Gets Applied”The init command applies all tasks that are applicable to your detected stack:
- Linting & Formatting — Biome (non-Vite+) or Oxlint + Oxfmt (Vite+), with Ultracite presets installed automatically and configs extended/imported from Ultracite
- TypeScript —
strict: true,pathsaliases,incremental: true+tsBuildInfoFile,.gitignore*.tsbuildinfoentries and.tsbuildinfo/directory - Vite Plugins —
vite-plugin-checker(checker()for TypeScript),rollup-plugin-visualizer - CI/CD — GitHub Actions workflows (
on.push.tagsfor release,schedule.cronfor auto-updates,on.pull_requestfor CI) withpnpm/action-setup@v4for pnpm projects - Dependencies — Renovate config (
extends: config:base,automerge) - Release — Commitlint (
@commitlint/config-conventional), czg (commitizen), commit-and-tag-version, simple-git-hooks (commit-msg, pre-commit, pre-push hooks) - Quality — Knip (
entry/projectdetection), lint-staged (runs linters on staged files, non-Vite+ projects) - Codegen — Plop (
plopfile.tsscaffolds, only for projects with a detected framework) - Monorepo — Turborepo (
turbo.jsonpipeline) - Editor — VS Code
settings.jsonandextensions.json(additive merging preserves your existing extensions) - Agent —
AGENTS.mdand install relevant agent skills vianpx skills@latest addfor your detected stack - Scripts —
package.jsonscripts(uses Ultracite-aware lint/check/fix scripts when Ultracite is in dependencies),.npmrcwithsave-exact,strict-peer-dependencies, andauto-install-peers
Ultracite
Section titled “Ultracite”Ultracite is installed automatically alongside any lint tool (Biome, Oxlint, or Oxfmt). The generated configs extend or import Ultracite presets by default — no separate ultracite init step needed.
xtarterize overlays its own conventions on top of Ultracite defaults where they differ (e.g., kebab-case filenames, single quotes, generic array types). You can further customize by editing the generated config files directly.
References
Section titled “References”- Biome Configuration — Full
biome.jsonreference - TypeScript tsconfig Reference — All compiler options explained
- Vite Plugin Checker — Type-checking during development
- GitHub Actions Documentation — Workflow syntax and features
- Renovate Configuration Options — Dependency automation reference
- Commitlint Rules — Conventional commit validation
- Knip Documentation — Finding unused files, dependencies, and exports
- Plop Documentation — Code scaffolding and generators
- Turborepo Documentation — Monorepo task orchestration
- Ultracite — Strict Biome preset for code quality
- Agent Skills — Open ecosystem of reusable AI agent capabilities
Init Flow
Section titled “Init Flow”sequenceDiagram
participant U as User
participant CLI as CLI
participant Core as @xtarterize/core
participant Tasks as @xtarterize/tasks
U->>CLI: xtarterize init
CLI->>Core: runPreflight()
Core-->>CLI: valid / errors
CLI->>Core: detectProject()
Core-->>CLI: ProjectProfile
CLI->>Tasks: getAllTasks()
CLI->>Core: resolveTasks(profile)
Core-->>CLI: Applicable tasks
CLI->>Core: resolveTaskStatuses()
Core-->>CLI: Status map
CLI->>U: Display plan
U->>CLI: Confirm
CLI->>Tasks: applyTasks()
Tasks-->>CLI: Result
CLI->>U: Summary