Environment
Changelog
Latest updates and feature releases for xtarterize. Entries since v1.0.0 are curated below; see the full changelog for complete notes and every patch version.
v2.0.2 - 2026-09-15 Patch
Section titled “v2.0.2 - 2026-09-15 ”Updated workflow actions
Section titled “Updated workflow actions”Generated CI and release workflows now install pnpm with pnpm/setup@v2 instead of v1. Re-run apply to update an existing project; nothing else about the workflows changes.
Test files follow the same size limits as source
Section titled “Test files follow the same size limits as source”Generated biome.json no longer exempts test files from the 60-line function limit (v1.24.0 had left them out). After updating, keep test blocks short: split a long describe into smaller ones or move shared setup out of it, otherwise check will flag them.
v2.0.1 - 2026-09-14 Patch
Section titled “v2.0.1 - 2026-09-14 ”Related-word search restored
Section titled “Related-word search restored”query and init --compose find tasks from related phrasings again: typing reaches strict TypeScript, updates the dependency updater, and code the VS Code task. Multi-word queries like auto update rank the exact phrase first, and exact matches stay ahead of related ones.
v2.0.0 - 2026-09-14 Major
Section titled “v2.0.0 - 2026-09-14 ”External task plugins removed
Section titled “External task plugins removed”Package-manager-aware skills install
Section titled “Package-manager-aware skills install”agent/skills-install now selects the executor for the detected package manager: pnpm dlx, yarn dlx for Yarn Berry, and bunx, while npm keeps npx --yes. npm 11 rejects npx when devEngines.packageManager names another package manager, and quality/package-engines writes that field during init, so pnpm, Yarn Berry, and bun projects no longer fail the skills task. Yarn classic has no dlx command and keeps the npx fallback.
Query scoring without synonyms
Section titled “Query scoring without synonyms”query and init --compose no longer match related words automatically. Common queries like “strict typescript” and “ci pipeline” rank the same, but queries that relied on a related word score much lower (“typing” returns no results); use different wording or lower --threshold when that happens.
v1.25.2 - 2026-09-11 Patch
Section titled “v1.25.2 - 2026-09-11 ”Stricter invocation, faster detection
Section titled “Stricter invocation, faster detection”Flags must be passed after the command (xtarterize check --json); entry-level flags such as xtarterize --json check are rejected by the invocation guard instead of being silently dropped. The dead check --verbose flag is removed, list --quiet no longer prints the timing block, and init --compose --quiet no longer prints plan banners.
Detection recognizes workspace packages under services/ like packages/ and apps/, and tsconfig.jsonc and .eslintrc.mjs are detected consistently. Project profiles are computed fresh on every run, so detection always reflects the current files.
Preserved workspace files
Section titled “Preserved workspace files”workspace/pnpm-workspace patches an existing packages: list in place instead of replacing the file. Missing apps/* and packages/* globs are inserted, while comments, catalog:, overrides:, onlyBuiltDependencies, ordering, indentation, quote style, and line endings survive. Files without a packages: key are left untouched, and layouts that cannot be edited safely are reported as conflicts.
Apply and undo reliability
Section titled “Apply and undo reliability”Batch dependency install failures are now reported as apply errors with a failing exit code. Interactive add plans and executes its selection once, so one run manifest covers the whole operation and undo restores all of it. package.json changes preserve comments, indentation, and key order, and Vite plugin diffs and backups point at the real config file.
v1.25.1 - 2026-09-08 Patch
Section titled “v1.25.1 - 2026-09-08 ”Smaller published packages
Section titled “Smaller published packages”Production JavaScript source maps are disabled, reducing the published package size.
v1.25.0 - 2026-09-06 Minor
Section titled “v1.25.0 - 2026-09-06 ”Fail-fast CLI validation
Section titled “Fail-fast CLI validation”Unknown commands and options now exit 1 before anything runs, with a suggested correction when one is close (for example, Unknown option --jsn for "xtarterize check". Did you mean --json?). Typos in flags were previously dropped silently by the parser.
-y now works as a shorthand for --yes on init, sync, and restore, and add accepts --json.
v1.24.0 - 2026-08-30 Minor
Section titled “v1.24.0 - 2026-08-30 ”Stricter generated configs
Section titled “Stricter generated configs”Generated Biome and Oxlint configs now enforce 500-line file and 60-line function limits (test files disable the function limit). query --limit and --threshold validate their inputs instead of silently falling back: non-numeric, negative, or out-of-range values exit with an error.
v1.23.4 - 2026-08-30 Patch
Section titled “v1.23.4 - 2026-08-30 ”Concurrency and clean JSON
Section titled “Concurrency and clean JSON”Task status checks in add and dry-run diffs finish faster, and init --compose no longer pollutes JSON stdout when --format json is used.
v1.23.2 - 2026-08-24 Patch
Section titled “v1.23.2 - 2026-08-24 ”Honest automation signals
Section titled “Honest automation signals”add --all in JSON mode now reports failed task checks in the errors array and sets ok to false, keeping the machine-readable contract aligned with the exit code.
v1.23.0 - 2026-08-24 Minor
Section titled “v1.23.0 - 2026-08-24 ”Persistent task selection
Section titled “Persistent task selection”Configure skip and only defaults in .xtarterizerc or package.json, with command-line flags taking precedence when needed.
Consistent JSON output
Section titled “Consistent JSON output”undo and restore now support machine-readable JSON output, completing a consistent JSON contract across the CLI.
v1.22.0 - 2026-08-22 Minor
Section titled “v1.22.0 - 2026-08-22 ”Task-aware query results
Section titled “Task-aware query results”Query results now show whether each task is new, changed, skipped, or in conflict, making it easier to decide what to apply.
v1.20.1 - 2026-08-17 Patch
Section titled “v1.20.1 - 2026-08-17 ”More reliable automation
Section titled “More reliable automation”JSON output now remains valid when there are no pending changes or when a dry run fails. Fresh projects without a lockfile also use the detected package manager for dependency installation.
v1.20.0 - 2026-08-14 Minor
Section titled “v1.20.0 - 2026-08-14 ”Machine-readable CLI output
Section titled “Machine-readable CLI output”add, init, and sync now support JSON output that can be consumed directly by CI pipelines and automation.
Conflict-aware changes
Section titled “Conflict-aware changes”Conflicting tasks are now reported clearly, and --include-conflicts works consistently across add, init, and sync.
Individual task-check failures no longer abort the entire command.
v1.19.0 - 2026-08-11 Minor
Section titled “v1.19.0 - 2026-08-11 ”CI feedback
Section titled “CI feedback”check can now emit GitHub Actions annotations for non-conformant tasks and failing diagnostics, with automatic enablement in GitHub Actions.
Reliable badges and undo
Section titled “Reliable badges and undo”Badge output stays clean in JSON and stdout modes, and undo now removes files created by the last run instead of failing when no backup exists.
v1.18.0 - 2026-08-04 Minor
Section titled “v1.18.0 - 2026-08-04 ”CI-friendly exit codes
Section titled “CI-friendly exit codes”check, diff, and doctor now return non-zero exit codes when conformance checks, pending changes, or diagnostics fail. Dry-run failures are also reported to CI.
v1.17.0 - 2026-07-21 Minor
Section titled “v1.17.0 - 2026-07-21 ”More project setup options
Section titled “More project setup options”New quality/package-engines, workspace/pnpm-workspace, and release/versionrc tasks help projects describe their runtime, workspace, and release configuration.
Better generated configuration
Section titled “Better generated configuration”Generated TypeScript, Git hook, VS Code, and CI configuration is stricter and better aligned with modern Node.js projects.
Existing workspace files are preserved, and package-manager metadata reflects the project’s actual package manager.
v1.16.4 - 2026-07-01 Patch
Section titled “v1.16.4 - 2026-07-01 ”Cleaner project artifacts
Section titled “Cleaner project artifacts”The .xtarterize/ directory for backups and cache is now automatically added to .gitignore, keeping generated internals out of project status.
v1.16.0 - 2026-06-29 Minor
Section titled “v1.16.0 - 2026-06-29 ”Natural language task query
Section titled “Natural language task query”New xtarterize query <query> command that discovers tasks using a built-in scoring engine (no AI, no network). It matches task labels, ids, groups, keywords, and config targets, so near-miss spellings still find the right task.
Results are grouped by domain bundle (e.g. TypeScript, CI/CD) with per-group actionable xtarterize add commands.
New xtarterize init --compose <query> flag that reorders init tasks by relevance.
Task metadata enrichment
Section titled “Task metadata enrichment”All 26 built-in tasks now describe their tags, config targets, and keywords, so query and init --compose understand more ways of describing the tasks you want.
v1.15.2 - June 29, 2026 Patch
Section titled “v1.15.2 - June 29, 2026 ”Monorepo-aware task filtering
Section titled “Monorepo-aware task filtering”Running xtarterize in a monorepo now shows only relevant tasks for where you’re running from:
- Running from the monorepo root? You’ll see CI/CD, release tooling, turbo, renovate, and editor config tasks - not package-level tsconfig or Vite plugin tasks.
- Running inside a workspace package? You’ll see tsconfig path aliases,
vite-plugin-checker, androllup-plugin-visualizer- not root-level CI or release tasks. - Tasks that apply everywhere continue to work as before.
Also fixes a detection bug where Node.js projects using Vite for build orchestration were misidentified as runtime: 'browser' instead of runtime: 'node'.
Concurrency and CI resilience
Section titled “Concurrency and CI resilience”Running xtarterize concurrently across multiple workspace packages no longer crashes with spurious file-not-found errors thanks to cache collision protection. Tests are also now more resilient to transient failures and version drift in external tools.
v1.15.0 - June 29, 2026 Minor
Section titled “v1.15.0 - June 29, 2026 ”Restore, add, and doctor flags
Section titled “Restore, add, and doctor flags”New flags across the restoration, add, and diagnostic commands: restore --yes skips confirmation when restoring the latest backup, while restore --quiet suppresses verbose output. add --all applies all new and patch tasks without interaction, and doctor --json is now visible in command-level --help.
create-xtarter-app scaffolding enhancements
Section titled “create-xtarter-app scaffolding enhancements”create-xtarter-app gains several new flags: --quiet suppresses banners and progress output, --json outputs the scaffold result as structured JSON, and --no-color disables colorized output. The --yes flag now defaults to the next-chakra template when -t is omitted. The help system has been migrated from hand-rolled HELP_TEXT to citty auto-generated help.
Documentation updates
Section titled “Documentation updates”CLI reference documentation in Starlight now covers the new flags, agent skills have been updated for accurate flag references, and JSON output examples have been corrected to match the actual output shape.
v1.14.3 - June 29, 2026 Patch
Section titled “v1.14.3 - June 29, 2026 ”Multi-package-manager git hooks
Section titled “Multi-package-manager git hooks”Git hooks generated by xtarterize add release/git-hooks now work across npm, yarn, and bun, using the correct command format for each package manager via nypm.
Engine and safety hardening
Section titled “Engine and safety hardening”The minimum Node.js version has been raised to 24 - projects using Node 18–23 now receive a clear error from npm instead of a cryptic runtime failure. Backup collision resolution ensures files with names that could collide in the backup directory (e.g., a/b.js and a__b.js) use a collision-safe encoding scheme. xtarterize undo and xtarterize restore now reject restore operations targeting files outside the project root via path traversal protection.
Detection and dry-run accuracy
Section titled “Detection and dry-run accuracy”Vite plugin dry-run output for tasks like vite-plugin-checker and rollup-plugin-visualizer now matches what xtarterize add actually writes. The detection cache has been improved so config directory changes (.github/, .vscode/, .changeset/) are tracked at the file level, ensuring stale project profiles are invalidated when files within these directories change.
v1.14.2 - June 17, 2026 Patch
Section titled “v1.14.2 - June 17, 2026 ”Edge-case hardening across the entire pipeline - no new features, but significantly improved stability for all commands and surfaces.
CLI resilience improvements
Section titled “CLI resilience improvements”try/catch guards prevent crashes on individual task failures across init, sync, diff, add, doctor, and restore. The --skip/--only flags no longer filter phantom empty-string values, and doctor uses Promise.allSettled for resilient diagnostics when one check fails.
Core stability hardening
Section titled “Core stability hardening”Robust error handling for atomic writes with temp file cleanup ensures no orphaned temp files. Schema validation guards against corrupted cache entries. Fixed a React Native + React co-detection issue that returned null. The skipped count now correctly tracks explicit skips from the check phase.
Task reliability fixes
Section titled “Task reliability fixes”Fixed this.getScripts undefined crash in packageScriptsTask. The commitMsgHook now accepts a package manager parameter instead of hardcoding pnpm. Corrected check() return values for proper conflict vs new status detection.
UI and JSON output fixes
Section titled “UI and JSON output fixes”The merged multi-diff view now preserves all diffs instead of dropping earlier ones. The JSON ok field reflects actual conformance state, not intention. Multiselect cancel properly aborts via abortIfCancelled.
create-xtarter-app cross-platform fixes
Section titled “create-xtarter-app cross-platform fixes”Windows-compatible path handling, fixed pnpm overrides crash, async readdir replaces sync readdirSync, improved project name sanitization, and proper handling of explicit false CLI flag values.
Documentation corrections
Section titled “Documentation corrections”Outdated content refreshed - Node.js minimum bumped to 24, missing --timing and --format flags documented, Rspack added to detected bundlers, task applicability fixed for renovate/lint-staged, and CLI path corrected from apps/cli to apps/xtarterize.
v1.14 - May 29, 2026 Minor
Section titled “v1.14 - May 29, 2026 ”Undo command
Section titled “Undo command”Interactive add and conformance badges
Section titled “Interactive add and conformance badges”xtarterize add without a task ID now shows a grouped multi-select menu for interactive task selection. xtarterize check --badge <path> generates an SVG conformance badge with score, progress bar, and status.
Task cleanup and framework gating
Section titled “Task cleanup and framework gating”Removed editorconfig, nvmrc, and agent/skills tasks - editorconfig is redundant with linters and VS Code settings, nvmrc lts/* is too vague, and agent/skills duplicated AGENTS.md content. The codegen/plop task now requires a detected framework to be applicable.
v1.13 - May 17, 2026 Minor
Section titled “v1.13 - May 17, 2026 ”Oxlint and Oxfmt support
Section titled “Oxlint and Oxfmt support”Enhanced lint rule coverage
Section titled “Enhanced lint rule coverage”Non-recommended lint rules are now mapped from ESLint configs: eqeqeq, prefer-const, no-shadow, max-params, React rules, and Vitest overrides for Oxlint; noExcessiveCognitiveComplexity and useMaxParams for Biome.
TypeScript config templates
Section titled “TypeScript config templates”Generated config templates for Biome, Oxlint, Oxfmt, and commitlint now ship with proper TypeScript types.
v1.12 - May 15, 2026 Minor
Section titled “v1.12 - May 15, 2026 ”Node.js 24 minimum requirement
Section titled “Node.js 24 minimum requirement”The minimum Node.js version has been bumped to 24. Older versions receive a clear error from npm instead of a cryptic runtime failure.
v1.11 - May 13, 2026 Minor
Section titled “v1.11 - May 13, 2026 ”Per-task progress indicators
Section titled “Per-task progress indicators”Each task during init and sync now shows a spinner animation at the task level, giving you real-time feedback on what’s being applied. The conformance plan table uses colored status tags (new, patch, skip, conflict) for at-a-glance understanding.
Monorepo dependency management
Section titled “Monorepo dependency management”The workspace flag (-w) is now supported for pnpm dependency installs in monorepo roots, making it easier to manage shared dependencies alongside per-package installs.
v1.10 - May 12, 2026 Minor
Section titled “v1.10 - May 12, 2026 ”Unified diff output format
Section titled “Unified diff output format”A new --format flag for init, sync, diff, and add commands lets you choose between terminal-friendly and JSON output:
Shows +N -M change stats per file and @@ hunk headers in git-style
unified diff format.
Includes structured hunks, stats, and semantic key-level diffs - designed for CI pipelines and AI-agent consumption.
v1.9 - May 12, 2026 Minor
Section titled “v1.9 - May 12, 2026 ”Changeset-aware release workflows
Section titled “Changeset-aware release workflows”The release workflow task now detects whether your project uses Changesets and generates the appropriate workflow - either changesets/action@v1 for Changesets projects or tag-push for simple versioning.
Automatic Node.js version detection
Section titled “Automatic Node.js version detection”Node.js version is now auto-detected from .nvmrc and package.json engines.node, ensuring CI and local environments stay in sync.
v1.8 - May 12, 2026 Minor
Section titled “v1.8 - May 12, 2026 ”Doctor command
Section titled “Doctor command”The new doctor command provides environment and project health diagnostics:
Tools
Displays installed tool versions (Biome, oxlint, etc.)
Project
Configuration
Verbose and JSON output modes
Section titled “Verbose and JSON output modes”The --verbose flag provides detailed system information, and JSON output mode enables machine consumption of diagnostic data.
v1.7 - May 12, 2026 Minor
Section titled “v1.7 - May 12, 2026 ”Native package manager auto-updates
Section titled “Native package manager auto-updates”The auto-update workflow now uses native package manager commands (pnpm update && pnpm dedupe) instead of npm-check-updates, reducing external dependencies and aligning with package manager best practices.
v1.6 - May 11, 2026 Minor
Section titled “v1.6 - May 11, 2026 ”JSONC preservation
Section titled “JSONC preservation”Smarter script management
Section titled “Smarter script management”Duplicate scripts with the same command are now skipped automatically during package script management. The "extends": "config:base" format is treated as equivalent to "extends": ["config:base"], and only missing scripts are added - existing scripts are never overwritten.
v1.5 - May 8, 2026 Minor
Section titled “v1.5 - May 8, 2026 ”Unified diff format
Section titled “Unified diff format”All dry-run and diff output now uses a consistent git-style patch view across new, modified, and JSON files, providing a uniform review experience regardless of file type.
v1.4 - May 8, 2026 Minor
Section titled “v1.4 - May 8, 2026 ”New conformance tasks
Section titled “New conformance tasks”Six new conformance tasks expand xtarterize coverage:
EditorConfig
.editorconfig generation for consistent editor settings
npmrc
.npmrc with strict engine checks and exact version pinning
nvmrc
.nvmrclint-staged
Run linters only on staged files - faster pre-commit hooks
Git hooks
pnpm catalogs
Workspace catalog: protocol for centralized dependency versions
Optimized skill installation
Section titled “Optimized skill installation”Skills from the same source repo are now grouped into a single npx command with multiple --skill flags, reducing redundant downloads and setup time.
v1.3 - May 2, 2026 Minor
Section titled “v1.3 - May 2, 2026 ”Expanded skills catalog
Section titled “Expanded skills catalog”The agent skills catalog has been expanded to 20+ stack-specific skills:
Frontend / UI
baseline-ui, fixing-accessibility, fixing-metadata,
fixing-motion-performance
React
react-dev, react-useeffectVue / Nuxt
vue, vue-best-practices, nuxtExpo / React Native
upgrading-expo, vercel-react-native-skills
Build tools
vite, vitest, tsdown, turborepoDatabase / Auth
supabase-postgres-best-practices, postgres-drizzle,
redis-best-practices, better-auth-best-practices, create-auth-skill
AI / SDKs
ai-sdkSpecialized
remotion-best-practicesv1.2 - May 1, 2026 Minor
Section titled “v1.2 - May 1, 2026 ”Unified JSON diffs
Section titled “Unified JSON diffs”Diffs targeting the same JSON file are now merged into a single unified view instead of separate per-task diffs - see the complete intended state at once.
v1.1 - April 29, 2026 Minor
Section titled “v1.1 - April 29, 2026 ”Automatic agent skill installation
Section titled “Automatic agent skill installation”Config and CLI improvements
Section titled “Config and CLI improvements”Framework-aware Biome config, Plop templates, and CI workflows are now generated based on your project’s detected stack. The --cwd flag is correctly resolved throughout the full pipeline, and conformance plan and dry-run output are rendered as proper tables.