Skip to content

Introduction

Xtarterize is an adaptive CLI tool that automates the setup, enforcement, and ongoing synchronization of developer conformance configurations across JavaScript/TypeScript projects.

Modern JS/TS projects require a large and growing set of tooling configuration: linters, formatters, bundler plugins, TypeScript settings, CI/CD workflows, release automation, code generation scaffolds, dependency management, and editor settings. Setting these up consistently across projects is:

  • Repetitive — the same configs are rewritten or copy-pasted project to project
  • Error-prone — manual patching of package.json, tsconfig.json, or vite.config.ts often misses edge cases
  • Inconsistent — configs diverge between projects over time as standards evolve
  • Context-blind — a React project needs different config than a React Native or Vue project

Xtarterize solves this by being detection-first, context-aware, non-destructive, idempotent, and evolvable.

  1. Detect — Scans your project to build a full ProjectProfile (framework, bundler, styling, package manager, monorepo status, existing configs)
  2. Resolve — Maps the profile to applicable conformance tasks (e.g., vite tasks only for Vite projects)
  3. Check — Determines each task’s status: new (file doesn’t exist), patch (needs merging), skip (already conformant), or conflict (incompatible)
  4. Plan — Displays a conformance plan table for review
  5. Apply — Backs up files, then applies changes using deep merge or AST manipulation
flowchart TD
    A[Run xtarterize init] --> B[Preflight checks]
    B --> C{Valid?}
    C -->|No| D[Show errors & exit]
    C -->|Yes| E[detectProject → ProjectProfile]
    E --> F[resolveTasks → Applicable tasks]
    F --> G[resolveTaskStatuses → Status map]
    G --> H[Display plan]
    H --> I{User confirms?}
    I -->|No| J[Exit]
    I -->|Yes| K[Backup files]
    K --> L[applyTasks]
    L --> M[Summary]
    
    style A fill:#6366f1,color:#fff
    style L fill:#22c55e,color:#fff
    style M fill:#22c55e,color:#fff

If you have questions or need help:

  • Check the CLI Reference for all commands and flags
  • Review the Tasks Guide to see what conformance tasks are available
  • Look at the Contributing section if you want to contribute to the project
Install Xtarterize →