diff --git a/.claude/settings.local.json b/.claude/settings.local.json
new file mode 100644
index 0000000..d5e4008
--- /dev/null
+++ b/.claude/settings.local.json
@@ -0,0 +1,12 @@
+{
+ "permissions": {
+ "allow": [
+ "Bash(tree:*)"
+ ]
+ },
+ "enabledMcpjsonServers": [
+ "postgres",
+ "newrelic"
+ ],
+ "enableAllProjectMcpServers": true
+}
diff --git a/ANGULAR_V20_MIGRATION_PLAN.md b/ANGULAR_V20_MIGRATION_PLAN.md
new file mode 100644
index 0000000..bec45f4
--- /dev/null
+++ b/ANGULAR_V20_MIGRATION_PLAN.md
@@ -0,0 +1,1166 @@
+# Angular v20 Migration Plan
+## WorkflowCreator Library (@sourceloop/workflows-creator)
+
+---
+
+## Executive Summary
+
+This document outlines the comprehensive migration strategy for upgrading the WorkflowCreator library from **Angular 13.3** to **Angular 20**, making it compatible with parent applications running Angular v20.
+
+**Current State:**
+- Angular: 13.3.0
+- TypeScript: 4.6.2
+- RxJS: 7.5.0
+- Build: Angular CLI 13.3.10, ng-packagr 13.0.0
+- Package Type: Library bundled as .tgz
+
+**Target State:**
+- Angular: 20.x
+- TypeScript: 5.4+ (required for Angular 20)
+- RxJS: 7.8+
+- Build: Angular CLI 20.x, ng-packagr 20.x
+- Full compatibility with Angular 20 applications
+
+**Migration Complexity:** HIGH - Spanning 7 major Angular versions (13→14→15→16→17→18→19→20)
+
+---
+
+## Phase 1: Pre-Migration Assessment & Preparation
+
+### 1.1 Backup & Version Control
+- [ ] Create a new branch `angular-v20-migration` from current main/master
+- [ ] Tag current version: `git tag v0.0.0-pre-angular20`
+- [ ] Document current working state and functionality
+- [ ] Create comprehensive test scenarios for regression testing
+
+### 1.2 Environment Setup
+- [ ] Update Node.js to v18.19+ or v20+ (required for Angular 20)
+- [ ] Update npm to version 9+ or 10+
+- [ ] Clear node_modules and package-lock.json
+- [ ] Document all custom build scripts and their purposes
+
+### 1.3 Dependency Audit
+- [ ] List all custom/internal code dependencies
+- [ ] Identify deprecated APIs currently in use:
+ - `@ViewChild()` without `static` flag (check if already fixed)
+ - `ComponentFactoryResolver` (deprecated, use ViewContainerRef.createComponent)
+ - Any usage of `DOCUMENT` from `@angular/common` instead of proper injection
+ - `ReflectiveInjector` (replaced by `Injector.create()`)
+ - `ngModuleFactory` patterns (Ivy makes these unnecessary)
+
+- [ ] Check for usage of deprecated RxJS operators
+- [ ] Review custom decorators and metadata usage
+
+### 1.4 Documentation
+- [ ] Document all current API surface area
+- [ ] List all public exports from `public-api.ts`
+- [ ] Document breaking changes acceptable for library consumers
+- [ ] Create migration guide for library users
+
+---
+
+## Phase 2: Core Angular Migration (13 → 20)
+
+### 2.1 Incremental Upgrade Strategy
+
+Angular provides update migrations that must be run sequentially. **DO NOT skip versions.**
+
+#### Step 2.1.1: Angular 13 → 14
+```bash
+ng update @angular/core@14 @angular/cli@14 --force --allow-dirty
+ng update @angular/material@14 --allow-dirty # if applicable
+```
+
+**Key Breaking Changes 13→14:**
+- [ ] Simplified Page Title accessibility (use built-in `TitleStrategy`)
+- [ ] Strictly typed forms enabled by default
+- [ ] Update to TypeScript 4.6+
+- [ ] `providedIn: 'any'` removed from `@Injectable()`
+- [ ] `RouterLink` null/undefined inputs no longer navigate
+- [ ] Fix any issues with typed forms in components
+
+**Files to Check:**
+- `lib/builder/builder.component.ts` - Forms usage
+- All service files for `providedIn: 'any'`
+
+#### Step 2.1.2: Angular 14 → 15
+```bash
+ng update @angular/core@15 @angular/cli@15 --force --allow-dirty
+```
+
+**Key Breaking Changes 14→15:**
+- [ ] Standalone APIs introduced (optional to adopt)
+- [ ] Directive composition API available
+- [ ] Router guards as functions (old class-based guards deprecated)
+- [ ] `@angular/platform-server` changes if doing SSR
+- [ ] Remove `relativeLinkResolution: 'legacy'` if present
+- [ ] Update to TypeScript 4.8+
+- [ ] Node.js 14.20+ or 16.13+ required
+
+**Migration Actions:**
+- [ ] Consider converting to standalone components (optional but recommended)
+- [ ] Update any router guards to functional guards
+- [ ] Test all dependency injection patterns
+
+#### Step 2.1.3: Angular 15 → 16
+```bash
+ng update @angular/core@16 @angular/cli@16 --force --allow-dirty
+```
+
+**Key Breaking Changes 15→16:**
+- [ ] Signals API introduced (optional)
+- [ ] Required inputs with `@Input({ required: true })`
+- [ ] TypeScript 4.9.3+ required
+- [ ] Improved hydration for SSR
+- [ ] `ngcc` removed (Ivy-only)
+- [ ] `DestroyRef` for cleanup (replaces some `ngOnDestroy` patterns)
+- [ ] Self-closing tags support in templates
+
+**Migration Actions:**
+- [ ] Review and mark required inputs: `@Input({ required: true })`
+- [ ] Consider using `DestroyRef` for subscriptions cleanup
+- [ ] Update templates to use self-closing tags where appropriate:
+ ```html
+
+