Skip to content

Configuration

xtarterize doesn’t require a config file. It detects your project’s stack automatically and applies only what’s appropriate.

When you run init, xtarterize scans your project to build a ProjectProfile:

flowchart TD
A[read package.json] --> B[detectFramework]
A --> C[detectBundler]
A --> D[detectStyling]
A --> E[detectVitePlus]
B --> F[detectRouter]
C --> F
B --> G[detectRuntime]
C --> G
A --> H[detectPackageManager]
A --> I[detectMonorepo]
A --> J[detectGitHubWorkflows]
A --> K[detectExistingConfigs]
G --> L[ProjectProfile]
F --> L
D --> L
E --> L
H --> L
I --> L
J --> L
K --> L
style A fill:#6366f1,color:#fff
style L fill:#22c55e,color:#fff

Framework, bundler, router, styling, and TypeScript are all detected from dependencies and devDependencies.

Tasks are gated on the detected profile:

  • Vite plugin tasks only run when bundler === 'vite'
  • Monorepo tasks only run when monorepo === true
  • CI tasks only run when hasGitHub === true
  • TypeScript tasks only run when typescript === true

All templates adapt to the detected profile:

  • GitHub workflows use the detected package manager for install commands
  • Knip entry points are inferred from the bundler/framework
  • Plop generators vary by framework (React gets component+hook, Vue gets component+composable, etc.)
  • VS Code extensions include framework-specific recommendations
  • AGENTS.md includes framework-specific instructions

Before any file is modified, xtarterize creates a timestamped backup in .xtarterize/backups/. An index file tracks all backups for easy restoration.

  • Directory.xtarterize/
    • Directorybackups/
      • .index.json
      • tsconfig.json.2024-01-15T10-30-00-000Z
      • biome.json.2024-01-15T10-30-00-000Z

Restore with:

Terminal window
npx xtarterize restore tsconfig.json
  • React — UI library
  • Vue.js — Progressive JavaScript framework
  • Svelte — Cybernetically enhanced web apps
  • Solid — Simple and performant reactivity
  • React Native — Native apps with React
  • Vite — Next-generation frontend tooling
  • Next.js — React framework for production
  • TanStack Start — Full-stack React framework
  • Expo — React Native framework
  • Webpack — Module bundler
  • Tailwind CSS — Utility-first CSS framework
  • pnpm Workspaces — Monorepo support
  • Turborepo — Monorepo task runner
  • Bun — Fast JavaScript runtime and package manager
flowchart LR
A[File to modify] --> B[backupFile]
B --> C[.xtarterize/backups/]
C --> D[.index.json]
A --> E[apply changes]
E --> F{Need to undo?}
F -->|Yes| G[restoreBackup]
G --> C
F -->|No| H[Done]
style B fill:#f59e0b,color:#fff
style E fill:#22c55e,color:#fff