migrate-to-craft-ts

Migrates Angular applications to @craft-ts/core using the craft-migrate codemod and manual diagnostics.

3|Updated Jan 9, 2026
One-click install
npx skills add https://github.com/craft-ts/craft-ts --skill migrate-to-craft-ts-craft-ts
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: migrate-to-craft-ts
Source: https://github.com/craft-ts/craft-ts/tree/main/.agents/skills/migrate-to-craft-ts
Command: npx skills add https://github.com/craft-ts/craft-ts --skill migrate-to-craft-ts-craft-ts

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Moving an Angular codebase to @craft-ts/core involves mechanical rewrites plus semantic decisions that automated tools cannot safely infer, and this Skill runs the craft-migrate codemod first, then guides the remaining manual migration of signals, forms, services, dependency injection, and routes. ## Core Features & Use Cases - Deterministic codemod execution: Runs craft-migrate in dry-run, write, and check modes with JSON reports so every change is previewed and verified. - Manual migration guidance: Converts Angular signals to state, Signal Forms to insertForm pipelines, @Injectable services to craftService, and Angular Router usage to CraftRouter with typed route DI. - Verification workflow: Enforces a checklist covering lint, type-check, architecture tests, targeted regression tests, and production build. - Use Case: You inherit an Angular app using Signal Forms and rxResource; this Skill previews the migration, applies safe rewrites, then walks you through converting validators, async submission, and route guards that the codemod flags as manual diagnostics. ## Quick Start Use the migrate-to-craft-ts skill to migrate this Angular project to CraftTS and finish the remaining manual migration work.

Frequently Asked Questions about migrate-to-craft-ts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate an Angular project to @craft-ts/core?▼

Run npx craft-migrate with --project and --root flags, first in --dry-run mode to review diagnostics, then with --write to apply deterministic changes. Afterwards, manually resolve flagged diagnostics for forms, services, and routes, and finish with --check --fail-on-manual.

How do I convert Angular Signal Forms to CraftTS?▼

Convert Signal Forms to a state call piped through craftPipe with insertForm, mapping validators to cRequired, cMaxLength, and other Craft validators. Use insertSelectFormTree and insertFormAttributes for nested fields, and convert submission.action to a tracked mutation with insertFormSubmit.

Can craft-migrate handle Angular dependency injection automatically?▼

The codemod rewrites what it can infer, but application services must be authored with craftService and third-party tokens adapted once with toCraftService. Every generated CRAFT_IMPLEMENTATION_REQUIRED companion must be resolved manually.

What does craft-migrate leave as manual work?▼

Manual work includes unresolved route guards, redirects, lazy collections, inherited providers, dynamic routes, async validators converted to query plus cAsyncValidate, and HTTP mutations whose callback lifecycle semantics must be preserved.

How do I verify an Angular to CraftTS migration succeeded?▼

Re-run craft-migrate with --check --fail-on-manual, then run targeted tests, lint, application type-check, architecture tests, the full test suite, and a production build. Report each command's exit code separately rather than relying on filtered output.