-
Notifications
You must be signed in to change notification settings - Fork 14
Description
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:
- Transforms SLIM from documentation to an intelligent tool that uses AI to customize best practices for each specific repository
- Enables community contribution through a standardized format for sharing AI-powered templates and prompts
- Leverages the MCP ecosystem to integrate with multiple tools (Claude Desktop, Cursor, VS Code, etc.)
- 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
Key Components
-
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
-
SLIM MCP Client (New)
- Orchestrates operations between multiple MCP servers
- Handles AI inference using LiteLLM or similar framework
- Provides unified interface to host applications
-
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
- Existing templates will be converted to new format
- Legacy CLI commands will be supported with deprecation warnings
- Documentation will guide users through transition
- 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
- Priority Features: Which features are most important to you?
- AI Providers: Which AI services should we prioritize?
- Template Categories: What best practices would you like to see?
- Migration Timeline: How long should we maintain legacy support?
- Contribution Model: Would you contribute custom templates?
Resources
- [MCP Specification](https://spec.modelcontextprotocol.io/)
- [Full SLIM-AI Specification Document](link-to-detailed-spec)
- [Prototype Branch](link-to-prototype)
Next Steps
- Community Feedback: Gather input on this proposal
- Prototype Development: Build proof-of-concept
- Design Review: Finalize architecture based on feedback
- 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