Getting Started
xtarterize scans JavaScript and TypeScript projects, selects the conformance tasks that apply, previews the changes, and applies approved updates. It writes configuration, never application code. Coverage is deepest for Vite, React, and TypeScript; other stacks such as Vue, Svelte, Solid, Node CLIs, and Bun work but stay experimental with fewer tasks.
Prerequisites
Section titled “Prerequisites”- Node.js 24 or later
- A JavaScript or TypeScript project with a
package.jsonthat has anamefield, and an initialized Git repository (preflight checks validate both before making changes)
Your first run
Section titled “Your first run”npx xtarterize@latest initpnpx xtarterize@latest inityarn dlx xtarterize@latest initbunx xtarterize@latest initdeno x xtarterize@latest initnlx xtarterize@latest initNo global install needed; the runner fetches the published CLI directly. Verify it works with --version or --help.
- Scan the project for framework, bundler, package manager, monorepo status, and existing configs
- Resolve which tasks apply to the detected stack
- Check each task’s status:
new,patch,skip, orconflict - Plan the changes in a conformance table
- Prompt to apply all, select tasks, dry-run, or quit
Preview first, or apply without prompts:
npx xtarterize@latest init --dry-runpnpx xtarterize@latest init --dry-runyarn dlx xtarterize@latest init --dry-runbunx xtarterize@latest init --dry-rundeno x xtarterize@latest init --dry-runnlx xtarterize@latest init --dry-runnpx xtarterize@latest init --yespnpx xtarterize@latest init --yesyarn dlx xtarterize@latest init --yesbunx xtarterize@latest init --yesdeno x xtarterize@latest init --yesnlx xtarterize@latest init --yesA task that is already conformant is skipped, so a second init makes no changes. Lint tasks install Ultracite alongside Biome, Oxlint, or Oxfmt, and generated configs extend its presets; xtarterize overlays its own conventions, such as kebab-case filenames and single quotes. Customize by editing the generated config files. Which tasks are offered also depends on where you run in a monorepo — see monorepo support. Every flag, including --only and --skip, is in the CLI reference.
What it will not do
Section titled “What it will not do”- Overwrite your values. A config key you set deliberately is preserved; xtarterize only fills gaps.
- Hide a conflict. Incompatible values are reported for your decision instead of being silently replaced.
- Leave you stuck. Modified files are backed up under
.xtarterize/;undoreverts a whole run andrestorebrings back one file. - Touch your source code. Only configuration files, CI workflows, editor settings, and agent instructions are written.
Which command next
Section titled “Which command next”| Command | Reach for it when |
|---|---|
sync |
Templates have moved on and you want the updates |
check |
Auditing conformance, or gating CI |
diff |
Reviewing pending changes before applying |
add <task-id> |
Applying one specific task |
query "<words>" |
Finding the right task by description |
Agent skills
Section titled “Agent skills”The xtarterize skill teaches AI tools how to drive the CLI: commands, flags, --json output shapes, task statuses, and conformance workflows. It activates when you ask about conformance, linting, CI, or any xtarterize task. Install it through the skills.sh ecosystem:
npx skills@latest add agustinusnathaniel/xtarterpnpx skills@latest add agustinusnathaniel/xtarteryarn dlx skills@latest add agustinusnathaniel/xtarterbunx skills@latest add agustinusnathaniel/xtarterdeno x skills@latest add agustinusnathaniel/xtarternlx skills@latest add agustinusnathaniel/xtarterStarting from a template
Section titled “Starting from a template”create-xtarter-app scaffolds new projects on the same baseline — run xtarterize init inside a fresh scaffold to keep it conformant.
Next steps
Section titled “Next steps”- Conformance tasks — every task ID and what it writes
- CLI reference — commands, flags, exit codes
- Configuration — detection behavior and task selection