Skip to content

Release from Development#779

Merged
anandmindfire merged 14 commits intomainfrom
development
Apr 17, 2026
Merged

Release from Development#779
anandmindfire merged 14 commits intomainfrom
development

Conversation

@anandmindfire
Copy link
Copy Markdown
Collaborator

@anandmindfire anandmindfire commented Apr 17, 2026

Release from Development

New Components or Component API Changes

  • Added AdvancedSearchForm compound component system with multiple sub-components:
    • Filter components: SearchTextFilter, SearchSelectFilter, SearchMultiSelectFilter, SearchDateRangeFilter, SearchCheckboxFilter, SearchNumericRangeFilter
    • Layout and utility components: SearchFilters, SearchActions, SearchSavedSearches, SearchFacetedHints, SearchResultsCount, SearchFilterRenderer
    • Extensive TypeScript types and interfaces for filter configuration, values, saved searches, and component props
  • Redesigned AdvancedSearchForm from provider-based architecture to compound component pattern with static properties for subcomponents
  • Added responsive behavior with mobile/tablet/desktop detection and collapsible filter layout on mobile
  • Implemented auto-apply filtering with debounce support and dynamic filter application logic

Bug Fixes

  • Fixed TypeScript typechecking issues in ScrollArea component:
    • Explicitly cast viewportMaskStyle to proper type in ScrollAreaPrimitive.Viewport style prop
    • Cast props spread to HTMLMotionProps<"div"> in motion.div component
  • Applied fixes across docs, storybook, and registry versions of scroll-area

Tooling / Config Changes

  • Added new ignix-mcp-server package with:
    • MCP server implementation and CLI binary
    • Six MCP tools: create_react_project, list_components, add_component, generate_template, validate_ignix_only, get_component_docs
    • Tool implementations with validation, error handling, and structured responses
    • Resource handlers and audit logging
  • Added mcp-status command to check MCP configuration across multiple clients (Cursor, Claude Desktop, VS Code, Windsurf)
  • Restructured mcp-init command with new options (--dry-run, --latest, --universal) and added Windsurf client support
  • Removed embedded MCP server from CLI tool and moved to dedicated package
  • Updated CLI type definitions and error handling utilities
  • Changed service configuration loading from eager to lazy initialization
  • Updated llms.txt with new MCP-tools-first instructions and three-scenario workflow

Docs / Storybook Updates

  • Completely rewrote AdvancedSearchForm Storybook stories with 16 new stories covering:
    • Basic usage, manual apply, compound components patterns
    • Saved searches and faceted hints integration
    • All filter types showcase
    • Light/dark theme variants
    • Responsive layouts (inline, collapsible)
    • Domain-specific demos (user management, product catalog)
    • Real-time search with debounce
    • Custom filter renderer patterns
  • Updated AdvancedSearchForm documentation with new manual installation and API reference
  • Updated advanced search form demo component to showcase new component API
  • Added comprehensive test suite (836 lines) for AdvancedSearchForm covering rendering, interactions, accessibility, and edge cases
  • Updated registry entry for advanced-search-form with template classification and dependencies

Breaking Changes

  • AdvancedSearchForm component API completely redesigned: moved from SearchProvider-based composable pattern with SearchHeader, SearchTabs, SearchResults, SearchPagination to new compound component pattern with attached static subcomponents
  • All Storybook stories for AdvancedSearchForm replaced; old stories (Default, WithPresets, WithThemes, etc.) removed
  • MCP configuration structure moved from root mcp.json to packages/ignix-mcp-server/mcp.json; original root mcp.json removed

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 17, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

This PR introduces a comprehensive MCP (Model Context Protocol) server infrastructure for AI-driven CLI tooling, completely reimplements the Advanced Search Form from a provider-based to a compound-component architecture with filter/action/result subcomponents, applies type-safety fixes across scroll-area implementations, and includes extensive documentation, stories, and test coverage for the new form component.

Changes

