Skip to content

Initialization

To apply conformance configuration to a project:

Terminal window
npx xtarterize init
  1. Scan your project directory to detect framework, bundler, package manager, monorepo status, and existing configs
  2. Resolve which conformance tasks are applicable for your stack
  3. Check each task’s current status (new, patch, skip, or conflict)
  4. Display a conformance plan table showing what will change
  5. Prompt you to apply all, select specific tasks, dry-run, or quit
✦ 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] Quit
FlagDescription
--dry-runPreview all changes without applying anything
--yesSkip 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)
Terminal window
npx xtarterize init --dry-run

The init command applies all tasks that are applicable to your detected stack:

  • Linting & Formatting — Biome, Ultracite
  • TypeScript — incremental builds, strict mode
  • Vite Plugins — type checker, bundle visualizer
  • CI/CD — GitHub workflows for release, CI, auto-updates
  • Dependencies — Renovate config
  • Release — Commitlint, czg, commit-and-tag-version
  • Quality — Knip (unused code detection)
  • Codegen — Plop (code generation scaffolds)
  • Monorepo — Turbo (when monorepo detected)
  • Editor — VS Code settings and extensions
  • Agent — AGENTS.md, AI skills directory
  • Scripts — package.json scripts
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