Skip to content

Deploy: UI overhaul, Azure Functions backend, simplified CI/CD - #5

Merged
dariemcarlosdev merged 48 commits into
masterfrom
development
Jul 25, 2026
Merged

Deploy: UI overhaul, Azure Functions backend, simplified CI/CD#5
dariemcarlosdev merged 48 commits into
masterfrom
development

Conversation

@dariemcarlosdev

Copy link
Copy Markdown
Collaborator

Summary

  • New brand identity, motion system, and full UI redesign across all pages
  • Azure Functions backend (SendEmailFunction, ChatFunction) with Key Vault + rate limiting, replacing client-side secrets
  • CI/CD simplified: dropped blue/green (staging Function App + SWA preview envs) — PRs to master now just build/compile-check, push to master deploys straight to production
  • Deployment docs (docs/02-deployment/) resynced to match live architecture

Test plan

  • production GitHub environment requires manual approval on merge — approve deploy-production in Actions
  • Confirm Env vars set in Azure Function App (BREVO_SMTP_KEY/LOGIN, ANTHROPIC_API_KEY, N8N_WEBHOOK_URL, RateLimiting:*, ProductionOrigin)
  • Blob Storage CORS configured
  • Contact form end-to-end on www.cloud-zen.net
  • AI chatbot end-to-end on www.cloud-zen.net
  • No console errors, CSP not blocking requests

🤖 Generated with Claude Code

dariemcarlosdev and others added 30 commits March 16, 2026 21:31
…vigation

- Introduce BookingContact.razor: a 3-step scheduling/contact form with calendar, time zone selection, and validation
- Add BookingFormModel.cs for form data and validation
- Create Contact.razor page at /contact to host the new form
- Update header navigation: "Contact" now routes to /contact, and "Back to Home" button appears on all sub-pages
- Refactor header state to track sub-pages for navigation logic
Introduced a greeting tooltip bubble above the chatbot FAB to welcome users and prompt engagement. The bubble displays a message, logo, and close button, and is shown only when the chatbot is closed. Includes new state logic and CSS for appearance and animation. No changes to chatbot core functionality.
- Switched header and nav from dark to light color scheme
- Replaced CloudZen logo with new HeaderLogo.png (larger size)
- Updated nav link/button colors for better contrast
- Changed hamburger menu to gray, moved its active CSS to Header.razor.css
- Added overlay behind mobile menu for click-to-close UX
- Updated mobile nav to light background and matching link colors
- Refactored GetNavClass/GetContactClass for new color logic
- Removed loading spinner and related CSS from index.html/app.css
- Added HeaderLogo.png and cloudzen-logo-2.png images
Provides future Copilot sessions with:
- Build and run commands for both frontend and backend
- Architecture overview (Blazor WASM + Azure Functions)
- Service, component, and configuration conventions
- Styling setup (Tailwind CDN, brand colors)
- Naming and security patterns

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add ToolInfo model, ToolService, ToolCardItem, and ToolsOverview components
- Replace ValueProposition with ToolsOverview on landing page
- Simplify Hero component layout
- Register ToolService in DI (Program.cs)
- Add hero background image
- Minor Header, MainLayout, and CSS tweaks

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Provides a reusable skill that guides Copilot through reviewing
pending changes, staging files, and writing conventional commit
messages with the Co-authored-by trailer.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add Conventional Commits format with type table and examples
- Add subject (50 char), body (72 char wrap), and footer rules
- Enforce atomic commits (one logical change per commit)
- Add guidance for splitting unrelated changes
- Add security rules (never commit secrets)
- Add examples for simple, multi-change, and breaking change commits

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add FeatureHighlight record model with alternating layout support
- Add FeatureHighlightService with feature highlight data
- Add FeatureHighlightCard and FeaturesShowcase components
- Register FeatureHighlightService in DI (Program.cs)
- Insert FeaturesShowcase into Index page after ToolsOverview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… section

- Add StandardInfo model and MissionService for mission data
- Add ServiceCard and StandardCard reusable components
- Expand Mission section with standards grid and mission points
- Expand Services section with enhanced card layout
- Reorganize Index page section order (Hero, Tools, CaseStudies, Features, Contact)
- Remove CTA and Testimonials sections from landing page
- Update Header navigation and Profile components styling
- Add feature showcase images
- Add new CSS utilities and scroll animations in anim.js
- Register MissionService in DI (Program.cs)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add HeadOutlet to App.razor for per-page meta tag support
- Add PageTitle and HeadContent with meta descriptions to all routable pages
  (Index, Contact, WhoIAm, Mission, Services)
- Add canonical URLs for all pages
- Fix heading hierarchy: ensure exactly one h1 per page
  (ProfileHeader h2→h1, Mission h2→h1, sub-headings h3→h2)
- Add JSON-LD structured data (ProfessionalService schema with founder,
  services, and contact point)
- Add robots meta tag (index, follow)
- Enable apple-touch-icon links (previously commented out)
- Add preconnect hints for CDN resources
- Add aria-expanded to hamburger menu button
- Add role=alert to contact form error messages
- Add aria-hidden to decorative icons in Mission page

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Enable PublishTrimmed and BlazorEnableCompression in csproj
  to reduce WASM payload size by ~40-60%
- Enable InvariantGlobalization to trim ICU data
- Move Google Fonts from CSS @import to HTML <link> with preconnect
  to unblock CSS parsing
- Add preconnect hints for fonts.googleapis.com and fonts.gstatic.com
- Add loading=lazy and explicit width/height to all images
  (avatar, hero, feature cards, logo, project participants)
- Enable PWA icons in manifest.webmanifest (were commented out)
- Create staticwebapp.config.json with security headers, MIME types,
  navigation fallback, and proper WASM/DLL content types

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
HeadOutlet is already registered as a root component in Program.cs
via builder.RootComponents.Add<HeadOutlet>("head::after"). Adding
a second instance in App.razor caused a duplicate subscriber error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove Back button and isSubPage logic from Header
- Rename 'Case Studies' nav link to 'Our Work'
- Update case studies links to use absolute /#cases paths
- Add fragment scroll support in Index.razor for cross-page nav
- Add scroll-mt-24 to CaseStudies section for proper offset

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Switch booking logo to cloudzen-logo-2.png
- Restyle Explore Services button with white bg and border
- Link Explore Services to /services route

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move @code blocks from .razor files into separate .razor.cs partial
classes for CTA, CaseStudies, ContactForm, FeaturesShowcase, Mission,
Services, ToolsOverview, and WhoIAm components.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add IBookingService, ICaseStudyService, IFeatureHighlightService,
  IGoogleCalendarUrlService, IMissionService, IPersonalService,
  IProjectService, and IToolService abstractions
- Implement interfaces on existing service classes
- Add new BookingService and CaseStudyService
- Update Program.cs to register all services via interfaces

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Split monolithic BookingContact.razor into focused child components:
- BookingSidebar: meeting info and selected date display
- BookingCalendar: date picker with availability logic
- BookingTimeSlots: time slot selection grid
- BookingTimeZonePicker: timezone selector dropdown
- BookingDetailsForm: contact details form (step 2)
- BookingConfirmation: confirmation view (step 3)
- BookingContact.razor.cs: orchestrator code-behind

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Organize all markdown files into structured docs/ subfolders:
  01-architecture, 02-deployment, 03-features, 04-security,
  05-troubleshooting, 06-patterns
- Consolidate architecture docs (104KB -> 24KB, ~77% reduction):
  merge config files into CONFIGURATION.md, trim AZURE_FUNCTIONS.md,
  rewrite COMPONENT_ARCHITECTURE.md for token efficiency
- Add API_ENDPOINTS.md: unified reference for all 3 Azure Functions
  endpoints (send-email, chat, book-appointment)
- Split QUICK_FIX_RESOLUTION into 10 individual issue files
- Merge KNOWN_ISSUES content into troubleshooting index
- Add 06-patterns/ with Azure Functions Proxy pattern and
  UI Color & Design System pattern docs
- Document core security rule: API keys and secrets live only
  in the Functions backend

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add BookAppointmentFunction Azure Function (POST /api/book-appointment)
- Add AppointmentService and IAppointmentService for frontend-to-API calls
- Add BookingServiceOptions with IOptions<T> configuration pattern
- Add BookAppointmentRequest (API) and BookingAppointmentRequest (frontend) models
- Update BookingContact orchestrator with appointment submission flow
- Enhance BookingDetailsForm with phone (E.164), business name fields
- Add BookingConfirmation component for success state
- Update BookingCalendar and BookingTimeSlots with refined parameters
- Register AppointmentService and BookingServiceOptions in Program.cs
- Update InputValidator with date/time format validation
- Update SendEmailFunction with minor refactoring
- Update ContactForm and BookingService with booking flow adjustments

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ature

Move from horizontal layers (Models/, Services/, Shared/) to vertical
slices where each feature owns its components, models, services, and options.

WASM project — 7 feature slices + Common:
- Features/Booking/    (7 components, 2 models, 6 services, 1 option)
- Features/Contact/    (1 component, 4 models, 2 services, 1 option)
- Features/Chat/       (1 component, 1 model, 2 services, 1 option)
- Features/Landing/    (12 components, 4 models, 10 services)
- Features/Profile/    (5 components, 1 model, 1 service)
- Features/Projects/   (2 components, 2 models, 2 services)
- Features/Tickets/    (1 component, 1 model, 2 services)
- Common/              (2 shared components, 1 option)

API project — 3 feature slices + Shared:
- Api/Features/Booking/  (function + request model)
- Api/Features/Contact/  (function + request model + settings)
- Api/Features/Chat/     (function + request/response models)
- Api/Shared/            (security, rate limiting, shared models)