Cohort / File(s) Summary
Advanced Search Form - Component Implementation
packages/registry/templates/pages/advanced-search-form/index.tsx
New 1745-line template introducing a full compound-component form system with typed filter configuration (text/select/multi-select/date-range/checkbox/numeric-range), React context-driven state, responsive collapsible layout, and exported subcomponents (SearchFilters, SearchActions, SearchSavedSearches, SearchFacetedHints, SearchResultsCount).
Advanced Search Form - Demo & Stories
apps/docs/src/components/Demo/AdvancedSearchFormDemo.tsx, apps/storybook/src/templates/pages/form-pages/advanced-search-form/advanced-search-form.stories.tsx
Replaced SearchProvider-based demos/stories with new AdvancedSearchForm-centered examples; removed preset/theme/debug toggles, added interactive filter chains, debounced search, and saved-search workflows (+1078/-322 in demo, +1232/-625 in stories).
Advanced Search Form - Tests & Registry
packages/registry/templates/pages/advanced-search-form/advanced-search-form.test.tsx, packages/registry/registry.json
Added 836-line Vitest suite covering rendering, interaction, accessibility, and all filter types; registered component in registry with dependencies (lucide-react, class-variance-authority, framer-motion, typography, datePicker, checkbox).
Advanced Search Form - Documentation
apps/docs/versioned_docs/version-1.0.3/templates/pages/forms/advanced-search-form.mdx
Replaced prior example with comprehensive manual usage snippet, TypeScript types/interfaces, new component API surface, and compound-component attachment patterns (+2124/-63).
Scroll-Area Type Casting Fixes
apps/docs/src/components/UI/scroll-area/index.tsx, apps/storybook/src/templates/pages/form-pages/.../scroll-area/index.tsx, packages/registry/components/scroll-area/index.tsx
Applied explicit type casts to viewportMaskStyle (ScrollAreaPrimitive.Viewport style) and motion.div props (HTMLMotionProps<"div">) across three implementations for type safety.
MCP Server Package - Core
packages/ignix-mcp-server/src/index.ts, packages/ignix-mcp-server/mcp.json, packages/ignix-mcp-server/package.json
New MCP server entrypoint with stdio transport, per-tool rate limiting (30 req/min), tool dispatch, resource handling, and audit logging; includes manifest defining 6 tools (create_react_project, list_components, add_component, generate_template, validate_ignix_only, get_component_docs).
MCP Server - Tool Implementations
packages/ignix-mcp-server/src/tools/{create-project,add-component,generate-template,list-components,validate-ignix-only,get-component-docs,init-project}.ts
Six tool modules implementing React project creation with Tailwind setup, component installation with Ignix init fallback, template generation, component listing/search with pagination, validation of Ignix-only constraints, and component documentation retrieval from registry.
MCP Server - Resources & Configuration
packages/ignix-mcp-server/src/resources/{docs-content,ignix-rules,registry-summary}.ts
Resource modules providing markdown rules/quick-reference, strict workflow constraints, and dynamic registry summary generation; includes hardcoded validation patterns and component discovery logic.
MCP Server - Build & Setup
packages/ignix-mcp-server/tsconfig.json, packages/ignix-mcp-server/tsup.config.ts, packages/ignix-mcp-server/.gitignore, packages/ignix-mcp-server/CHANGELOG.md, packages/ignix-mcp-server/package.json
TypeScript/build configuration for Node.js ESM output with shebang banner, npm package metadata (entry dist/index.js, CLI binary ignix-mcp), and changelog documenting tool features, dry-run support, and rate limiting.
CLI Tool - MCP Commands
packages/cli-tool/src/commands/mcp-init.ts, packages/cli-tool/src/commands/mcp-status.ts
mcp-init: refactored with optional --client, new --dry-run/--latest/--universal flags, client-specific config paths, merge logic for existing JSON, added windsurf client support. mcp-status: new command scanning multiple clients, checking Ignix server presence, comparing versions against npm registry, and outputting colored/JSON reports.
CLI Tool - Infrastructure
packages/cli-tool/src/types/index.ts, packages/cli-tool/src/utils/error-handler.ts, packages/cli-tool/src/utils/error-handler.d.ts, packages/cli-tool/src/utils/error-handler.js
New types module defining MCP configs, client status, tools/resources, and domain args; error utilities normalize unknown errors and wrap success/failure responses in structured JSON content payloads.
CLI Tool - Integration
packages/cli-tool/src/index.ts, packages/cli-tool/src/services/{ComponentService,TemplateService}.ts, packages/cli-tool/tsconfig.json, packages/cli-tool/package.json
Updated interactive CLI with "MCP Server" menu, mcp init/mcp status subcommands, switched component selection to multiselect; refactored config loading to lazy async getConfig() in services; added mcp.json to publishable files.
Project Documentation
llms.txt, (removed) mcp.json
Rewrote llms.txt with MCP-tools-first guidance and THREE SCENARIOS (empty folder, existing project without config, configured Ignix project); deleted root mcp.json (now moved to server package).

Sequence Diagram

sequenceDiagram
    participant Client as CLI Client
    participant Server as MCP Server
    participant Tool as Tool Handler
    participant Exec as Shell/File System
    participant Registry as Component Registry

    Client->>Server: CallToolRequest (rate limit check)
    alt Rate Limit Exceeded
        Server-->>Client: MCP Error (429)
    else Within Limit
        Server->>Tool: Dispatch tool (create_react_project, add_component, etc.)
        alt Template Execution Tool
            Tool->>Exec: Execute shell command (placeholder substitution)
            Exec-->>Tool: Command output/error
            Tool->>Tool: Parse JSON (if possible)
        else Direct Implementation Tool
            Tool->>Exec: File system checks (package.json, ignix.config.js)
            Exec-->>Tool: File existence/content
            Tool->>Exec: Run ignix CLI with fallbacks
            Exec-->>Tool: CLI output
        end
        Tool->>Registry: Query component/template data (for docs tool)
        Registry-->>Tool: Registry entry
        Tool->>Tool: Format structured response { isError, content }
        Tool-->>Server: Response object
        Server->>Server: Log to stderr (audit: timestamp, args, success, duration)
        Server-->>Client: MCP Response (JSON content)
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

This diff introduces substantial new functionality across heterogeneous areas: an entire MCP server package with multiple tool implementations, a complete rewrite of the Advanced Search Form component (now using compound-component patterns with context), CLI refactoring with new initialization/status workflows, TypeScript type fixes, and comprehensive test/story coverage. While individual tool implementations and filter components follow repeatable patterns, the breadth of changes, new MCP infrastructure, and integration points between CLI→MCP→Tools require careful verification of correctness.

Possibly related PRs

Suggested labels

component: new, component: enhancement, cli, docs, tests, breaking change, mcp

Suggested reviewers

  • deepakyadav-01
🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 11.90% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Release from Development' is vague and generic, providing no meaningful information about the changeset beyond branch names. Use a descriptive title summarizing the main deliverables. Examples: 'Add Advanced Search Form component with MCP server integration' or 'Release: Advanced Search Form, MCP CLI improvements, and type fixes'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 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 and usage tips.

@anandmindfire anandmindfire merged commit f1d085d into main Apr 17, 2026
3 of 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.

3 participants