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)
--quietSuppress interactive prompts and verbose output
Terminal window
npx xtarterize init --dry-run

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

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.

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