Layout/ and Pages/ remain at root (Blazor convention).
All namespaces updated to match new paths. _Imports.razor includes
all feature namespaces globally. Build verified: 0 errors.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Update COMPONENT_ARCHITECTURE.md directory structure to reflect vertical slices
- Update CONFIGURATION.md options inventory with new file locations
- Add Related Docs cross-reference section to all 5 architecture docs
- Link to patterns docs (proxy pattern, UI design system) where relevant

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lication

- Create CANCEL_RESCHEDULE_PLAN.md in docs/03-features with full implementation plan
- Add Cross-Project Model Duplication section to VERTICAL_SLICE_ARCHITECTURE.md
- Add Model Ownership & Transformation section to 01_azure_functions_proxy_api.md
- Both docs cross-reference each other for the structural vs behavioral explanation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…eschedule

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add ProjectCategory enum (SideProject, CustomerWork, AiAutomation)
- Add AiAutomationDetails record (TargetAudience, ProblemSolved,
  CustomerBenefits) composed into ProjectInfo
- Add GetProjectsByCategory() to IProjectService and ProjectService
- Create three AI Automation projects: AI Chatbot Assistance,
  Booking Appointments, Custom Customer-Facing Web Application
- Assign Category to all existing projects for type-safe filtering
- Update CaseStudies to filter by AiAutomation category instead
  of brittle name-matching
- Add AI Automation option to ProjectFilter dropdown
- Refactor WhoIAm filtering to use ProjectCategory enum

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Create Pagination.razor with numbered pages, prev/next arrows,
  ellipsis for large page counts, and page info text
- Create Pagination.razor.cs code-behind with TotalItems, PageSize,
  CurrentPage, and OnPageChanged parameters
- Integrate pagination into WhoIAm with 5 projects per page
- Auto-reset to page 1 on filter change
- Auto-scroll to projects section on page navigation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… components

- Extract ManageAppointmentCancel and ManageAppointmentReschedule
  code-behind into separate .razor.cs files
- Simplify component markup
- Update BookingTimeSlots styling

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dariemcarlosdev and others added 17 commits March 30, 2026 15:33
- Replace monolithic feature docs with numbered, structured files
- Add feature docs README index
- Update component architecture and UI design system docs
- Remove legacy docs (AI_CHATBOT_DOCUMENTATION, BREVO_SMTP_MIGRATION,
  CANCEL_RESCHEDULE_PLAN, TAILWIND_CUSTOM_COLORS)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add AutomationProgressCard component with progress bar, stat counters,
  and terminal log animations that loop continuously
- Include detailed XML summary comments on all lifecycle and animation
  methods explaining timing, easing, and synchronization logic
- Add usage examples in Razor markup covering basic, tweaked, and fully
  custom configurations
- Integrate component into Index page under Automation in Action section

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lates

Replace all NexTruzt.io EscrowApp-specific references with generic domain
examples (Order, Customer, AppDbContext) across 5 instruction files:

- blazor/component-patterns: EscrowDashboard → OrderDashboard
- testing/testing-standards: EscrowTransactionBuilder → OrderBuilder
- database/ef-core-patterns: EscrowDbContext → AppDbContext, fix applyTo
- security/owasp-top10: Remove fintech-specific sections, generalize
- resilience/polly-patterns: Stripe-specific → External API, fix applyTo

applyTo patterns updated for ef-core and polly to use ** wildcards.
All files are now immediately reusable as templates for any .NET project.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove all NexTruzt.io / EscrowApp project-specific references
- Genericize root configs: AGENTS.md, CLAUDE.md, GEMINI.md
- Genericize .github/copilot-instructions.md with generic Order domain
- Genericize 10 instruction files and fix applyTo glob patterns
- Genericize 42 SKILL.md files (removed author, updated descriptions)
- Genericize 100+ skill reference files (code examples)
- Fix .github/copilot-mcp.json, copilot-setup-steps.yml, lsp.json
- Create memory-optimization skill (42nd skill, resolved phantom)
- Add superpowers extension init log
- Update CATALOG.md to v2.2.0 with 42 skills
- Remove hardcoded API token from .claude/settings.json
- Add sensitive .claude/ files to .gitignore
- Genericize .claude/rules/ bridge files

All configs now use generic MyApp/Order domain examples and are
portable across different .NET/Blazor projects.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- 8 lifecycle hooks (build-reminder, security-scanner, doc-sync, etc.)
- 10 rule bridges linking to .github/instructions/
- 42 skill bridges linking to .github/skills/
- Project settings.json (no secrets)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add Hero alternate components (Alternate, MorphingGeometry, TealGradient, WarmTealWash)
- Add Legal feature: TermsOfService, PrivacyPolicy, FAQ with code-behind
- Add code-behind for Footer, Header, SDLCProcess (code-behind pattern)
- Refactor Header with improved responsive nav and scoped CSS
- Refactor Footer with expanded layout
- Update ChatFunction and SendEmailFunction API handlers
- Improve InputValidator security hardening
- Add ScrollToTopButton enhancements
- Add timeline-observer.js for scroll animations
- Update CloudZen.csproj dependencies
- Update staticwebapp.config.json routing
- Add OWASP security audit fixes documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Merge AGENTS.md + CLAUDE.md + GEMINI.md into single deduplicated AGENTS.md (-61%)
- Trim .github instruction files from code examples to prose rules (-61%, 1267 lines)
- Scope mvp-first + memory-optimization applyTo from **/* to code files only
- Remove 42 duplicate skill folders from .github/skills (user folder is source of truth)
- Archive CLAUDE.md + GEMINI.md as .archived

Estimated system prompt reduction: ~47% -> ~20-23%

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lobal user)

All 42 bridge files now reference C:\Users\335286\.claude\skills\ (global leader)
instead of the removed .github/skills/ project-level copies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add DESIGN.md, design.json, and PRODUCT.md for brand, tokens, and product definition
- Refactor Blazor components for color, contrast, and CTA accessibility per design system
- Remove legacy hero components and related CSS
- Add Mission.razor.css for new section styling
- Improve FAQ accessibility, focus, and color contrast
- Clarify case study titles in CaseStudyService
- Update settings.json hook paths for reliability
- Add config.json for Blazor WASM CSP/HTML config
- Update docs and comments to reference new standards
…tity

- Wire motion.css + scroll-reveal.js across all pages (Index, Contact, ManageAppointment, Services, Mission, Faq, Privacy, Terms, WhoIAm, Tickets, Header)
- Strategic teal injection across 15 landing files (low-opacity bg gradients, teal card borders, teal eyebrow labels)
- Header surface redesign: pearl wash + teal->orange brand-bridge accent + always-on teal hairline (.cz-header)
- Restrained-pro motion utilities: icon-halo, step-number, panel-enter; dark-CTA gradient upgrade
- FAQ accordion fix: animation-fill-mode: forwards for persistent panel visibility
- Blazor reveal-class conflict fix: separate static .reveal wrapper from dynamic class children
- Project/Profile components refactor for design-system alignment
- Remove deprecated Hero.razor (HeroWarmTealWash is canonical)
- Docs: expand 02_ui_color_design_system.md with motion + teal injection patterns

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Prevents .claude/settings.local_old.json (and similar .bak/.backup files)
from being committed. Original leak occurred via settings.local_old.json
which slipped past the narrow settings.local.json pattern.
…L gap

ci-cd.yml referenced an unrelated project (SmartMenuOptim/Neon Postgres
via EF Core) that never existed in this repo; real pipeline is
azure-functions.yml + azure-static-web-apps.yml.

Documented N8N_WEBHOOK_URL (required by BookAppointmentFunction.cs,
missing from all deployment docs) and clarified the booking system's
Neon Postgres DB is configured inside n8n itself, not an Azure resource.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
No code modifications were made; only context and comments are present in the diff for HeroWarmTealWash.razor.
Expanded and clarified deployment guides:
- Updated references, repo URL, and added "Last synced" date
- Strengthened CSP with connect-src for Function App
- Listed all required env vars and Key Vault secrets (SMTP, Anthropic, n8n, CORS, rate limiting)
- Marked completed checklist items; added new ones for env setup and testing
- Clarified that all secrets are server-side only; removed outdated client-side secret instructions
- Updated architecture diagrams and code samples for current secure flow
Switched to single-environment deploy: only pushes/merges to master trigger production deployment; PRs to master now run build checks only, with no deploy or preview environments. Removed all staging/blue-green workflow logic, deleted appsettings.Staging.json, and updated documentation to reflect the new deployment strategy.
Copilot AI review requested due to automatic review settings July 25, 2026 20:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 346 files, which is 246 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f0141251-9ac6-413d-b99d-59a104884590

📥 Commits

Reviewing files that changed from the base of the PR and between 25e5cfd and d73d147.

⛔ Files ignored due to path filters (12)
  • docs/08-N8N/n8n-mcp-skills-v1.9.0.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-expression-syntax.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-mcp-tools-expert.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-node-configuration.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-validation-expert.zip is excluded by !**/*.zip
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns.zip is excluded by !**/*.zip
  • wwwroot/images/HeaderLogo.png is excluded by !**/*.png
  • wwwroot/images/cloudzen-logo-2.png is excluded by !**/*.png
  • wwwroot/images/hero-ai-illustration.png is excluded by !**/*.png
  • wwwroot/images/image2vector.svg is excluded by !**/*.svg
📒 Files selected for processing (369)
  • .claude/hooks/build-reminder.ps1
  • .claude/hooks/context-optimizer.ps1
  • .claude/hooks/doc-sync-reminder.ps1
  • .claude/hooks/dotnet-conventions.ps1
  • .claude/hooks/notification.ps1
  • .claude/hooks/research-first.ps1
  • .claude/hooks/security-scanner.ps1
  • .claude/hooks/test-runner.ps1
  • .claude/settings.json
  • .claude/skills/README.md
  • .claude/skills/adr-creator/SKILL.md
  • .claude/skills/agent-orchestrator/SKILL.md
  • .claude/skills/api-documenter/SKILL.md
  • .claude/skills/architecture-reviewer/SKILL.md
  • .claude/skills/authentication/SKILL.md
  • .claude/skills/authorization/SKILL.md
  • .claude/skills/chaos-engineer/SKILL.md
  • .claude/skills/ci-cd-builder/SKILL.md
  • .claude/skills/code-documenter/SKILL.md
  • .claude/skills/code-reviewer/SKILL.md
  • .claude/skills/codebase-explorer/SKILL.md
  • .claude/skills/csharp-developer/SKILL.md
  • .claude/skills/debugging-wizard/SKILL.md
  • .claude/skills/deep-context-generator/SKILL.md
  • .claude/skills/dependency-analyzer/SKILL.md
  • .claude/skills/deployment-preflight/SKILL.md
  • .claude/skills/design-pattern-advisor/SKILL.md
  • .claude/skills/dotnet-core-expert/SKILL.md
  • .claude/skills/feature-forge/SKILL.md
  • .claude/skills/issue-creator/SKILL.md
  • .claude/skills/legacy-modernizer/SKILL.md
  • .claude/skills/mcp-developer/SKILL.md
  • .claude/skills/memory-optimization/SKILL.md
  • .claude/skills/monitoring-expert/SKILL.md
  • .claude/skills/owasp-audit/SKILL.md
  • .claude/skills/polyglot-analyzer/SKILL.md
  • .claude/skills/prompt-engineer/SKILL.md
  • .claude/skills/quality-analyzer/SKILL.md
  • .claude/skills/query-optimizer/SKILL.md
  • .claude/skills/readme-generator/SKILL.md
  • .claude/skills/refactor-planner/SKILL.md
  • .claude/skills/schema-reviewer/SKILL.md
  • .claude/skills/secret-scanner/SKILL.md
  • .claude/skills/smart-refactor/SKILL.md
  • .claude/skills/spec-miner/SKILL.md
  • .claude/skills/spec-writer/SKILL.md
  • .claude/skills/tdd-coach/SKILL.md
  • .claude/skills/tech-debt-tracker/SKILL.md
  • .claude/skills/tech-spike-planner/SKILL.md
  • .claude/skills/test-coverage-analyzer/SKILL.md
  • .claude/skills/test-generator/SKILL.md
  • .claude/skills/threat-modeler/SKILL.md
  • .github/SETUP-GUIDE.md
  • .github/copilot-instructions.md
  • .github/copilot-mcp.json
  • .github/copilot-setup-steps.yml
  • .github/docs/README.md
  • .github/docs/hooks-reference.md
  • .github/extensions/README.md
  • .github/extensions/build-guardian/extension.mjs
  • .github/extensions/context-optimizer/extension.mjs
  • .github/extensions/doc-sync/extension.mjs
  • .github/extensions/dotnet-conventions/extension.mjs
  • .github/extensions/research-first/extension.mjs
  • .github/extensions/security-scanner/extension.mjs
  • .github/extensions/superpowers/extension.mjs
  • .github/extensions/superpowers/skills/brainstorming.md
  • .github/extensions/superpowers/skills/executing-plans.md
  • .github/extensions/superpowers/skills/requesting-code-review.md
  • .github/extensions/superpowers/skills/subagent-driven-development.md
  • .github/extensions/superpowers/skills/systematic-debugging.md
  • .github/extensions/superpowers/skills/test-driven-development.md
  • .github/extensions/superpowers/skills/verification-before-completion.md
  • .github/extensions/superpowers/skills/writing-plans.md
  • .github/hooks/README.md
  • .github/hooks/secrets-scanner/scan-secrets.ps1
  • .github/instructions/README.md
  • .github/instructions/architecture/clean-architecture.instructions.md
  • .github/instructions/blazor/component-patterns.instructions.md
  • .github/instructions/cqrs/mediatr-patterns.instructions.md
  • .github/instructions/database/ef-core-patterns.instructions.md
  • .github/instructions/development/mvp-first.instructions.md
  • .github/instructions/domain/ddd-guidelines.instructions.md
  • .github/instructions/memory/memory-optimization.instructions.md
  • .github/instructions/planning.instructions.md
  • .github/instructions/resilience/polly-patterns.instructions.md
  • .github/instructions/security/owasp-top10.instructions.md
  • .github/instructions/testing/testing-standards.instructions.md
  • .github/lsp.json
  • .github/skills/CATALOG.md
  • .github/workflows/azure-functions.yml
  • .github/workflows/azure-static-web-apps.yml
  • .gitignore
  • .impeccable/design.json
  • .impeccable/live/config.json
  • AGENTS.md
  • AI_CHATBOT_DOCUMENTATION.md
  • AZURE_FUNCTIONS_HOSTING_MODELS.md
  • Api/Features/Booking/BookAppointmentFunction.cs
  • Api/Features/Booking/BookAppointmentRequest.cs
  • Api/Features/Chat/ChatFunction.cs
  • Api/Features/Chat/ChatRequest.cs
  • Api/Features/Chat/ChatResponse.cs
  • Api/Features/Contact/EmailRequest.cs
  • Api/Features/Contact/EmailSettings.cs
  • Api/Features/Contact/SendEmailFunction.cs
  • Api/Program.cs
  • Api/Properties/launchSettings.json
  • Api/Shared/Models/RateLimitOptions.cs
  • Api/Shared/Models/RateLimitRejectionReason.cs
  • Api/Shared/Models/RateLimitResult.cs
  • Api/Shared/Security/InputValidator.cs
  • Api/Shared/Services/IRateLimiterService.cs
  • Api/Shared/Services/RateLimiterService.cs
  • Api/host.json
  • BLUE_GREEN_DEPLOYMENT.md
  • CLAUDE.md.archived
  • COMPONENT_ARCHITECTURE.md
  • CONFIGURATION_BEST_PRACTICES.md
  • CloudZen.csproj
  • Common/Components/AnimatedCounterCircle.razor
  • Common/Components/AutomationProgressCard.razor
  • Common/Components/AutomationProgressCard.razor.cs
  • Common/Components/AutomationProgressCard.razor.css
  • Common/Components/Pagination.razor
  • Common/Components/Pagination.razor.cs
  • Common/Components/ScrollToTopButton.razor
  • Common/Options/BlobStorageOptions.cs
  • DESIGN.md
  • Features/Booking/BookingServiceOptions.cs
  • Features/Booking/Components/BookingCalendar.razor
  • Features/Booking/Components/BookingCalendar.razor.cs
  • Features/Booking/Components/BookingConfirmation.razor
  • Features/Booking/Components/BookingConfirmation.razor.cs
  • Features/Booking/Components/BookingContact.razor
  • Features/Booking/Components/BookingContact.razor.cs
  • Features/Booking/Components/BookingDetailsForm.razor
  • Features/Booking/Components/BookingDetailsForm.razor.cs
  • Features/Booking/Components/BookingSidebar.razor
  • Features/Booking/Components/BookingSidebar.razor.cs
  • Features/Booking/Components/BookingTimeSlots.razor
  • Features/Booking/Components/BookingTimeSlots.razor.cs
  • Features/Booking/Components/BookingTimeZonePicker.razor
  • Features/Booking/Components/BookingTimeZonePicker.razor.cs
  • Features/Booking/Components/ManageAppointmentCancel.razor
  • Features/Booking/Components/ManageAppointmentCancel.razor.cs
  • Features/Booking/Components/ManageAppointmentReschedule.razor
  • Features/Booking/Components/ManageAppointmentReschedule.razor.cs
  • Features/Booking/Models/AppointmentRequests.cs
  • Features/Booking/Models/AppointmentResponse.cs
  • Features/Booking/Models/BookingFormModel.cs
  • Features/Booking/Models/ManageAppointmentFormModels.cs
  • Features/Booking/Models/N8nBookingApiResponse.cs
  • Features/Booking/Services/AppointmentService.cs
  • Features/Booking/Services/BookingService.cs
  • Features/Booking/Services/GoogleCalendarUrlService.cs
  • Features/Booking/Services/IAppointmentService.cs
  • Features/Booking/Services/IBookingService.cs
  • Features/Booking/Services/IGoogleCalendarUrlService.cs
  • Features/Chat/ChatbotOptions.cs
  • Features/Chat/Components/CloudZenChatbot.razor
  • Features/Chat/Components/CloudZenChatbot.razor.cs
  • Features/Chat/Components/CloudZenChatbot.razor.css
  • Features/Chat/Models/ChatMessage.cs
  • Features/Chat/Services/ChatbotService.cs
  • Features/Chat/Services/IChatbotService.cs
  • Features/Contact/Components/ContactForm.razor
  • Features/Contact/Components/ContactForm.razor.cs
  • Features/Contact/EmailServiceOptions.cs
  • Features/Contact/Models/ContactFormModel.cs
  • Features/Contact/Models/EmailApiErrorResponse.cs
  • Features/Contact/Models/EmailApiRequest.cs
  • Features/Contact/Models/EmailApiResponse.cs
  • Features/Contact/Services/ApiEmailService.cs
  • Features/Contact/Services/IEmailService.cs
  • Features/Landing/Components/CTA.razor
  • Features/Landing/Components/CTA.razor.cs
  • Features/Landing/Components/CaseStudies.razor
  • Features/Landing/Components/CaseStudies.razor.cs
  • Features/Landing/Components/FeatureHighlightCard.razor
  • Features/Landing/Components/FeaturesShowcase.razor
  • Features/Landing/Components/FeaturesShowcase.razor.cs
  • Features/Landing/Components/HeroWarmTealWash.razor
  • Features/Landing/Components/HeroWarmTealWash.razor.cs
  • Features/Landing/Components/HeroWarmTealWash.razor.css
  • Features/Landing/Components/Mission.razor
  • Features/Landing/Components/Mission.razor.cs
  • Features/Landing/Components/Mission.razor.css
  • Features/Landing/Components/ServiceCard.razor
  • Features/Landing/Components/Services.razor
  • Features/Landing/Components/Services.razor.cs
  • Features/Landing/Components/StandardCard.razor
  • Features/Landing/Components/Testimonials.razor
  • Features/Landing/Components/ToolCardItem.razor
  • Features/Landing/Components/ToolsOverview.razor
  • Features/Landing/Components/ToolsOverview.razor.cs
  • Features/Landing/Models/FeatureHighlight.cs
  • Features/Landing/Models/ServiceInfo.cs
  • Features/Landing/Models/StandardInfo.cs
  • Features/Landing/Models/ToolInfo.cs
  • Features/Landing/Services/CaseStudyService.cs
  • Features/Landing/Services/FeatureHighlightService.cs
  • Features/Landing/Services/ICaseStudyService.cs
  • Features/Landing/Services/IFeatureHighlightService.cs
  • Features/Landing/Services/IMissionService.cs
  • Features/Landing/Services/IServiceOfferingsService.cs
  • Features/Landing/Services/IToolService.cs
  • Features/Landing/Services/MissionService.cs
  • Features/Landing/Services/ServiceOfferingsService.cs
  • Features/Landing/Services/ToolService.cs
  • Features/Legal/Components/Faq.razor
  • Features/Legal/Components/Faq.razor.cs
  • Features/Legal/Components/Faq.razor.css
  • Features/Legal/Components/PrivacyPolicy.razor
  • Features/Legal/Components/PrivacyPolicy.razor.cs
  • Features/Legal/Components/PrivacyPolicy.razor.css
  • Features/Legal/Components/TermsOfService.razor
  • Features/Legal/Components/TermsOfService.razor.cs
  • Features/Legal/Components/TermsOfService.razor.css
  • Features/Profile/Components/ProfileApproach.razor
  • Features/Profile/Components/ProfileHeader.razor
  • Features/Profile/Components/ProfileHighlights.razor
  • Features/Profile/Components/SDLCProcess.razor
  • Features/Profile/Components/SDLCProcess.razor.cs
  • Features/Profile/Components/SDLCProcess.razor.css
  • Features/Profile/Components/WhoIAm.razor
  • Features/Profile/Components/WhoIAm.razor.cs
  • Features/Profile/Models/SDLCStage.cs
  • Features/Profile/Services/ResumeService.cs
  • Features/Projects/Components/ProjectCard.razor
  • Features/Projects/Components/ProjectFilter.razor
  • Features/Projects/Models/AiAutomationDetails.cs
  • Features/Projects/Models/ProjectCategory.cs
  • Features/Projects/Models/ProjectInfo.cs
  • Features/Projects/Models/ProjectParticipant.cs
  • Features/Projects/Services/IProjectService.cs
  • Features/Projects/Services/ProjectService.cs
  • Features/Tickets/Components/Tickets.razor
  • Features/Tickets/Models/TicketDto.cs
  • Features/Tickets/Services/ITicketService.cs
  • Features/Tickets/Services/TicketService.cs
  • GEMINI.md.archived
  • Layout/Footer.razor
  • Layout/Footer.razor.cs
  • Layout/Footer.razor.css
  • Layout/Header.razor
  • Layout/Header.razor.cs
  • Layout/Header.razor.css
  • Layout/MainLayout.razor
  • NexSynapse/docs/insights/insight-log.md
  • PRODUCT.md
  • Pages/Contact.razor
  • Pages/Index.razor
  • Pages/ManageAppointment.razor
  • Program.cs
  • QUICK_FIX_RESOLUTION.md
  • Services/PersonalService.cs
  • Shared/Common/Tickets.razor
  • Shared/Landing/CTA.razor
  • Shared/Landing/CaseStudies.razor
  • Shared/Landing/Hero.razor
  • Shared/Landing/Mission.razor
  • Shared/Landing/Services.razor
  • Shared/Landing/ValueProposition.razor
  • Shared/Profile/ProfileApproach.razor
  • Shared/Profile/ProfileHighlights.razor
  • Shared/Profile/SDLCProcess.razor
  • Shared/Profile/WhoIAm.razor
  • Shared/Projects/ProjectCard.razor
  • Shared/Projects/ProjectFilter.razor
  • TAILWIND_CUSTOM_COLORS.md
  • _Imports.razor
  • docs/01-architecture/API_ENDPOINTS.md
  • docs/01-architecture/AZURE_FUNCTIONS.md
  • docs/01-architecture/COMPONENT_ARCHITECTURE.md
  • docs/01-architecture/CONFIGURATION.md
  • docs/01-architecture/VERTICAL_SLICE_ARCHITECTURE.md
  • docs/02-deployment/AZURE_FUNCTION_DEPLOYMENT.md
  • docs/02-deployment/DEPLOYMENT_CHECKLIST.md
  • docs/02-deployment/DEPLOYMENT_GUIDE.md
  • docs/03-features/01_FEATURE_CONTACT_FORM.md
  • docs/03-features/02_FEATURE_APPOINTMENT_SYSTEM.md
  • docs/03-features/03_FEATURE_CHATBOT.md
  • docs/03-features/04_FEATURE_BREVO_SMTP_MIGRATION.md
  • docs/03-features/README.md
  • docs/04-security/SECURITY_ALERT.md
  • docs/04-security/SECURITY_ENHANCEMENTS.md
  • docs/05-troubleshooting/01_cors_error_api.md
  • docs/05-troubleshooting/02_timespan_config_api.md
  • docs/05-troubleshooting/03_econnrefused_api.md
  • docs/05-troubleshooting/04_file_locked_build.md
  • docs/05-troubleshooting/05_brevo_apikey_api.md
  • docs/05-troubleshooting/06_dev_config_frontend.md
  • docs/05-troubleshooting/07_rate_limit_api.md
  • docs/05-troubleshooting/08_azurite_emulator_infrastructure.md
  • docs/05-troubleshooting/09_zero_functions_found_deployment.md
  • docs/05-troubleshooting/10_csp_blocks_cdn_frontend.md
  • docs/05-troubleshooting/11_cors_n8n_booking_frontend.md
  • docs/05-troubleshooting/12_component_parameter_mismatch_frontend.md
  • docs/05-troubleshooting/13_owasp_security_audit_fixes.md
  • docs/05-troubleshooting/QUICK_FIX_RESOLUTION.md
  • docs/05-troubleshooting/TESTING_LOCALLY.md
  • docs/06-patterns/01_azure_functions_proxy_api.md
  • docs/06-patterns/02_ui_color_design_system.md
  • docs/06-patterns/03_request_response_token_awareness.md
  • docs/06-patterns/PATTERNS.md
  • docs/07-planning/01_GOOGLE_DOCS_KNOWLEDGE_BASE.md
  • docs/07-planning/appointment-verify-booking-changes.md
  • docs/07-planning/plan-landing-page-hero-text-formatting-improvements-final.md
  • docs/08-N8N/appointment-reminders-workflow.md
  • docs/08-N8N/appointment-system-v3.md
  • docs/08-N8N/appointment-verify-action-workflow.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/.claude-plugin/marketplace.json
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/.claude-plugin/plugin.json
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/LICENSE
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript/BUILTIN_FUNCTIONS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript/COMMON_PATTERNS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript/DATA_ACCESS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript/ERROR_PATTERNS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-javascript/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python/COMMON_PATTERNS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python/DATA_ACCESS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python/ERROR_PATTERNS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-code-python/STANDARD_LIBRARY.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-expression-syntax/COMMON_MISTAKES.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-expression-syntax/EXAMPLES.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-expression-syntax/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-expression-syntax/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-mcp-tools-expert/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-mcp-tools-expert/SEARCH_GUIDE.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-mcp-tools-expert/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-node-configuration/DEPENDENCIES.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-node-configuration/OPERATION_PATTERNS.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-node-configuration/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-node-configuration/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-validation-expert/ERROR_CATALOG.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-validation-expert/FALSE_POSITIVES.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-validation-expert/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-validation-expert/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/README.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/SKILL.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/ai_agent_workflow.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/database_operations.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/http_api_integration.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/scheduled_tasks.md
  • docs/08-N8N/n8n-mcp-skills-v1.9.0/skills/n8n-workflow-patterns/webhook_processing.md
  • docs/CONFIGURATION_MANAGEMENT.md
  • staticwebapp.config.json
  • wwwroot/appsettings.Staging.json
  • wwwroot/css/app.css
  • wwwroot/css/motion.css
  • wwwroot/images/features/autopilot.webp
  • wwwroot/images/features/custom-systems.webp
  • wwwroot/images/features/data-insights.webp
  • wwwroot/images/features/faster-result.webp
  • wwwroot/images/features/modernize-systems.webp
  • wwwroot/images/hero_backgound.webp
  • wwwroot/index.html
  • wwwroot/js/anim.js
  • wwwroot/js/scroll-reveal.js
  • wwwroot/js/timeline-observer.js
  • wwwroot/manifest.webmanifest
  • wwwroot/service-worker.published.js

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch development

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

… conflicts

Workflow conflicts (azure-functions.yml, azure-static-web-apps.yml): kept
development's simplified no-blue-green version per this session's decision
to drop staging entirely. SendEmailFunction.cs: kept both sides - merged in
master's Brevo SMTP certificate validation hardening (OWASP A02) alongside
development's current file location/structure.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dariemcarlosdev
dariemcarlosdev merged commit a95ebcb into master Jul 25, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants