Skip to content

[RFC] SLIM-AI: Complete Refactoring to MCP-Based Architecture for AI-Powered Best Practice Application #208

@riverma

Description

@riverma

Summary

This issue proposes a complete refactoring of the SLIM-CLI project to transform it from a primarily guides and written text-oriented resource into a powerful, AI-driven tool that leverages the Model Context Protocol (MCP) for applying software best practices. This represents a fundamental shift in how SLIM delivers value - from static documentation to dynamic, intelligent automation that adapts to each repository's unique context.

Background

The current SLIM ecosystem consists of:

  • SLIM Repository: Static best practice guides in Markdown format
  • SLIM-CLI: Python-based CLI tool that applies templates to repositories

While valuable, this approach has limitations:

  • Templates are relatively static and require manual customization
  • Limited ability to adapt to different repository contexts
  • No standardized way for the community to contribute and share AI-enhanced best practices
  • Tight coupling between the CLI logic and template application

Proposed Solution: SLIM-AI

We propose reimagining SLIM as SLIM-AI, a modular, MCP-based system that:

  1. Transforms SLIM from documentation to an intelligent tool that uses AI to customize best practices for each specific repository
  2. Enables community contribution through a standardized format for sharing AI-powered templates and prompts
  3. Leverages the MCP ecosystem to integrate with multiple tools (Claude Desktop, Cursor, VS Code, etc.)
  4. Provides multiple interfaces (Desktop app, CLI, and future web interface) while maintaining a single core

Architecture Overview

High-Level Design

graph TB
    subgraph "Host Layer"
        Desktop["Desktop App<br/>(Electron + React)"]
        CLI["CLI<br/>(Command Line)"]
        Web["Web App<br/>(Future)"]
    end
    
    subgraph "SLIM MCP Client"
        ConnMgr["Connection<br/>Manager"]
        AI["AI Engine<br/>(LiteLLM)"]
        Orchestrator["Operation<br/>Orchestrator"]
    end
    
    subgraph "MCP Servers"
        SLIM["SLIM MCP<br/>Server"]
        GitHub["GitHub MCP<br/>Server"]
        Git["Git MCP<br/>Server"]
        FS["FileSystem<br/>MCP Server"]
        Others["Other MCP<br/>Servers..."]
    end
    
    Desktop --> ConnMgr
    CLI --> ConnMgr
    Web --> ConnMgr
    
    ConnMgr --> AI
    ConnMgr --> Orchestrator
    AI --> Orchestrator
    
    Orchestrator --> SLIM
    Orchestrator --> GitHub
    Orchestrator --> Git
    Orchestrator --> FS
    Orchestrator --> Others
    
    style Desktop fill:#e1f5fe
    style CLI fill:#e1f5fe
    style Web fill:#fff3e0
    style SLIM fill:#c8e6c9
    style AI fill:#ffccbc
Loading

Key Components

  1. SLIM MCP Server (Extended from existing implementation)

    • Exposes templates as MCP resources
    • Provides AI prompts for template customization
    • Loads everything from filesystem (no hardcoded content)
    • Supports both STDIO and HTTP transports
  2. SLIM MCP Client (New)

    • Orchestrates operations between multiple MCP servers
    • Handles AI inference using LiteLLM or similar framework
    • Provides unified interface to host applications
  3. Host Applications

    • Desktop App: Electron + React dashboard for visual interaction
    • CLI: Command-line interface for automation and CI/CD
    • Website (Current): Refactor current SLIM Docusaurus website to serve as a search / find tool for available best practice recipes to use with the other host applications. Also the current documentation source.
    • Web-tool (Future): Browser-based interface for remote access

Key Features

1. AI-Powered Customization

  • Templates are intelligently adapted to each repository's context
  • Support for multiple AI providers (Anthropic, OpenAI, Ollama)
  • AI-guided template filling based on repository analysis

2. MCP Standards Compliance

  • Full compatibility with MCP specification
  • Works with any MCP client (not just our applications)
  • Integrates with existing MCP servers (GitHub, Git, FileSystem)

3. Community Contribution Model

  • Filesystem-based templates and prompts
  • Easy creation of custom templates
  • Future: Template marketplace for sharing

4. Batch Processing

  • Apply best practices to multiple repositories simultaneously
  • Maintain consistency across organization's projects
  • Efficient parallel processing

5. Visual Diff Preview

  • Review changes before applying
  • Understand exactly what will be modified
  • Undo/rollback capabilities

Benefits

For Users

  • Intelligent Automation: AI customizes best practices to your specific needs
  • Visual Interface: Desktop app makes it easy to apply practices
  • Flexibility: Use CLI, desktop, or integrate with your favorite IDE
  • Quality: AI ensures consistent, high-quality implementations

For Contributors

  • Standardized Format: Clear structure for creating templates
  • AI Enhancement: Add intelligence to your best practices
  • Wider Reach: Templates work across multiple tools via MCP
  • Community Growth: Share and discover practices

For the SLIM Project

  • Evolution: Transform from static guides to dynamic tool
  • Relevance: Stay current with AI-driven development trends
  • Adoption: Lower barrier to entry with visual interfaces
  • Ecosystem: Join the growing MCP ecosystem

Breaking Changes

This refactoring will introduce breaking changes:

  • New CLI command structure (though we'll maintain aliases for compatibility)
  • Templates moved to filesystem-based format
  • Configuration file format changes
  • New dependencies (Electron for desktop, MCP libraries)

Migration Path

  1. Existing templates will be converted to new format
  2. Legacy CLI commands will be supported with deprecation warnings
  3. Documentation will guide users through transition
  4. Phased rollout with parallel support period

Technical Requirements

  • Node.js 18+ (for Electron and MCP servers)
  • Python 3.9+ (for CLI compatibility layer)
  • TypeScript (primary development language)
  • React (for desktop UI)

Questions for Community

  1. Priority Features: Which features are most important to you?
  2. AI Providers: Which AI services should we prioritize?
  3. Template Categories: What best practices would you like to see?
  4. Migration Timeline: How long should we maintain legacy support?
  5. Contribution Model: Would you contribute custom templates?

Resources

Next Steps

  1. Community Feedback: Gather input on this proposal
  2. Prototype Development: Build proof-of-concept
  3. Design Review: Finalize architecture based on feedback
  4. Implementation: Begin phased development

Call to Action

This represents a significant evolution of the SLIM project. We're transforming from a collection of best practice guides into an intelligent, AI-powered tool that can automatically apply and customize these practices for any repository.

We need your feedback! Please comment with:

  • Your thoughts on this direction
  • Features you'd like to see
  • Concerns about the refactoring
  • Willingness to contribute

Together, we can build a tool that not only documents best practices but intelligently applies them, making high-quality software development more accessible to everyone.

/cc @NASA-AMMOS/slim-tsc @NASA-AMMOS/slim-maintainers

Metadata

Metadata

Assignees

No one assigned

    Labels

    high complexityTicket has multiple difficult sub-tasks

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions