Metadata-Version: 2.4
Name: slim-cli
Version: 2.0.0
Summary: Automation of the application of software lifecycle best practices to your GitHub repositories
Project-URL: Homepage, https://github.com/SLIM/slim-cli
Project-URL: Issues, https://github.com/SLIM/slim-cli/issues
Author-email: Rishi Verma <Rishi.Verma@jpl.nasa.gov>, Kyongsik Yun <kyongsik.yun@jpl.nasa.gov>, Sean Kelly <kelly@seankelly.biz>
License:                                  Apache License
                                   Version 2.0, January 2004
                                http://www.apache.org/licenses/
        
           TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
        
           1. Definitions.
        
              "License" shall mean the terms and conditions for use, reproduction,
              and distribution as defined by Sections 1 through 9 of this document.
        
              "Licensor" shall mean the copyright owner or entity authorized by
              the copyright owner that is granting the License.
        
              "Legal Entity" shall mean the union of the acting entity and all
              other entities that control, are controlled by, or are under common
              control with that entity. For the purposes of this definition,
              "control" means (i) the power, direct or indirect, to cause the
              direction or management of such entity, whether by contract or
              otherwise, or (ii) ownership of fifty percent (50%) or more of the
              outstanding shares, or (iii) beneficial ownership of such entity.
        
              "You" (or "Your") shall mean an individual or Legal Entity
              exercising permissions granted by this License.
        
              "Source" form shall mean the preferred form for making modifications,
              including but not limited to software source code, documentation
              source, and configuration files.
        
              "Object" form shall mean any form resulting from mechanical
              transformation or translation of a Source form, including but
              not limited to compiled object code, generated documentation,
              and conversions to other media types.
        
              "Work" shall mean the work of authorship, whether in Source or
              Object form, made available under the License, as indicated by a
              copyright notice that is included in or attached to the work
              (an example is provided in the Appendix below).
        
              "Derivative Works" shall mean any work, whether in Source or Object
              form, that is based on (or derived from) the Work and for which the
              editorial revisions, annotations, elaborations, or other modifications
              represent, as a whole, an original work of authorship. For the purposes
              of this License, Derivative Works shall not include works that remain
              separable from, or merely link (or bind by name) to the interfaces of,
              the Work and Derivative Works thereof.
        
              "Contribution" shall mean any work of authorship, including
              the original version of the Work and any modifications or additions
              to that Work or Derivative Works thereof, that is intentionally
              submitted to Licensor for inclusion in the Work by the copyright owner
              or by an individual or Legal Entity authorized to submit on behalf of
              the copyright owner. For the purposes of this definition, "submitted"
              means any form of electronic, verbal, or written communication sent
              to the Licensor or its representatives, including but not limited to
              communication on electronic mailing lists, source code control systems,
              and issue tracking systems that are managed by, or on behalf of, the
              Licensor for the purpose of discussing and improving the Work, but
              excluding communication that is conspicuously marked or otherwise
              designated in writing by the copyright owner as "Not a Contribution."
        
              "Contributor" shall mean Licensor and any individual or Legal Entity
              on behalf of whom a Contribution has been received by Licensor and
              subsequently incorporated within the Work.
        
           2. Grant of Copyright License. Subject to the terms and conditions of
              this License, each Contributor hereby grants to You a perpetual,
              worldwide, non-exclusive, no-charge, royalty-free, irrevocable
              copyright license to reproduce, prepare Derivative Works of,
              publicly display, publicly perform, sublicense, and distribute the
              Work and such Derivative Works in Source or Object form.
        
           3. Grant of Patent License. Subject to the terms and conditions of
              this License, each Contributor hereby grants to You a perpetual,
              worldwide, non-exclusive, no-charge, royalty-free, irrevocable
              (except as stated in this section) patent license to make, have made,
              use, offer to sell, sell, import, and otherwise transfer the Work,
              where such license applies only to those patent claims licensable
              by such Contributor that are necessarily infringed by their
              Contribution(s) alone or by combination of their Contribution(s)
              with the Work to which such Contribution(s) was submitted. If You
              institute patent litigation against any entity (including a
              cross-claim or counterclaim in a lawsuit) alleging that the Work
              or a Contribution incorporated within the Work constitutes direct
              or contributory patent infringement, then any patent licenses
              granted to You under this License for that Work shall terminate
              as of the date such litigation is filed.
        
           4. Redistribution. You may reproduce and distribute copies of the
              Work or Derivative Works thereof in any medium, with or without
              modifications, and in Source or Object form, provided that You
              meet the following conditions:
        
              (a) You must give any other recipients of the Work or
                  Derivative Works a copy of this License; and
        
              (b) You must cause any modified files to carry prominent notices
                  stating that You changed the files; and
        
              (c) You must retain, in the Source form of any Derivative Works
                  that You distribute, all copyright, patent, trademark, and
                  attribution notices from the Source form of the Work,
                  excluding those notices that do not pertain to any part of
                  the Derivative Works; and
        
              (d) If the Work includes a "NOTICE" text file as part of its
                  distribution, then any Derivative Works that You distribute must
                  include a readable copy of the attribution notices contained
                  within such NOTICE file, excluding those notices that do not
                  pertain to any part of the Derivative Works, in at least one
                  of the following places: within a NOTICE text file distributed
                  as part of the Derivative Works; within the Source form or
                  documentation, if provided along with the Derivative Works; or,
                  within a display generated by the Derivative Works, if and
                  wherever such third-party notices normally appear. The contents
                  of the NOTICE file are for informational purposes only and
                  do not modify the License. You may add Your own attribution
                  notices within Derivative Works that You distribute, alongside
                  or as an addendum to the NOTICE text from the Work, provided
                  that such additional attribution notices cannot be construed
                  as modifying the License.
        
              You may add Your own copyright statement to Your modifications and
              may provide additional or different license terms and conditions
              for use, reproduction, or distribution of Your modifications, or
              for any such Derivative Works as a whole, provided Your use,
              reproduction, and distribution of the Work otherwise complies with
              the conditions stated in this License.
        
           5. Submission of Contributions. Unless You explicitly state otherwise,
              any Contribution intentionally submitted for inclusion in the Work
              by You to the Licensor shall be under the terms and conditions of
              this License, without any additional terms or conditions.
              Notwithstanding the above, nothing herein shall supersede or modify
              the terms of any separate license agreement you may have executed
              with Licensor regarding such Contributions.
        
           6. Trademarks. This License does not grant permission to use the trade
              names, trademarks, service marks, or product names of the Licensor,
              except as required for reasonable and customary use in describing the
              origin of the Work and reproducing the content of the NOTICE file.
        
           7. Disclaimer of Warranty. Unless required by applicable law or
              agreed to in writing, Licensor provides the Work (and each
              Contributor provides its Contributions) on an "AS IS" BASIS,
              WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
              implied, including, without limitation, any warranties or conditions
              of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
              PARTICULAR PURPOSE. You are solely responsible for determining the
              appropriateness of using or redistributing the Work and assume any
              risks associated with Your exercise of permissions under this License.
        
           8. Limitation of Liability. In no event and under no legal theory,
              whether in tort (including negligence), contract, or otherwise,
              unless required by applicable law (such as deliberate and grossly
              negligent acts) or agreed to in writing, shall any Contributor be
              liable to You for damages, including any direct, indirect, special,
              incidental, or consequential damages of any character arising as a
              result of this License or out of the use or inability to use the
              Work (including but not limited to damages for loss of goodwill,
              work stoppage, computer failure or malfunction, or any and all
              other commercial damages or losses), even if such Contributor
              has been advised of the possibility of such damages.
        
           9. Accepting Warranty or Additional Liability. While redistributing
              the Work or Derivative Works thereof, You may choose to offer,
              and charge a fee for, acceptance of support, warranty, indemnity,
              or other liability obligations and/or rights consistent with this
              License. However, in accepting such obligations, You may act only
              on Your own behalf and on Your sole responsibility, not on behalf
              of any other Contributor, and only if You agree to indemnify,
              defend, and hold each Contributor harmless for any liability
              incurred by, or claims asserted against, such Contributor by reason
              of your accepting any such warranty or additional liability.
        
           END OF TERMS AND CONDITIONS
        
              Copyright (c) 2022 California Institute of Technology ("Caltech").
              U.S. Government sponsorship acknowledged.
        
              All rights reserved.
        
              Redistribution and use in source and binary forms, with or without modification, are permitted provided
              that the following conditions are met:
              * Redistributions of source code must retain the above copyright notice, this list of conditions and
              the following disclaimer.
              * Redistributions in binary form must reproduce the above copyright notice, this list of conditions
              and the following disclaimer in the documentation and/or other materials provided with the
              distribution.
              * Neither the name of Caltech nor its operating division, the Jet Propulsion Laboratory, nor the
              names of its contributors may be used to endorse or promote products derived from this software
              without specific prior written permission.
        
              THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
              IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
              THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
              PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
              CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
              EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
              PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
              OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
              WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
              OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
              ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
           Licensed under the Apache License, Version 2.0 (the "License");
           you may not use this file except in compliance with the License.
           You may obtain a copy of the License at
        
               http://www.apache.org/licenses/LICENSE-2.0
        
           Unless required by applicable law or agreed to in writing, software
           distributed under the License is distributed on an "AS IS" BASIS,
           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
           See the License for the specific language governing permissions and
           limitations under the License.
License-File: LICENSE
Keywords: ammos,automation,development,nasa,practice,slim,software
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: azure-identity~=1.17.1
Requires-Dist: click~=8.1.0
Requires-Dist: gitpython~=3.1.43
Requires-Dist: jinja2~=3.1.0
Requires-Dist: litellm>=1.40.0
Requires-Dist: numpy~=2.0.2
Requires-Dist: ollama~=0.3.1
Requires-Dist: openai~=1.42.0
Requires-Dist: pip>=25.1.1
Requires-Dist: python-dotenv~=1.0.1
Requires-Dist: pyyaml~=6.0.1
Requires-Dist: requests~=2.32.3
Requires-Dist: rich>=13.9.4
Requires-Dist: typer>=0.9.0
Description-Content-Type: text/markdown

<hr>

<div align="center">

<h1 align="center">SLIM CLI Tool</h1>

</div>

<pre align="center">Automate the application of best practices to your git repositories</pre>

<!-- Header block for project -->
[![SLIM](https://img.shields.io/badge/Best%20Practices%20from-SLIM-blue)](https://nasa-ammos.github.io/slim/)
<!-- ☝️ Add badges via: https://shields.io e.g. ![](https://img.shields.io/github/your_chosen_action/NASA-AMMOS/your_repo) ☝️ -->

<img width="1242" alt="slim-cli-demo" src="https://nasa-ammos.github.io/slim/img/tools/slim-cli-demo-apply.gif">

SLIM CLI is a command-line tool designed to infuse SLIM best practices seamlessly with your development workflow. It fetches and applies structured SLIM best practices directly into your Git repositories. The tool leverages artificial intelligence capabilities to customize and tailor the application of SLIM best practices based on your repository's specifics.

[Website](https://nasa-ammos.github.io/slim/) | [Docs/Wiki](https://nasa-ammos.github.io/slim/docs) | [Discussion Board](https://nasa-ammos.github.io/slim/forum) | [Issue Tracker](https://github.com/NASA-AMMOS/slim-cli/issues)

📺 **[View demonstration videos and detailed tutorials](https://nasa-ammos.github.io/slim/docs/tools#slim-cli)**

## Features

- **Modern CLI Interface**: List, patch, and infuse SLIM best practices into your Git repository workflow using a seamless terminal interface
- **Rich Terminal Experience**: Colored output with emojis, progress indicators, and interactive commands with dry-run mode support
- **Fetches the latest SLIM best practices** dynamically from SLIM's registry the moment they change
- **Patches and pushes**, SLIM best practices to your repository and pushes up to your Git remote (i.e. GitHub) - all automatically
- **AI Enabled**: 100+ AI models to automatically infuse best practices using AI customization for your repository
- **Extensible Architecture**: Easy-to-extend best practice system with centralized mapping and YAML configuration

## Contents

- [Features](#features)
- [Contents](#contents)
- [Quick Start](#quick-start)
  - [Requirements](#requirements)
  - [Setup Instructions via pip (Recommended for most users)](#setup-instructions-via-pip-recommended-for-most-users)
  - [Run Instructions](#run-instructions)
- [Generate Documentation](#generate-documentation)
- [Discover and Manage AI Models](#discover-and-manage-ai-models)
- [MCP Plugin Integration](#mcp-plugin-integration)
- [Changelog](#changelog)
- [Frequently Asked Questions (FAQ)](#frequently-asked-questions-faq)
- [Contributing](#contributing)
  - [Setup for Local Development (For Contributors)](#setup-for-local-development-for-contributors)
  - [Running Tests](#running-tests)
  - [Publishing a New Version](#publishing-a-new-version)
- [License](#license)
- [Support](#support)

## Quick Start

This guide provides a quick way to get started with our project. Please see our [docs](https://nasa-ammos.github.io/slim/docs) for a more comprehensive overview.

### Requirements

* Python 3.10+ (recommended for MCP server integration)
* Git
* **Optional**: LiteLLM for enhanced AI model support (automatically installed with slim-cli)
* **Optional**: API keys for cloud AI models - if using cloud models, set the appropriate environment variable:
  ```bash
  # Use the slim models setup command to see provider-specific instructions
  slim models setup <provider>
  
  # Example: slim models setup openai
  # Example: slim models setup anthropic
  ```
* **Optional**: For local AI models (e.g., Ollama), follow the setup instructions:
  ```bash
  slim models setup ollama
  ```

### Setup Instructions via pip (Recommended for most users)

As the SLIM CLI is written in Python, you'll need Python 3.9 or later. Usually, you'll want to create a virtual environment in order to isolate the dependencies of SLIM from other Python-using applications. Install into that environment using `pip`:

    pip install slim-cli

This installs the latest SLIM CLI and its dependencies from the [Python Package Index](https://pypi.org/). The new console script `slim` is now ready for use. Confirm by running either:

    slim --version
    slim --help

To upgrade:

    pip install --upgrade slim-cli

Or select a specific version, such as `X.Y.Z`:

    pip install slim-cli==X.Y.Z

### Run Instructions

The following commands demonstrate the core SLIM CLI functionality. Use `slim --help` for a complete list of options.

**Global Options:**
- `--version`, `-v`: Show version and exit
- `--dry-run`, `-d`: Preview operations without making changes
- `--logging`, `-l`: Set logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  
  ```bash
  # Using long form
  slim --logging DEBUG apply --best-practice-ids readme
  
  # Using shorthand
  slim -l DEBUG apply -b readme
  
  # Preview changes without executing (dry run)
  slim -d apply -b readme -r <YOUR_GITHUB_REPO_URL>
  ```

#### Command Shorthands

SLIM CLI provides convenient shorthand options for commonly used arguments:

- `-b` for `--best-practice-ids` - Specify best practice aliases
- `-r` for `--repo-urls` - Specify repository URLs  
- `-d` for `--dry-run` - Preview changes without applying them
- `-l` for `--logging` - Set logging level
- `-m` for `--commit-message` - Custom commit message (apply-deploy and deploy commands)

**Examples:**
```bash
# Using full argument names
slim apply --best-practice-ids readme --repo-urls https://github.com/user/repo

# Using shorthands (equivalent)
slim apply -b readme -r https://github.com/user/repo

# Multiple values with shorthands
slim apply -b readme -b governance-small -r https://github.com/org/repo1 -r https://github.com/org/repo2
```

**Available Commands:**

1. **list** - List all available best practices from the SLIM registry
   ```bash
   slim list
   ```

2. **apply** - Apply best practices to git repositories
   
   **Key Options:**
   - `--best-practice-ids`, `-b`: Best practice aliases (required)
   - `--repo-urls`, `-r`: Repository URLs (cannot be used with --repo-dir)
   - `--repo-dir`: Local repository directory *[no shorthand]*
   - `--use-ai`: AI model for customization *[no shorthand]*
   - `--output-dir`: Output directory (required for docs-website) *[no shorthand]*
   
   ```bash
   # Basic usage - clone to temp folder and apply README template
   slim apply --best-practice-ids readme --repo-urls <YOUR_GITHUB_REPO_URL>
   
   # Using shorthand for best-practice-ids and repo-urls
   slim apply -b readme -r <YOUR_GITHUB_REPO_URL>
   
   # Apply multiple best practices (repeat -b for each)
   slim apply -b secrets-github -b secrets-precommit -r <YOUR_GITHUB_REPO_URL>
   
   # Apply with AI customization using cloud model
   slim apply -b readme -r <YOUR_GITHUB_REPO_URL> --use-ai anthropic/claude-3-5-sonnet-20241022
   
   # Apply with local AI model
   slim apply -b readme -r <YOUR_GITHUB_REPO_URL> --use-ai ollama/llama3.1
   
   # Apply to multiple repositories
   slim apply -b readme -r https://github.com/org/repo1 -r https://github.com/org/repo2
   
   # Apply using a list of repositories from a file
   slim apply -b governance-small --repo-urls-file repos.txt
   
   # Generate documentation website
   slim apply -b docs-website -r <YOUR_GITHUB_REPO_URL> --output-dir /path/to/docs-site --use-ai openai/gpt-4o
   ```

3. **apply-deploy** - Apply and deploy best practices in one step (creates branch and pushes to remote)
   
   **Key Options:**
   - `--best-practice-ids`, `-b`: Best practice aliases (required)
   - `--commit-message`, `-m`: Custom commit message
   - `--remote`: Remote name or URL (defaults to 'origin') *[no shorthand]*
   - `--repo-urls`, `-r`: Repository URLs
   
   ```bash
   # Basic usage
   slim apply-deploy --best-practice-ids readme --repo-urls <YOUR_GITHUB_REPO_URL>
   
   # Using shorthand options
   slim apply-deploy -b readme -r <YOUR_GITHUB_REPO_URL>
   
   # With custom commit message using shorthand
   slim apply-deploy -b readme -r <YOUR_GITHUB_REPO_URL> -m "Add comprehensive README documentation"
   
   # Multiple best practices with shorthand
   slim apply-deploy -b readme -b governance-small -r <YOUR_GITHUB_REPO_URL>
   ```

4. **deploy** - Deploy previously applied best practices (commit and push)
   
   **Key Options:**
   - `--best-practice-ids`, `-b`: Best practice aliases (required)
   - `--commit-message`, `-m`: Custom commit message
   - `--repo-dir`: Repository directory *[no shorthand]*
   - `--remote`: Remote name (defaults to 'origin') *[no shorthand]*
   
   ```bash
   # Basic usage
   slim deploy --best-practice-ids readme --repo-dir /path/to/repo --remote origin --commit-message "Apply SLIM best practices"
   
   # Using shorthand options
   slim deploy -b readme --repo-dir /path/to/repo -m "Apply SLIM best practices"
   
   # Deploy multiple best practices with shorthand
   slim deploy -b readme -b governance-small --repo-dir /path/to/repo
   ```

5. **models** - Discover and configure AI models
   ```bash
   # List all available models
   slim models list
   
   # Get model recommendations for specific tasks
   slim models recommend
   slim models recommend --task documentation --tier premium
   
   # Get setup instructions for a provider
   slim models setup anthropic
   slim models setup openai
   
   # Validate model configuration
   slim models validate openai/gpt-4o
   ```

## Generate Documentation

SLIM CLI can generate comprehensive Docusaurus documentation sites for your repositories using AI.

### Basic Usage

```bash
# Generate documentation with cloud AI (recommended)
slim apply -b docs-website -r <YOUR_GITHUB_REPO_URL> --output-dir /path/to/docs-site --use-ai openai/gpt-4o

# Generate documentation with local AI
slim apply -b docs-website -r <YOUR_GITHUB_REPO_URL> --output-dir /path/to/docs-site --use-ai ollama/llama3.1
```

### AI Model Recommendations

- **Cloud Models (Recommended)**: `openai/gpt-4o`, `anthropic/claude-3-5-sonnet-20241022`, `openai/gpt-4o-mini`
- **Local Models**: `ollama/llama3.1`, `ollama/gemma3` (lower quality, not recommended for production)

Use `slim models recommend --task documentation` to get personalized recommendations.

### Generated Content

The documentation generator creates:
- **Overview**: Project description and features
- **Installation**: Setup instructions
- **API Reference**: Auto-generated from source code
- **Development**: Workflow and coding standards
- **Contributing**: Guidelines for contributors

### Viewing Your Documentation

```bash
cd /path/to/output
npm install
npm start  # View at http://localhost:3000
```

📖 **For detailed documentation generation guidance, see the [SLIM CLI documentation guide](https://nasa-ammos.github.io/slim/docs/tools#slim-cli)**

## Discover and Manage AI Models

SLIM CLI supports 100+ AI models through LiteLLM integration. Use the `models` command to discover, configure, and validate AI models.

```bash
# List all available models
slim models list
slim models list --provider anthropic

# Get model recommendations
slim models recommend                              # Default: documentation, balanced
slim models recommend --task documentation --tier premium
slim models recommend --task code_generation --tier fast

# Get setup instructions for providers
slim models setup anthropic
slim models setup openai
slim models setup ollama

# Validate model configuration
slim models validate openai/gpt-4o
```

### Supported Providers

- **Cloud Premium**: OpenAI, Anthropic Claude, Google Gemini
- **Cloud Fast**: Groq, Together AI, Cohere, Perplexity
- **Local/Private**: Ollama, VLLM, LM Studio, GPT4All
- **Enterprise**: Azure OpenAI, AWS Bedrock, Google Vertex AI

### Environment Setup

Use `slim models setup <provider>` to see provider-specific instructions. Common examples:

```bash
# OpenAI
export OPENAI_API_KEY="sk-..."

# Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-..."

# Ollama (local models) - no API key needed
ollama serve
```

## MCP Plugin Integration

SLIM CLI now includes a **Model Context Protocol (MCP) plugin** that enables seamless integration with AI coding assistants like Claude Code, Aider, and other MCP-compatible tools. This allows you to apply SLIM best practices directly from within your AI coding environment using natural language.

### Key Features

- **Natural Language Interface**: Apply SLIM best practices using conversational AI commands
- **Repository Context Awareness**: Automatically analyzes your repository structure and customizes templates
- **Real-time Best Practices**: Fetches the latest SLIM best practices from the live registry
- **AI-Powered Customization**: Leverages your AI assistant's capabilities for intelligent template customization

### Quick Setup for Claude Code

1. **Install SLIM CLI** (if not already installed):
   ```bash
   pip install slim-cli
   ```

2. **Add the MCP server to Claude Code**:
   ```bash
   # Replace /path/to/slim-cli with your actual SLIM CLI installation directory
   # To find it, run: pip show -f slim-cli | grep Location
   claude mcp add slim-cli -s user -- uvx --directory /path/to/slim-cli --from /path/to/slim-cli python /path/to/slim-cli/src/jpl/slim/mcp/server.py
   ```

   **For development/local installations:**
   ```bash
   # If you cloned the SLIM CLI repository locally
   claude mcp add slim-cli -s user -- uvx --directory /Users/yourusername/src/slim-cli --from /Users/yourusername/src/slim-cli python /Users/yourusername/src/slim-cli/src/jpl/slim/mcp/server.py
   ```

3. **Verify connection**:
   ```bash
   claude mcp list
   # Should show: slim-cli - ✓ Connected
   ```

4. **Use in Claude Code**:
   - Simply ask: *"Apply the SLIM readme best practice with AI customization"*
   - Or: *"List all available SLIM best practices"*
   - Or: *"Apply governance template to this repository"*

### Troubleshooting MCP Setup

**Finding your SLIM CLI installation path:**
```bash
# For pip installations
python -c "import jpl.slim; print(jpl.slim.__file__.replace('__init__.py', ''))"

# Or check pip installation location
pip show slim-cli | grep Location
```

**Common issues:**
- **"Failed to connect"**: Ensure the paths in the `uvx` command point to your actual SLIM CLI installation
- **"uvx not found"**: Install `uv` first: `curl -LsSf https://astral.sh/uv/install.sh | sh`
- **"Module not found"**: Verify SLIM CLI is installed: `pip show slim-cli`

**Working from any directory:**
The `uvx --directory` option ensures the MCP server works regardless of which directory you're running Claude Code from. This is the key advantage over previous methods.

### Disconnecting/Removing MCP Server

If you need to disconnect or remove the SLIM CLI MCP server from Claude Code:

```bash
# Remove the SLIM CLI MCP server
claude mcp remove slim-cli

# Verify removal
claude mcp list
# Should no longer show slim-cli in the list
```

### Available MCP Tools

- `slim_list_all_practices` - List all SLIM best practices
- `slim_apply_practice_with_ai` - Apply practices with AI customization
- `slim_analyze_repository_context_tool` - Analyze repository context
- `slim_fetch_template_content` - Fetch templates from registry
- `slim_models_recommend` - Get AI model recommendations

### Documentation

For detailed setup instructions and troubleshooting:
- **[Installation Guide](src/jpl/slim/mcp/docs/installation.md)** - Complete MCP server setup
- **[Integration Guide](src/jpl/slim/mcp/docs/integration.md)** - Using SLIM with AI assistants
- **[MCP Documentation](src/jpl/slim/mcp/docs/README.md)** - Technical details and API reference

💡 **Tip**: The MCP plugin works with any MCP-compatible AI assistant, not just Claude Code!

## Changelog

See our [CHANGELOG.md](CHANGELOG.md) for a history of our changes.

See our [releases page](https://github.com/NASA-AMMOS/slim-cli/releases) for our key versioned releases.

## Frequently Asked Questions (FAQ)

Questions about our project? Please see our: [FAQ](https://nasa-ammos.github.io/slim/faq)

## Contributing

Interested in contributing to our project? Please see our: [CONTRIBUTING.md](CONTRIBUTING.md). 

For a detailed understanding of the codebase architecture, including component design, data flow, and extension points, see our [ARCHITECTURE.md](ARCHITECTURE.md).

Specifically, see our section on [architecture and extensions](CONTRIBUTING.md#slim-architecture-and-extension-points) if you'd like to add support for a new best practice from SLIM or a new command. 

For guidance on how to interact with our team, please see our code of conduct located at: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)

For guidance on our governance approach, including decision-making process and our various roles, please see our governance model at: [GOVERNANCE.md](GOVERNANCE.md)

### Setup for Local Development (For Contributors)

If you're working on `slim-cli` itself, you'll want to run it in editable mode so your changes are immediately reflected.

#### Using UV (Recommended for Development)

[UV](https://github.com/astral-sh/uv) is a fast Python package manager that simplifies dependency management and virtual environment handling. It's our recommended tool for local development.

```bash
# Install UV (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone the repo
git clone https://github.com/NASA-AMMOS/slim-cli.git
cd slim-cli

# UV automatically creates and manages the virtual environment
# Install all dependencies and the package in editable mode
uv sync

# Run the CLI locally with UV
uv run slim --help
uv run slim --version

# Run tests
uv run pytest tests/
```

#### Using Traditional pip/venv

If you prefer the traditional approach:

```bash
# Clone the repo
git clone https://github.com/NASA-AMMOS/slim-cli.git
cd slim-cli

# Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install in editable mode
pip install --editable .

# Run the CLI locally
slim --help
slim --version
```

Use this method if:
- You're adding new features or fixing bugs in the CLI
- You're contributing to the SLIM project
- You want to test changes before publishing

### Running Tests

We use `pytest` for testing. For detailed information about our testing framework, test structure, and how to run tests, please refer to our [TESTING.md](TESTING.md) document.

#### With UV (Recommended)

```bash
# Run all tests
uv run pytest tests/

# Run a specific test file
uv run pytest tests/jpl/slim/test_cli.py

# Run tests with verbose output
uv run pytest -v -s
```

#### With Traditional Setup

```bash
# Install pytest (if not already installed)
pip install pytest

# Run all tests
pytest

# Run tests with verbose output
pytest -v -s
```

### Publishing a New Version

To publish a new version of SLIM CLI to the Python Package Index, typically you'll update the `VERSION.txt` file; then do:
```bash
pip install build wheel twine
python3 -m build .
twine upload dist/*
```

(Note: this can and should eventually be automated with GitHub Actions.)

## License

See our: [LICENSE](LICENSE)

## Support

Key points of contact are: [@riverma](https://github.com/riverma) and [@yunks128](https://github.com/yunks128)