2025-08-14 08:56:04 +05:30
|
|
|
"""
|
2025-09-05 15:06:36 +05:30
|
|
|
MCP component for MCP server integration
|
2025-08-14 08:56:04 +05:30
|
|
|
"""
|
|
|
|
|
|
2025-09-18 19:39:52 +12:00
|
|
|
import os
|
|
|
|
|
import platform
|
|
|
|
|
import shlex
|
2025-09-05 15:06:36 +05:30
|
|
|
import subprocess
|
2025-08-14 22:03:34 +02:00
|
|
|
import sys
|
2025-08-14 08:56:04 +05:30
|
|
|
from pathlib import Path
|
2025-09-18 19:39:52 +12:00
|
|
|
from typing import Any, Dict, List, Optional, Tuple
|
|
|
|
|
|
|
|
|
|
from setup import __version__
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-05 12:09:23 +00:00
|
|
|
from ..core.base import Component
|
2025-08-14 08:56:04 +05:30
|
|
|
from ..utils.ui import display_info, display_warning
|
2025-09-18 19:39:52 +12:00
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
|
|
|
|
|
class MCPComponent(Component):
|
2025-09-05 15:06:36 +05:30
|
|
|
"""MCP servers integration component"""
|
2025-08-14 08:56:04 +05:30
|
|
|
|
|
|
|
|
def __init__(self, install_dir: Optional[Path] = None):
|
|
|
|
|
"""Initialize MCP component"""
|
|
|
|
|
super().__init__(install_dir)
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
self.installed_servers_in_session: List[str] = []
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Define MCP servers to install
|
2025-08-14 08:56:04 +05:30
|
|
|
self.mcp_servers = {
|
2025-09-05 15:06:36 +05:30
|
|
|
"sequential-thinking": {
|
|
|
|
|
"name": "sequential-thinking",
|
|
|
|
|
"description": "Multi-step problem solving and systematic analysis",
|
|
|
|
|
"npm_package": "@modelcontextprotocol/server-sequential-thinking",
|
|
|
|
|
"required": True
|
|
|
|
|
},
|
2025-08-14 08:56:04 +05:30
|
|
|
"context7": {
|
2025-09-05 15:06:36 +05:30
|
|
|
"name": "context7",
|
2025-08-14 08:56:04 +05:30
|
|
|
"description": "Official library documentation and code examples",
|
2025-09-05 15:06:36 +05:30
|
|
|
"npm_package": "@upstash/context7-mcp",
|
|
|
|
|
"required": True
|
2025-08-14 08:56:04 +05:30
|
|
|
},
|
|
|
|
|
"magic": {
|
|
|
|
|
"name": "magic",
|
|
|
|
|
"description": "Modern UI component generation and design systems",
|
2025-09-05 15:06:36 +05:30
|
|
|
"npm_package": "@21st-dev/magic",
|
|
|
|
|
"required": False,
|
|
|
|
|
"api_key_env": "TWENTYFIRST_API_KEY",
|
|
|
|
|
"api_key_description": "21st.dev API key for UI component generation"
|
2025-08-14 08:56:04 +05:30
|
|
|
},
|
|
|
|
|
"playwright": {
|
|
|
|
|
"name": "playwright",
|
|
|
|
|
"description": "Cross-browser E2E testing and automation",
|
2025-09-05 15:06:36 +05:30
|
|
|
"npm_package": "@playwright/mcp@latest",
|
|
|
|
|
"required": False
|
2025-09-05 15:10:21 +05:30
|
|
|
},
|
|
|
|
|
"serena": {
|
|
|
|
|
"name": "serena",
|
|
|
|
|
"description": "Semantic code analysis and intelligent editing",
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
"install_method": "github",
|
|
|
|
|
"install_command": "uvx --from git+https://github.com/oraios/serena serena --help",
|
|
|
|
|
"run_command": "uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context ide-assistant",
|
2025-09-05 15:10:21 +05:30
|
|
|
"required": False
|
|
|
|
|
},
|
2025-09-18 19:39:52 +12:00
|
|
|
"morphllm-fast-apply": {
|
2025-09-05 15:10:21 +05:30
|
|
|
"name": "morphllm-fast-apply",
|
|
|
|
|
"description": "Fast Apply capability for context-aware code modifications",
|
2025-09-05 12:09:23 +00:00
|
|
|
"npm_package": "@morph-llm/morph-fast-apply",
|
2025-09-05 15:10:21 +05:30
|
|
|
"required": False,
|
|
|
|
|
"api_key_env": "MORPH_API_KEY",
|
|
|
|
|
"api_key_description": "Morph API key for Fast Apply"
|
2025-09-21 04:54:42 +03:00
|
|
|
},
|
|
|
|
|
"tavily": {
|
|
|
|
|
"name": "tavily",
|
|
|
|
|
"description": "Web search and real-time information retrieval for deep research",
|
|
|
|
|
"install_method": "npm",
|
|
|
|
|
"install_command": "npx -y tavily-mcp@0.1.2",
|
|
|
|
|
"required": False,
|
|
|
|
|
"api_key_env": "TAVILY_API_KEY",
|
|
|
|
|
"api_key_description": "Tavily API key for web search (get from https://app.tavily.com)"
|
2025-09-26 18:27:19 +05:30
|
|
|
},
|
|
|
|
|
"chrome-devtools": {
|
|
|
|
|
"name": "chrome-devtools",
|
|
|
|
|
"description": "Chrome DevTools debugging and performance analysis",
|
|
|
|
|
"install_method": "npm",
|
|
|
|
|
"install_command": "npx -y chrome-devtools-mcp@latest",
|
|
|
|
|
"required": False
|
2025-08-14 08:56:04 +05:30
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def get_metadata(self) -> Dict[str, str]:
|
|
|
|
|
"""Get component metadata"""
|
|
|
|
|
return {
|
|
|
|
|
"name": "mcp",
|
2025-08-23 14:10:11 +02:00
|
|
|
"version": __version__,
|
2025-09-05 15:06:36 +05:30
|
|
|
"description": "MCP server integration (Context7, Sequential, Magic, Playwright)",
|
2025-08-14 08:56:04 +05:30
|
|
|
"category": "integration"
|
|
|
|
|
}
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
|
|
|
|
|
def is_reinstallable(self) -> bool:
|
|
|
|
|
"""This component manages sub-components (servers) and should be re-run."""
|
|
|
|
|
return True
|
2025-09-18 19:39:52 +12:00
|
|
|
|
|
|
|
|
def _run_command_cross_platform(self, cmd: List[str], **kwargs) -> subprocess.CompletedProcess:
|
|
|
|
|
"""
|
|
|
|
|
Run a command with proper cross-platform shell handling.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
cmd: Command as list of strings
|
|
|
|
|
**kwargs: Additional subprocess.run arguments
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
CompletedProcess result
|
|
|
|
|
"""
|
|
|
|
|
if platform.system() == "Windows":
|
2025-09-26 18:27:19 +05:30
|
|
|
# On Windows, wrap command in 'cmd /c' to properly handle commands like npx
|
|
|
|
|
cmd = ["cmd", "/c"] + cmd
|
|
|
|
|
return subprocess.run(cmd, **kwargs)
|
2025-09-18 19:39:52 +12:00
|
|
|
else:
|
|
|
|
|
# macOS/Linux: Use string format with proper shell to support aliases
|
|
|
|
|
cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd)
|
|
|
|
|
|
2025-09-26 18:27:19 +05:30
|
|
|
# Use the user's shell to execute the command, supporting aliases
|
2025-09-18 19:39:52 +12:00
|
|
|
user_shell = os.environ.get('SHELL', '/bin/bash')
|
2025-09-26 18:27:19 +05:30
|
|
|
return subprocess.run(cmd_str, shell=True, env=os.environ, executable=user_shell, **kwargs)
|
2025-08-14 08:56:04 +05:30
|
|
|
|
|
|
|
|
def validate_prerequisites(self, installSubPath: Optional[Path] = None) -> Tuple[bool, List[str]]:
|
2025-09-05 15:06:36 +05:30
|
|
|
"""Check prerequisites"""
|
2025-08-14 08:56:04 +05:30
|
|
|
errors = []
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Check if Node.js is available
|
|
|
|
|
try:
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
["node", "--version"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=10
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
|
|
|
|
if result.returncode != 0:
|
|
|
|
|
errors.append("Node.js not found - required for MCP servers")
|
|
|
|
|
else:
|
|
|
|
|
version = result.stdout.strip()
|
|
|
|
|
self.logger.debug(f"Found Node.js {version}")
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Check version (require 18+)
|
|
|
|
|
try:
|
|
|
|
|
version_num = int(version.lstrip('v').split('.')[0])
|
|
|
|
|
if version_num < 18:
|
|
|
|
|
errors.append(f"Node.js version {version} found, but version 18+ required")
|
|
|
|
|
except:
|
|
|
|
|
self.logger.warning(f"Could not parse Node.js version: {version}")
|
|
|
|
|
except (subprocess.TimeoutExpired, FileNotFoundError):
|
|
|
|
|
errors.append("Node.js not found - required for MCP servers")
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Check if Claude CLI is available
|
|
|
|
|
try:
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
["claude", "--version"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=10
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
|
|
|
|
if result.returncode != 0:
|
|
|
|
|
errors.append("Claude CLI not found - required for MCP server management")
|
|
|
|
|
else:
|
|
|
|
|
version = result.stdout.strip()
|
|
|
|
|
self.logger.debug(f"Found Claude CLI {version}")
|
|
|
|
|
except (subprocess.TimeoutExpired, FileNotFoundError):
|
|
|
|
|
errors.append("Claude CLI not found - required for MCP server management")
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Check if npm is available
|
|
|
|
|
try:
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
["npm", "--version"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=10
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
|
|
|
|
if result.returncode != 0:
|
|
|
|
|
errors.append("npm not found - required for MCP server installation")
|
|
|
|
|
else:
|
|
|
|
|
version = result.stdout.strip()
|
|
|
|
|
self.logger.debug(f"Found npm {version}")
|
|
|
|
|
except (subprocess.TimeoutExpired, FileNotFoundError):
|
|
|
|
|
errors.append("npm not found - required for MCP server installation")
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
|
|
|
|
|
# Check if uv is available (required for Serena)
|
|
|
|
|
try:
|
|
|
|
|
result = self._run_command_cross_platform(
|
|
|
|
|
["uv", "--version"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=10
|
|
|
|
|
)
|
|
|
|
|
if result.returncode != 0:
|
|
|
|
|
self.logger.warning("uv not found - required for Serena MCP server installation")
|
|
|
|
|
else:
|
|
|
|
|
version = result.stdout.strip()
|
|
|
|
|
self.logger.debug(f"Found uv {version}")
|
|
|
|
|
except (subprocess.TimeoutExpired, FileNotFoundError):
|
|
|
|
|
self.logger.warning("uv not found - required for Serena MCP server installation")
|
|
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
return len(errors) == 0, errors
|
|
|
|
|
|
|
|
|
|
def get_files_to_install(self) -> List[Tuple[Path, Path]]:
|
2025-09-05 15:06:36 +05:30
|
|
|
"""Get files to install (none for MCP component)"""
|
2025-08-14 08:56:04 +05:30
|
|
|
return []
|
|
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def get_metadata_modifications(self) -> Dict[str, Any]:
|
|
|
|
|
"""Get metadata modifications for MCP component"""
|
|
|
|
|
return {
|
|
|
|
|
"components": {
|
|
|
|
|
"mcp": {
|
2025-09-05 12:09:23 +00:00
|
|
|
"version": __version__,
|
2025-09-05 15:06:36 +05:30
|
|
|
"installed": True,
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
"servers_count": len(self.installed_servers_in_session)
|
2025-09-05 15:06:36 +05:30
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"mcp": {
|
|
|
|
|
"enabled": True,
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
"servers": self.installed_servers_in_session,
|
2025-09-05 15:06:36 +05:30
|
|
|
"auto_update": False
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-14 19:00:53 +05:30
|
|
|
def _install_uv_mcp_server(self, server_info: Dict[str, Any], config: Dict[str, Any]) -> bool:
|
2025-09-05 12:09:23 +00:00
|
|
|
"""Install a single MCP server using uv"""
|
|
|
|
|
server_name = server_info["name"]
|
2025-09-14 19:00:53 +05:30
|
|
|
install_command = server_info.get("install_command")
|
2025-09-15 13:26:08 +05:30
|
|
|
run_command = server_info.get("run_command")
|
2025-09-14 19:00:53 +05:30
|
|
|
|
|
|
|
|
if not install_command:
|
|
|
|
|
self.logger.error(f"No install_command found for uv-based server {server_name}")
|
2025-09-05 12:09:23 +00:00
|
|
|
return False
|
2025-09-15 13:26:08 +05:30
|
|
|
if not run_command:
|
|
|
|
|
self.logger.error(f"No run_command found for uv-based server {server_name}")
|
|
|
|
|
return False
|
2025-09-05 12:09:23 +00:00
|
|
|
|
|
|
|
|
try:
|
2025-09-14 19:00:53 +05:30
|
|
|
self.logger.info(f"Installing MCP server using uv: {server_name}")
|
|
|
|
|
|
|
|
|
|
if self._check_mcp_server_installed(server_name):
|
|
|
|
|
self.logger.info(f"MCP server {server_name} already installed")
|
|
|
|
|
return True
|
|
|
|
|
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
# Check if uv is available
|
|
|
|
|
try:
|
|
|
|
|
uv_check = self._run_command_cross_platform(
|
|
|
|
|
["uv", "--version"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=10
|
|
|
|
|
)
|
|
|
|
|
if uv_check.returncode != 0:
|
|
|
|
|
self.logger.error(f"uv not found - required for {server_name} installation")
|
|
|
|
|
return False
|
|
|
|
|
except (subprocess.TimeoutExpired, FileNotFoundError):
|
|
|
|
|
self.logger.error(f"uv not found - required for {server_name} installation")
|
|
|
|
|
return False
|
|
|
|
|
|
2025-09-14 19:00:53 +05:30
|
|
|
if config.get("dry_run"):
|
|
|
|
|
self.logger.info(f"Would install MCP server (user scope): {install_command}")
|
2025-09-15 13:26:08 +05:30
|
|
|
self.logger.info(f"Would register MCP server run command: {run_command}")
|
2025-09-14 19:00:53 +05:30
|
|
|
return True
|
2025-09-05 12:09:23 +00:00
|
|
|
|
2025-09-15 13:34:48 +05:30
|
|
|
# Run install command
|
2025-09-14 19:00:53 +05:30
|
|
|
self.logger.debug(f"Running: {install_command}")
|
|
|
|
|
cmd_parts = shlex.split(install_command)
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
2025-09-14 19:00:53 +05:30
|
|
|
cmd_parts,
|
2025-09-05 12:09:23 +00:00
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=900 # 15 minutes
|
2025-09-05 12:09:23 +00:00
|
|
|
)
|
|
|
|
|
|
2025-09-14 19:00:53 +05:30
|
|
|
if result.returncode == 0:
|
|
|
|
|
self.logger.success(f"Successfully installed MCP server (user scope): {server_name}")
|
|
|
|
|
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
# For Serena, we need to handle the run command specially
|
|
|
|
|
if server_name == "serena":
|
|
|
|
|
# Serena needs project-specific registration, use current working directory
|
|
|
|
|
current_dir = os.getcwd()
|
|
|
|
|
serena_run_cmd = f"{run_command} --project {shlex.quote(current_dir)}"
|
|
|
|
|
self.logger.info(f"Registering {server_name} with Claude CLI for project: {current_dir}")
|
|
|
|
|
reg_cmd = ["claude", "mcp", "add", "-s", "user", "--", server_name] + shlex.split(serena_run_cmd)
|
|
|
|
|
else:
|
|
|
|
|
self.logger.info(f"Registering {server_name} with Claude CLI. Run command: {run_command}")
|
|
|
|
|
reg_cmd = ["claude", "mcp", "add", "-s", "user", "--", server_name] + shlex.split(run_command)
|
|
|
|
|
|
2025-09-18 19:39:52 +12:00
|
|
|
reg_result = self._run_command_cross_platform(
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
reg_cmd,
|
2025-09-14 19:00:53 +05:30
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=120
|
2025-09-14 19:00:53 +05:30
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if reg_result.returncode == 0:
|
|
|
|
|
self.logger.success(f"Successfully registered {server_name} with Claude CLI.")
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
error_msg = reg_result.stderr.strip() if reg_result.stderr else "Unknown error"
|
|
|
|
|
self.logger.error(f"Failed to register MCP server {server_name} with Claude CLI: {error_msg}")
|
|
|
|
|
return False
|
2025-09-05 12:09:23 +00:00
|
|
|
else:
|
2025-09-14 19:00:53 +05:30
|
|
|
error_msg = result.stderr.strip() if result.stderr else "Unknown error"
|
|
|
|
|
self.logger.error(f"Failed to install MCP server {server_name} using uv: {error_msg}\n{result.stdout}")
|
2025-09-05 12:09:23 +00:00
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
except subprocess.TimeoutExpired:
|
|
|
|
|
self.logger.error(f"Timeout installing MCP server {server_name} using uv")
|
|
|
|
|
return False
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.error(f"Error installing MCP server {server_name} using uv: {e}")
|
|
|
|
|
return False
|
2025-09-21 04:54:42 +03:00
|
|
|
|
2025-09-05 12:09:23 +00:00
|
|
|
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
def _install_github_mcp_server(self, server_info: Dict[str, Any], config: Dict[str, Any]) -> bool:
|
|
|
|
|
"""Install a single MCP server from GitHub using uvx"""
|
|
|
|
|
server_name = server_info["name"]
|
|
|
|
|
install_command = server_info.get("install_command")
|
|
|
|
|
run_command = server_info.get("run_command")
|
|
|
|
|
|
|
|
|
|
if not install_command:
|
|
|
|
|
self.logger.error(f"No install_command found for GitHub-based server {server_name}")
|
|
|
|
|
return False
|
|
|
|
|
if not run_command:
|
|
|
|
|
self.logger.error(f"No run_command found for GitHub-based server {server_name}")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
self.logger.info(f"Installing MCP server from GitHub: {server_name}")
|
|
|
|
|
|
|
|
|
|
if self._check_mcp_server_installed(server_name):
|
|
|
|
|
self.logger.info(f"MCP server {server_name} already installed")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
# Check if uvx is available
|
|
|
|
|
try:
|
|
|
|
|
uvx_check = self._run_command_cross_platform(
|
|
|
|
|
["uvx", "--version"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=10
|
|
|
|
|
)
|
|
|
|
|
if uvx_check.returncode != 0:
|
|
|
|
|
self.logger.error(f"uvx not found - required for {server_name} installation")
|
|
|
|
|
return False
|
|
|
|
|
except (subprocess.TimeoutExpired, FileNotFoundError):
|
|
|
|
|
self.logger.error(f"uvx not found - required for {server_name} installation")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
if config.get("dry_run"):
|
|
|
|
|
self.logger.info(f"Would install MCP server from GitHub: {install_command}")
|
|
|
|
|
self.logger.info(f"Would register MCP server run command: {run_command}")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
# Run install command to test the GitHub installation
|
|
|
|
|
self.logger.debug(f"Testing GitHub installation: {install_command}")
|
|
|
|
|
cmd_parts = shlex.split(install_command)
|
|
|
|
|
result = self._run_command_cross_platform(
|
|
|
|
|
cmd_parts,
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=300 # 5 minutes for GitHub clone and build
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if result.returncode == 0:
|
|
|
|
|
self.logger.success(f"Successfully tested GitHub MCP server: {server_name}")
|
|
|
|
|
|
|
|
|
|
# Register with Claude CLI using the run command
|
|
|
|
|
self.logger.info(f"Registering {server_name} with Claude CLI. Run command: {run_command}")
|
|
|
|
|
reg_cmd = ["claude", "mcp", "add", "-s", "user", "--", server_name] + shlex.split(run_command)
|
|
|
|
|
|
|
|
|
|
reg_result = self._run_command_cross_platform(
|
|
|
|
|
reg_cmd,
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=120
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if reg_result.returncode == 0:
|
|
|
|
|
self.logger.success(f"Successfully registered {server_name} with Claude CLI.")
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
error_msg = reg_result.stderr.strip() if reg_result.stderr else "Unknown error"
|
|
|
|
|
self.logger.error(f"Failed to register MCP server {server_name} with Claude CLI: {error_msg}")
|
|
|
|
|
return False
|
|
|
|
|
else:
|
|
|
|
|
error_msg = result.stderr.strip() if result.stderr else "Unknown error"
|
|
|
|
|
self.logger.error(f"Failed to install MCP server {server_name} from GitHub: {error_msg}\n{result.stdout}")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
except subprocess.TimeoutExpired:
|
|
|
|
|
self.logger.error(f"Timeout installing MCP server {server_name} from GitHub")
|
|
|
|
|
return False
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.error(f"Error installing MCP server {server_name} from GitHub: {e}")
|
|
|
|
|
return False
|
|
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def _check_mcp_server_installed(self, server_name: str) -> bool:
|
|
|
|
|
"""Check if MCP server is already installed"""
|
2025-08-14 08:56:04 +05:30
|
|
|
try:
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
["claude", "mcp", "list"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=60
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
if result.returncode != 0:
|
|
|
|
|
self.logger.warning(f"Could not list MCP servers: {result.stderr}")
|
2025-08-14 22:03:34 +02:00
|
|
|
return False
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Parse output to check if server is installed
|
|
|
|
|
output = result.stdout.lower()
|
|
|
|
|
return server_name.lower() in output
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
except (subprocess.TimeoutExpired, subprocess.SubprocessError) as e:
|
|
|
|
|
self.logger.warning(f"Error checking MCP server status: {e}")
|
|
|
|
|
return False
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
|
|
|
|
def _detect_existing_mcp_servers_from_config(self) -> List[str]:
|
|
|
|
|
"""Detect existing MCP servers from Claude Desktop config"""
|
|
|
|
|
detected_servers = []
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
# Try to find Claude Desktop config file
|
|
|
|
|
config_paths = [
|
|
|
|
|
self.install_dir / "claude_desktop_config.json",
|
|
|
|
|
Path.home() / ".claude" / "claude_desktop_config.json",
|
|
|
|
|
Path.home() / ".claude.json", # Claude CLI config
|
|
|
|
|
Path.home() / "AppData" / "Roaming" / "Claude" / "claude_desktop_config.json", # Windows
|
|
|
|
|
Path.home() / "Library" / "Application Support" / "Claude" / "claude_desktop_config.json", # macOS
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
config_file = None
|
|
|
|
|
for path in config_paths:
|
|
|
|
|
if path.exists():
|
|
|
|
|
config_file = path
|
|
|
|
|
break
|
|
|
|
|
|
|
|
|
|
if not config_file:
|
|
|
|
|
self.logger.debug("No Claude Desktop config file found")
|
|
|
|
|
return detected_servers
|
|
|
|
|
|
|
|
|
|
import json
|
|
|
|
|
with open(config_file, 'r') as f:
|
|
|
|
|
config = json.load(f)
|
|
|
|
|
|
|
|
|
|
# Extract MCP server names from mcpServers section
|
|
|
|
|
mcp_servers = config.get("mcpServers", {})
|
|
|
|
|
for server_name in mcp_servers.keys():
|
|
|
|
|
# Map common name variations to our standard names
|
|
|
|
|
normalized_name = self._normalize_server_name(server_name)
|
|
|
|
|
if normalized_name and normalized_name in self.mcp_servers:
|
|
|
|
|
detected_servers.append(normalized_name)
|
|
|
|
|
|
|
|
|
|
if detected_servers:
|
|
|
|
|
self.logger.info(f"Detected existing MCP servers from config: {detected_servers}")
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.warning(f"Could not read Claude Desktop config: {e}")
|
|
|
|
|
|
|
|
|
|
return detected_servers
|
|
|
|
|
|
|
|
|
|
def _detect_existing_mcp_servers_from_cli(self) -> List[str]:
|
|
|
|
|
"""Detect existing MCP servers from Claude CLI"""
|
|
|
|
|
detected_servers = []
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
result = self._run_command_cross_platform(
|
|
|
|
|
["claude", "mcp", "list"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=60
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if result.returncode != 0:
|
|
|
|
|
self.logger.debug(f"Could not list MCP servers: {result.stderr}")
|
|
|
|
|
return detected_servers
|
|
|
|
|
|
|
|
|
|
# Parse the output to extract server names
|
|
|
|
|
output_lines = result.stdout.strip().split('\n')
|
|
|
|
|
for line in output_lines:
|
|
|
|
|
line = line.strip().lower()
|
|
|
|
|
if line and not line.startswith('#') and not line.startswith('no'):
|
|
|
|
|
# Extract server name (usually the first word or before first space/colon)
|
|
|
|
|
server_name = line.split()[0] if line.split() else ""
|
|
|
|
|
normalized_name = self._normalize_server_name(server_name)
|
|
|
|
|
if normalized_name and normalized_name in self.mcp_servers:
|
|
|
|
|
detected_servers.append(normalized_name)
|
|
|
|
|
|
|
|
|
|
if detected_servers:
|
|
|
|
|
self.logger.info(f"Detected existing MCP servers from CLI: {detected_servers}")
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.warning(f"Could not detect existing MCP servers from CLI: {e}")
|
|
|
|
|
|
|
|
|
|
return detected_servers
|
|
|
|
|
|
|
|
|
|
def _normalize_server_name(self, server_name: str) -> Optional[str]:
|
|
|
|
|
"""Normalize server name to match our internal naming"""
|
|
|
|
|
if not server_name:
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
server_name = server_name.lower().strip()
|
|
|
|
|
|
|
|
|
|
# Map common variations to our standard names
|
|
|
|
|
name_mappings = {
|
|
|
|
|
"context7": "context7",
|
|
|
|
|
"sequential-thinking": "sequential-thinking",
|
|
|
|
|
"sequential": "sequential-thinking",
|
|
|
|
|
"magic": "magic",
|
|
|
|
|
"playwright": "playwright",
|
|
|
|
|
"serena": "serena",
|
|
|
|
|
"morphllm": "morphllm-fast-apply",
|
|
|
|
|
"morphllm-fast-apply": "morphllm-fast-apply",
|
|
|
|
|
"morph": "morphllm-fast-apply"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return name_mappings.get(server_name)
|
|
|
|
|
|
|
|
|
|
def _merge_server_lists(self, existing_servers: List[str], selected_servers: List[str], previous_servers: List[str]) -> List[str]:
|
|
|
|
|
"""Merge existing, selected, and previously installed servers"""
|
|
|
|
|
all_servers = set()
|
|
|
|
|
|
|
|
|
|
# Add all detected servers
|
|
|
|
|
all_servers.update(existing_servers)
|
|
|
|
|
all_servers.update(selected_servers)
|
|
|
|
|
all_servers.update(previous_servers)
|
|
|
|
|
|
|
|
|
|
# Filter to only include servers we know how to install
|
|
|
|
|
valid_servers = [s for s in all_servers if s in self.mcp_servers]
|
|
|
|
|
|
|
|
|
|
if valid_servers:
|
|
|
|
|
self.logger.info(f"Total servers to manage: {valid_servers}")
|
|
|
|
|
if existing_servers:
|
|
|
|
|
self.logger.info(f" - Existing: {existing_servers}")
|
|
|
|
|
if selected_servers:
|
|
|
|
|
self.logger.info(f" - Newly selected: {selected_servers}")
|
|
|
|
|
if previous_servers:
|
|
|
|
|
self.logger.info(f" - Previously installed: {previous_servers}")
|
|
|
|
|
|
|
|
|
|
return valid_servers
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def _install_mcp_server(self, server_info: Dict[str, Any], config: Dict[str, Any]) -> bool:
|
|
|
|
|
"""Install a single MCP server"""
|
2025-09-14 19:00:53 +05:30
|
|
|
if server_info.get("install_method") == "uv":
|
|
|
|
|
return self._install_uv_mcp_server(server_info, config)
|
Some fixes (#372)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-09-19 19:03:50 +05:30
|
|
|
elif server_info.get("install_method") == "github":
|
|
|
|
|
return self._install_github_mcp_server(server_info, config)
|
2025-09-05 12:09:23 +00:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
server_name = server_info["name"]
|
2025-09-05 12:09:23 +00:00
|
|
|
npm_package = server_info.get("npm_package")
|
2025-09-21 04:54:42 +03:00
|
|
|
install_command = server_info.get("install_command")
|
2025-09-05 12:09:23 +00:00
|
|
|
|
2025-09-21 04:54:42 +03:00
|
|
|
if not npm_package and not install_command:
|
|
|
|
|
self.logger.error(f"No npm_package or install_command found for server {server_name}")
|
2025-09-05 12:09:23 +00:00
|
|
|
return False
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
command = "npx"
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
self.logger.info(f"Installing MCP server: {server_name}")
|
|
|
|
|
|
|
|
|
|
# Check if already installed
|
|
|
|
|
if self._check_mcp_server_installed(server_name):
|
|
|
|
|
self.logger.info(f"MCP server {server_name} already installed")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
# Handle API key requirements
|
|
|
|
|
if "api_key_env" in server_info:
|
|
|
|
|
api_key_env = server_info["api_key_env"]
|
|
|
|
|
api_key_desc = server_info.get("api_key_description", f"API key for {server_name}")
|
2025-08-15 13:48:14 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
if not config.get("dry_run", False):
|
|
|
|
|
display_info(f"MCP server '{server_name}' requires an API key")
|
|
|
|
|
display_info(f"Environment variable: {api_key_env}")
|
|
|
|
|
display_info(f"Description: {api_key_desc}")
|
|
|
|
|
|
|
|
|
|
# Check if API key is already set
|
|
|
|
|
import os
|
|
|
|
|
if not os.getenv(api_key_env):
|
|
|
|
|
display_warning(f"API key {api_key_env} not found in environment")
|
|
|
|
|
self.logger.warning(f"Proceeding without {api_key_env} - server may not function properly")
|
|
|
|
|
|
|
|
|
|
# Install using Claude CLI
|
2025-09-21 04:54:42 +03:00
|
|
|
if install_command:
|
|
|
|
|
# Use the full install command (e.g., for tavily-mcp@0.1.2)
|
|
|
|
|
install_args = install_command.split()
|
|
|
|
|
if config.get("dry_run"):
|
|
|
|
|
self.logger.info(f"Would install MCP server (user scope): claude mcp add -s user {server_name} {' '.join(install_args)}")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
self.logger.debug(f"Running: claude mcp add -s user {server_name} {' '.join(install_args)}")
|
|
|
|
|
|
|
|
|
|
result = self._run_command_cross_platform(
|
|
|
|
|
["claude", "mcp", "add", "-s", "user", "--", server_name] + install_args,
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=120 # 2 minutes timeout for installation
|
|
|
|
|
)
|
|
|
|
|
else:
|
|
|
|
|
# Use npm_package
|
|
|
|
|
if config.get("dry_run"):
|
|
|
|
|
self.logger.info(f"Would install MCP server (user scope): claude mcp add -s user {server_name} {command} -y {npm_package}")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
self.logger.debug(f"Running: claude mcp add -s user {server_name} {command} -y {npm_package}")
|
|
|
|
|
|
|
|
|
|
result = self._run_command_cross_platform(
|
|
|
|
|
["claude", "mcp", "add", "-s", "user", "--", server_name, command, "-y", npm_package],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
|
|
|
|
timeout=120 # 2 minutes timeout for installation
|
|
|
|
|
)
|
2025-09-05 15:06:36 +05:30
|
|
|
|
|
|
|
|
if result.returncode == 0:
|
|
|
|
|
self.logger.success(f"Successfully installed MCP server (user scope): {server_name}")
|
|
|
|
|
return True
|
2025-08-14 22:19:44 +02:00
|
|
|
else:
|
2025-09-05 15:06:36 +05:30
|
|
|
error_msg = result.stderr.strip() if result.stderr else "Unknown error"
|
|
|
|
|
self.logger.error(f"Failed to install MCP server {server_name}: {error_msg}")
|
|
|
|
|
return False
|
2025-08-15 13:48:14 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
except subprocess.TimeoutExpired:
|
|
|
|
|
self.logger.error(f"Timeout installing MCP server {server_name}")
|
|
|
|
|
return False
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.error(f"Error installing MCP server {server_name}: {e}")
|
|
|
|
|
return False
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def _uninstall_mcp_server(self, server_name: str) -> bool:
|
|
|
|
|
"""Uninstall a single MCP server"""
|
Implement two-stage installation with simplified MCP configuration
- Stage 1: MCP server selection (Context7, Sequential, Magic, Playwright, Serena, Morphllm)
- Stage 2: Framework components (Core, Modes, Commands, Agents, MCP Docs)
Major Changes:
- Created MCP config snippets in SuperClaude/MCP/configs/ for JSON-based configuration
- Simplified MCPComponent to modify .claude.json instead of npm/subprocess installation
- Added ModesComponent for behavioral modes (Brainstorming, Introspection, etc.)
- Added MCPDocsComponent for dynamic MCP documentation installation
- Completely removed Hooks component (deleted hooks.py, updated all references)
- Implemented two-stage interactive installation flow
- Updated profiles and configuration files
Benefits:
- Much simpler and more reliable MCP configuration
- Clear separation between server setup and documentation
- Auto-selection of MCP docs based on server choices
- User-friendly two-stage selection process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:35:19 +02:00
|
|
|
try:
|
2025-09-05 15:06:36 +05:30
|
|
|
self.logger.info(f"Uninstalling MCP server: {server_name}")
|
|
|
|
|
|
|
|
|
|
# Check if installed
|
|
|
|
|
if not self._check_mcp_server_installed(server_name):
|
|
|
|
|
self.logger.info(f"MCP server {server_name} not installed")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
self.logger.debug(f"Running: claude mcp remove {server_name} (auto-detect scope)")
|
|
|
|
|
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
2025-09-05 15:06:36 +05:30
|
|
|
["claude", "mcp", "remove", server_name],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=60
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if result.returncode == 0:
|
|
|
|
|
self.logger.success(f"Successfully uninstalled MCP server: {server_name}")
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
error_msg = result.stderr.strip() if result.stderr else "Unknown error"
|
|
|
|
|
self.logger.error(f"Failed to uninstall MCP server {server_name}: {error_msg}")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
except subprocess.TimeoutExpired:
|
|
|
|
|
self.logger.error(f"Timeout uninstalling MCP server {server_name}")
|
|
|
|
|
return False
|
Implement two-stage installation with simplified MCP configuration
- Stage 1: MCP server selection (Context7, Sequential, Magic, Playwright, Serena, Morphllm)
- Stage 2: Framework components (Core, Modes, Commands, Agents, MCP Docs)
Major Changes:
- Created MCP config snippets in SuperClaude/MCP/configs/ for JSON-based configuration
- Simplified MCPComponent to modify .claude.json instead of npm/subprocess installation
- Added ModesComponent for behavioral modes (Brainstorming, Introspection, etc.)
- Added MCPDocsComponent for dynamic MCP documentation installation
- Completely removed Hooks component (deleted hooks.py, updated all references)
- Implemented two-stage interactive installation flow
- Updated profiles and configuration files
Benefits:
- Much simpler and more reliable MCP configuration
- Clear separation between server setup and documentation
- Auto-selection of MCP docs based on server choices
- User-friendly two-stage selection process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:35:19 +02:00
|
|
|
except Exception as e:
|
2025-09-05 15:06:36 +05:30
|
|
|
self.logger.error(f"Error uninstalling MCP server {server_name}: {e}")
|
|
|
|
|
return False
|
Implement two-stage installation with simplified MCP configuration
- Stage 1: MCP server selection (Context7, Sequential, Magic, Playwright, Serena, Morphllm)
- Stage 2: Framework components (Core, Modes, Commands, Agents, MCP Docs)
Major Changes:
- Created MCP config snippets in SuperClaude/MCP/configs/ for JSON-based configuration
- Simplified MCPComponent to modify .claude.json instead of npm/subprocess installation
- Added ModesComponent for behavioral modes (Brainstorming, Introspection, etc.)
- Added MCPDocsComponent for dynamic MCP documentation installation
- Completely removed Hooks component (deleted hooks.py, updated all references)
- Implemented two-stage interactive installation flow
- Updated profiles and configuration files
Benefits:
- Much simpler and more reliable MCP configuration
- Clear separation between server setup and documentation
- Auto-selection of MCP docs based on server choices
- User-friendly two-stage selection process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:35:19 +02:00
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
def _install(self, config: Dict[str, Any]) -> bool:
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
"""Install MCP component with auto-detection of existing servers"""
|
2025-09-05 15:06:36 +05:30
|
|
|
self.logger.info("Installing SuperClaude MCP servers...")
|
|
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
# Validate prerequisites
|
|
|
|
|
success, errors = self.validate_prerequisites()
|
|
|
|
|
if not success:
|
|
|
|
|
for error in errors:
|
|
|
|
|
self.logger.error(error)
|
|
|
|
|
return False
|
2025-09-05 15:06:36 +05:30
|
|
|
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
# Auto-detect existing servers
|
|
|
|
|
self.logger.info("Auto-detecting existing MCP servers...")
|
|
|
|
|
existing_from_config = self._detect_existing_mcp_servers_from_config()
|
|
|
|
|
existing_from_cli = self._detect_existing_mcp_servers_from_cli()
|
|
|
|
|
existing_servers = list(set(existing_from_config + existing_from_cli))
|
|
|
|
|
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
# Get selected servers from config
|
|
|
|
|
selected_servers = config.get("selected_mcp_servers", [])
|
|
|
|
|
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
# Get previously installed servers from metadata
|
|
|
|
|
previous_servers = self.settings_manager.get_metadata_setting("mcp.servers", [])
|
|
|
|
|
|
|
|
|
|
# Merge all server lists
|
|
|
|
|
all_servers = self._merge_server_lists(existing_servers, selected_servers, previous_servers)
|
|
|
|
|
|
|
|
|
|
if not all_servers:
|
|
|
|
|
self.logger.info("No MCP servers detected or selected. Skipping MCP installation.")
|
|
|
|
|
# Still run post-install to update metadata
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
return self._post_install()
|
|
|
|
|
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
self.logger.info(f"Managing MCP servers: {', '.join(all_servers)}")
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
# Install/verify each server
|
2025-09-05 15:06:36 +05:30
|
|
|
installed_count = 0
|
|
|
|
|
failed_servers = []
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
verified_servers = []
|
2025-09-05 15:06:36 +05:30
|
|
|
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
for server_name in all_servers:
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
if server_name in self.mcp_servers:
|
|
|
|
|
server_info = self.mcp_servers[server_name]
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
|
|
|
|
# Check if already installed and working
|
|
|
|
|
if self._check_mcp_server_installed(server_name):
|
|
|
|
|
self.logger.info(f"MCP server {server_name} already installed and working")
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
installed_count += 1
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
verified_servers.append(server_name)
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
else:
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
# Try to install
|
|
|
|
|
if self._install_mcp_server(server_info, config):
|
|
|
|
|
installed_count += 1
|
|
|
|
|
verified_servers.append(server_name)
|
|
|
|
|
else:
|
|
|
|
|
failed_servers.append(server_name)
|
|
|
|
|
|
|
|
|
|
# Check if this is a required server
|
|
|
|
|
if server_info.get("required", False):
|
|
|
|
|
self.logger.error(f"Required MCP server {server_name} failed to install")
|
|
|
|
|
return False
|
2025-09-05 15:06:36 +05:30
|
|
|
else:
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
self.logger.warning(f"Unknown MCP server '{server_name}' cannot be managed by SuperClaude")
|
|
|
|
|
|
|
|
|
|
# Update the list of successfully managed servers
|
|
|
|
|
self.installed_servers_in_session = verified_servers
|
2025-09-05 15:06:36 +05:30
|
|
|
|
|
|
|
|
# Verify installation
|
|
|
|
|
if not config.get("dry_run", False):
|
|
|
|
|
self.logger.info("Verifying MCP server installation...")
|
|
|
|
|
try:
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
2025-09-05 15:06:36 +05:30
|
|
|
["claude", "mcp", "list"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=60
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
if result.returncode == 0:
|
|
|
|
|
self.logger.debug("MCP servers list:")
|
|
|
|
|
for line in result.stdout.strip().split('\n'):
|
|
|
|
|
if line.strip():
|
|
|
|
|
self.logger.debug(f" {line.strip()}")
|
|
|
|
|
else:
|
|
|
|
|
self.logger.warning("Could not verify MCP server installation")
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.warning(f"Could not verify MCP installation: {e}")
|
|
|
|
|
|
|
|
|
|
if failed_servers:
|
|
|
|
|
self.logger.warning(f"Some MCP servers failed to install: {failed_servers}")
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
self.logger.success(f"MCP component partially managed ({installed_count} servers)")
|
2025-08-14 08:56:04 +05:30
|
|
|
else:
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
self.logger.success(f"MCP component successfully managing ({installed_count} servers)")
|
2025-09-05 15:06:36 +05:30
|
|
|
|
|
|
|
|
return self._post_install()
|
|
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
def _post_install(self) -> bool:
|
2025-09-15 13:34:48 +05:30
|
|
|
"""Post-installation tasks"""
|
2025-09-05 15:06:36 +05:30
|
|
|
# Update metadata
|
2025-08-14 08:56:04 +05:30
|
|
|
try:
|
2025-09-05 15:06:36 +05:30
|
|
|
metadata_mods = self.get_metadata_modifications()
|
2025-08-14 08:56:04 +05:30
|
|
|
self.settings_manager.update_metadata(metadata_mods)
|
2025-09-05 15:06:36 +05:30
|
|
|
|
|
|
|
|
# Add component registration to metadata
|
|
|
|
|
self.settings_manager.add_component_registration("mcp", {
|
2025-09-05 12:09:23 +00:00
|
|
|
"version": __version__,
|
2025-09-05 15:06:36 +05:30
|
|
|
"category": "integration",
|
Fixes and improvement (#378)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Add Docker support and framework enhancements
- Add serena-docker.json MCP configuration
- Update MCP configs and installer components
- Enhance CLI commands with new functionality
- Add symbols utility for framework operations
- Improve UI and logging components
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Bump version from 4.1.1 to 4.1.2
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Bump version from 4.1.2 to 4.1.3
- Update version across all package files
- Update documentation and README files
- Update Python module version strings
- Update feature configuration files
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix home directory detection for immutable distros
- Add get_home_directory() function to handle /var/home/$USER paths
- Support Fedora Silverblue, Universal Blue, and other immutable distros
- Replace all Path.home() calls throughout the setup system
- Add fallback methods for edge cases and compatibility
- Create test script for immutable distro validation
Fixes:
- Incorrect home path detection on immutable Linux distributions
- Installation failures on Fedora Silverblue/Universal Blue
- Issues with Claude Code configuration paths
Technical changes:
- New get_home_directory() in utils/environment.py
- Updated all CLI commands, validators, and core components
- Maintains backward compatibility with standard systems
- Robust fallback chain for edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix circular import and complete immutable distro support
- Move get_home_directory() to separate paths.py module
- Resolve circular import between environment.py and logger.py
- Update all import statements across the setup system
- Verify functionality with comprehensive testing
Technical changes:
- Created setup/utils/paths.py for path utilities
- Updated imports in all affected modules
- Maintains full backward compatibility
- Fixes installation on immutable distros
Testing completed:
- ✅ Basic home directory detection works
- ✅ Installation system integration works
- ✅ Environment utilities integration works
- ✅ Immutable distro logic validated
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Co-Authored-By: Mithun Gowda B <mithungowda.b7411@gmail.com>
* Fix mcp_docs installation bugs
- Fix mcp_docs component incorrectly marking as installed when no MCP servers selected
- Add MCP server selection prompt when mcp_docs component is explicitly requested
- Return False instead of calling _post_install() when no servers selected or files found
- Add user-friendly warning when mcp_docs requested without server selection
- Remove mcp_docs from installation when no servers are available
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP server name mapping for documentation files
- Add mapping for sequential-thinking -> MCP_Sequential.md
- Add mapping for morphllm-fast-apply -> MCP_Morphllm.md
- Ensures mcp_docs installation works with all MCP server naming conventions
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Enable mcp_docs component reinstallation
- Add is_reinstallable() method returning True to allow repeat installations
- Fixes issue where mcp_docs was skipped on subsequent installation attempts
- Enables users to change MCP server selections and update documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix repeat installation issues for mcp_docs
- Ensure mcp component is auto-added when mcp_docs is selected with servers
- Fix component_files tracking to only include successfully copied files
- Ensures CLAUDE.md gets properly updated with MCP documentation imports
- Fixes issue where MCP servers weren't installed on repeat attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP component metadata tracking and debug logging
- Fix servers_count to track actually installed servers instead of total available
- Add installed_servers list to metadata for better tracking
- Add debug logging to trace component auto-addition
- Ensures MCP component appears properly in metadata when servers are installed
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix pyproject.toml license format and add missing classifier
- Fix license format from string to {text = "MIT"} format
- Add missing "License :: OSI Approved :: MIT License" classifier
- Fix indentation consistency in classifiers section
- Resolves setup.py installation errors and PEP 621 compliance
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Fix MCP incremental installation and auto-detection system
PROBLEM FIXED:
- MCP component only registered servers selected during current session
- mcp_docs component only installed docs for newly selected servers
- Users had to reinstall everything when adding new MCP servers
- Installation failed if no servers selected but servers existed
SOLUTION IMPLEMENTED:
- Add auto-detection of existing MCP servers from config files (.claude.json, claude_desktop_config.json)
- Add CLI detection via 'claude mcp list' output parsing
- Add smart server merging (existing + selected + previously installed)
- Add server name normalization for common variations
- Fix CLI logic to allow mcp_docs installation without server selection
- Add graceful error handling for corrupted configs
KEY FEATURES:
✅ Auto-detects existing MCP servers from multiple config locations
✅ Supports incremental installation (add new servers without breaking existing)
✅ Works with or without --install-dir argument
✅ Handles server name variations (sequential vs sequential-thinking, etc.)
✅ Maintains metadata persistence across installation sessions
✅ Graceful fallback when config files are corrupted
✅ Compatible with both interactive and non-interactive modes
TESTED SCENARIOS:
- Fresh installation with no MCP servers ✅
- Auto-detection with existing servers ✅
- Incremental server additions ✅
- Mixed mode (new + existing servers) ✅
- Error handling with corrupted configs ✅
- Default vs custom installation directories ✅
- Interactive vs command-line modes ✅
Files changed:
- setup/cli/commands/install.py: Allow mcp_docs auto-detection mode
- setup/components/mcp.py: Add comprehensive auto-detection logic
- setup/components/mcp_docs.py: Add auto-detection for documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Integrate SuperClaude framework flags into help command
ENHANCEMENT:
- Add comprehensive flag documentation to /sc:help command
- Include all 25 SuperClaude framework flags with descriptions
- Organize flags into logical categories (Mode, MCP, Analysis, Execution, Output)
- Add practical usage examples showing flag combinations
- Include flag priority rules and precedence hierarchy
NEW SECTIONS ADDED:
✅ Mode Activation Flags (5 flags): --brainstorm, --introspect, --task-manage, --orchestrate, --token-efficient
✅ MCP Server Flags (8 flags): --c7, --seq, --magic, --morph, --serena, --play, --all-mcp, --no-mcp
✅ Analysis Depth Flags (3 flags): --think, --think-hard, --ultrathink
✅ Execution Control Flags (6 flags): --delegate, --concurrency, --loop, --iterations, --validate, --safe-mode
✅ Output Optimization Flags (3 flags): --uc, --scope, --focus
✅ Flag Priority Rules: Clear hierarchy and precedence guidelines
✅ Usage Examples: 4 practical examples showing real-world flag combinations
IMPACT:
- Users can now discover all SuperClaude capabilities from /sc:help
- Single source of truth for commands AND flags
- Improved discoverability of advanced features
- Clear guidance on flag usage and combinations
- Help content nearly doubled (68 → 148 lines) with valuable reference information
Files changed:
- SuperClaude/Commands/help.md: Integrate FLAGS.md content with structured tables and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Remove non-existent commands from modes.md documentation
PROBLEM FIXED:
- Documentation contained references to fake/non-existent commands
- Commands like sc:fix, sc:simple-pix, sc:update, sc:develop, sc:modernize, sc:simple-fix don't exist in CLI
- Confusing users who try to use these commands and get errors
- Inconsistency between documentation and actual SuperClaude command availability
COMMANDS REMOVED/REPLACED:
❌ /sc:simple-fix → ✅ /sc:troubleshoot (real command)
❌ /sc:develop → ✅ /sc:implement (real command)
❌ /sc:modernize → ✅ /sc:improve (real command)
AFFECTED FILES:
- Docs/User-Guide/modes.md: Fixed all non-existent command references
- Docs/User-Guide-jp/modes.md: Fixed Japanese translation with same issues
- Docs/User-Guide-zh/modes.md: Fixed Chinese translation with same issues
VERIFICATION:
✅ All remaining /sc: commands verified to exist in SuperClaude/Commands/
✅ No more references to fake commands in any language version
✅ Examples now use only real, working SuperClaude commands
✅ User experience improved - no more confusion from non-working commands
REAL COMMANDS REFERENCED:
- /sc:analyze, /sc:brainstorm, /sc:help, /sc:implement
- /sc:improve, /sc:reflect, /sc:troubleshoot
- All verified to exist in CLI implementation
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
* Version bump to 4.1.4
CHANGELOG:
✅ Added comprehensive flag documentation to /sc:help command
✅ Fixed MCP incremental installation and auto-detection system
✅ Cleaned up documentation by removing non-existent commands
✅ Enhanced user experience with complete capability reference
VERSION UPDATES:
- Updated VERSION file: 4.1.3 → 4.1.4
- Updated pyproject.toml: 4.1.3 → 4.1.4
- Updated package.json: 4.1.3 → 4.1.4
- Updated all Python __init__.py fallback versions
- Updated all documentation references across all languages
- Updated setup/data/features.json component versions
- Updated CHANGELOG.md with comprehensive 4.1.4 release notes
SCOPE OF CHANGES:
📦 Core files: VERSION, pyproject.toml, package.json, __init__.py files
📚 Documentation: All .md files across English, Japanese, Chinese
🔧 Setup files: features.json, base.py version references
📝 Project files: README files, CHANGELOG, SECURITY, CONTRIBUTING
VERIFICATION:
✅ No remaining 4.1.3 references found
✅ 29 files now properly reference 4.1.4
✅ All language versions consistently updated
✅ Package metadata properly versioned for distribution
🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
2025-09-20 10:38:42 +02:00
|
|
|
"servers_count": len(self.installed_servers_in_session),
|
|
|
|
|
"installed_servers": self.installed_servers_in_session
|
2025-09-05 15:06:36 +05:30
|
|
|
})
|
|
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
self.logger.info("Updated metadata with MCP component registration")
|
2025-09-15 13:34:48 +05:30
|
|
|
return True
|
2025-08-14 08:56:04 +05:30
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.error(f"Failed to update metadata: {e}")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
def uninstall(self) -> bool:
|
2025-09-05 15:06:36 +05:30
|
|
|
"""Uninstall MCP component"""
|
2025-08-14 08:56:04 +05:30
|
|
|
try:
|
2025-09-05 15:06:36 +05:30
|
|
|
self.logger.info("Uninstalling SuperClaude MCP servers...")
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Uninstall each MCP server
|
|
|
|
|
uninstalled_count = 0
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
for server_name in self.mcp_servers.keys():
|
|
|
|
|
if self._uninstall_mcp_server(server_name):
|
|
|
|
|
uninstalled_count += 1
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Update metadata to remove MCP component
|
2025-08-14 08:56:04 +05:30
|
|
|
try:
|
|
|
|
|
if self.settings_manager.is_component_installed("mcp"):
|
|
|
|
|
self.settings_manager.remove_component_registration("mcp")
|
2025-09-05 15:06:36 +05:30
|
|
|
# Also remove MCP configuration from metadata
|
|
|
|
|
metadata = self.settings_manager.load_metadata()
|
|
|
|
|
if "mcp" in metadata:
|
|
|
|
|
del metadata["mcp"]
|
|
|
|
|
self.settings_manager.save_metadata(metadata)
|
|
|
|
|
self.logger.info("Removed MCP component from metadata")
|
2025-08-14 08:56:04 +05:30
|
|
|
except Exception as e:
|
2025-09-15 13:34:48 +05:30
|
|
|
self.logger.warning(f"Could not update metadata: {e}")
|
|
|
|
|
|
|
|
|
|
self.logger.success(f"MCP component uninstalled ({uninstalled_count} servers removed)")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.exception(f"Unexpected error during MCP uninstallation: {e}")
|
2025-08-14 08:56:04 +05:30
|
|
|
return False
|
|
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def get_dependencies(self) -> List[str]:
|
|
|
|
|
"""Get dependencies"""
|
|
|
|
|
return ["core"]
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def update(self, config: Dict[str, Any]) -> bool:
|
|
|
|
|
"""Update MCP component"""
|
|
|
|
|
try:
|
|
|
|
|
self.logger.info("Updating SuperClaude MCP servers...")
|
|
|
|
|
|
|
|
|
|
# Check current version
|
|
|
|
|
current_version = self.settings_manager.get_component_version("mcp")
|
|
|
|
|
target_version = self.get_metadata()["version"]
|
|
|
|
|
|
|
|
|
|
if current_version == target_version:
|
|
|
|
|
self.logger.info(f"MCP component already at version {target_version}")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
self.logger.info(f"Updating MCP component from {current_version} to {target_version}")
|
|
|
|
|
|
|
|
|
|
# For MCP servers, update means reinstall to get latest versions
|
|
|
|
|
updated_count = 0
|
|
|
|
|
failed_servers = []
|
|
|
|
|
|
|
|
|
|
for server_name, server_info in self.mcp_servers.items():
|
|
|
|
|
try:
|
|
|
|
|
# Uninstall old version
|
|
|
|
|
if self._check_mcp_server_installed(server_name):
|
|
|
|
|
self._uninstall_mcp_server(server_name)
|
|
|
|
|
|
|
|
|
|
# Install new version
|
|
|
|
|
if self._install_mcp_server(server_info, config):
|
|
|
|
|
updated_count += 1
|
|
|
|
|
else:
|
|
|
|
|
failed_servers.append(server_name)
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.error(f"Error updating MCP server {server_name}: {e}")
|
|
|
|
|
failed_servers.append(server_name)
|
|
|
|
|
|
|
|
|
|
# Update metadata
|
|
|
|
|
try:
|
|
|
|
|
# Update component version in metadata
|
|
|
|
|
metadata = self.settings_manager.load_metadata()
|
|
|
|
|
if "components" in metadata and "mcp" in metadata["components"]:
|
|
|
|
|
metadata["components"]["mcp"]["version"] = target_version
|
|
|
|
|
metadata["components"]["mcp"]["servers_count"] = len(self.mcp_servers)
|
|
|
|
|
if "mcp" in metadata:
|
|
|
|
|
metadata["mcp"]["servers"] = list(self.mcp_servers.keys())
|
|
|
|
|
self.settings_manager.save_metadata(metadata)
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.warning(f"Could not update metadata: {e}")
|
|
|
|
|
|
|
|
|
|
if failed_servers:
|
|
|
|
|
self.logger.warning(f"Some MCP servers failed to update: {failed_servers}")
|
|
|
|
|
return False
|
|
|
|
|
else:
|
|
|
|
|
self.logger.success(f"MCP component updated to version {target_version}")
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
self.logger.exception(f"Unexpected error during MCP update: {e}")
|
2025-08-14 22:19:44 +02:00
|
|
|
return False
|
2025-09-05 15:06:36 +05:30
|
|
|
|
|
|
|
|
def validate_installation(self) -> Tuple[bool, List[str]]:
|
|
|
|
|
"""Validate MCP component installation"""
|
|
|
|
|
errors = []
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Check metadata registration
|
|
|
|
|
if not self.settings_manager.is_component_installed("mcp"):
|
|
|
|
|
errors.append("MCP component not registered in metadata")
|
|
|
|
|
return False, errors
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
# Check version matches
|
|
|
|
|
installed_version = self.settings_manager.get_component_version("mcp")
|
|
|
|
|
expected_version = self.get_metadata()["version"]
|
|
|
|
|
if installed_version != expected_version:
|
|
|
|
|
errors.append(f"Version mismatch: installed {installed_version}, expected {expected_version}")
|
2025-08-14 22:19:44 +02:00
|
|
|
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
# Check if Claude CLI is available and validate installed servers
|
2025-09-05 15:06:36 +05:30
|
|
|
try:
|
2025-09-18 19:39:52 +12:00
|
|
|
result = self._run_command_cross_platform(
|
2025-09-05 15:06:36 +05:30
|
|
|
["claude", "mcp", "list"],
|
|
|
|
|
capture_output=True,
|
|
|
|
|
text=True,
|
2025-09-18 19:39:52 +12:00
|
|
|
timeout=60
|
2025-09-05 15:06:36 +05:30
|
|
|
)
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
if result.returncode != 0:
|
|
|
|
|
errors.append("Could not communicate with Claude CLI for MCP server verification")
|
|
|
|
|
else:
|
Fixed Some Bugs (#355)
* Fix: Install only selected MCP servers and ensure valid empty backups
This commit addresses two separate issues:
1. **MCP Installation:** The `install` command was installing all MCP servers instead of only the ones selected by the user. The `_install` method in `setup/components/mcp.py` was iterating through all available servers, not the user's selection. This has been fixed to respect the `selected_mcp_servers` configuration. A new test has been added to verify this fix.
2. **Backup Creation:** The `create_backup` method in `setup/core/installer.py` created an invalid `.tar.gz` file when the backup source was empty. This has been fixed to ensure that a valid, empty tar archive is always created. A test was added for this as well.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Correct installer validation for MCP and MCP Docs components
This commit fixes a validation issue in the installer where it would incorrectly fail after a partial installation of MCP servers.
The `MCPComponent` validation logic was checking for all "required" servers, regardless of whether they were selected by the user. This has been corrected to only validate the servers that were actually installed, by checking against the list of installed servers stored in the metadata. The metadata storage has also been fixed to only record the installed servers.
The `MCPDocsComponent` was failing validation because it was not being registered in the metadata if no documentation files were installed. This has been fixed by ensuring the post-installation hook runs even when no files are copied.
New tests have been added for both components to verify the corrected logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* Fix: Allow re-installation of components and correct validation logic
This commit fixes a bug that prevented new MCP servers from being installed on subsequent runs of the installer. It also fixes the validation logic that was causing failures after a partial installation.
The key changes are:
1. A new `is_reinstallable` method has been added to the base `Component` class. This allows certain components (like the `mcp` component) to be re-run even if they are already marked as installed.
2. The installer logic has been updated to respect this new method.
3. The `MCPComponent` now correctly stores only the installed servers in the metadata.
4. The validation logic for `MCPComponent` and `MCPDocsComponent` has been corrected to prevent incorrect failures.
New tests have been added to verify all aspects of the new logic.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Display authors in UI header and update author info
This commit implements the user's request to display author names and emails in the UI header of the installer.
The key changes are:
1. The `__email__` field in `SuperClaude/__init__.py` has been updated to include both authors' emails.
2. The `display_header` function in `setup/utils/ui.py` has been modified to read the author and email information and display it.
3. A new test has been added to `tests/test_ui.py` to verify the new UI output.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Version bump to 4.1.0 and various fixes
This commit prepares the project for the v4.1.0 release. It includes a version bump across all relevant files and incorporates several bug fixes and feature enhancements from recent tasks.
Key changes in this release:
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 in all configuration files, documentation, and source code.
- **Installer Fixes**:
- Components can now be marked as `reinstallable`, allowing them to be re-run on subsequent installations. This fixes a bug where new MCP servers could not be added.
- The validation logic for `mcp` and `mcp_docs` components has been corrected to avoid incorrect failures.
- A bug in the backup creation process that created invalid empty archives has been fixed.
- **UI Enhancements**:
- Author names and emails are now displayed in the installer UI header.
- **Metadata Updates**:
- Mithun Gowda B has been added as an author.
- **New Tests**:
- Comprehensive tests have been added for the installer logic, MCP components, and UI changes to ensure correctness and prevent regressions.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Resolve dependencies for partial installs and other fixes
This commit addresses several issues, the main one being a dependency resolution failure during partial installations.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree when a user requests to install a subset of components. This fixes the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run on subsequent installs, enabling the addition of new servers.
- **Validation Logic**: The validation for `mcp` and `mcp_docs` has been corrected to avoid spurious failures.
- **UI and Metadata**: Author information has been added to the UI header and source files.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Tests**: New tests have been added to cover all the above changes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* fix: Installer fixes and version bump to 4.1.0
This commit includes a collection of fixes for the installer logic, UI enhancements, and a version bump to 4.1.0.
Key changes:
- **Dependency Resolution**: The installer now correctly resolves the full dependency tree for partial installations, fixing the "Unknown component: core" error.
- **Component Re-installation**: A new `is_reinstallable` flag allows components like `mcp` to be re-run to add new servers.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts the user to select servers.
- **Validation Logic**: The post-installation validation logic has been corrected to only validate components from the current session and to use the correct list of installed servers.
- **UI & Metadata**: Author information has been added to the UI and source files.
- **Version Bump**: The project version has been updated from 4.0.9 to 4.1.0 across all files.
- **Tests**: New tests have been added to cover all the bug fixes.
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
* feat: Add --authors flag and multiple installer fixes
This commit introduces the `--authors` flag to display author information and includes a collection of fixes for the installer logic.
Key changes:
- **New Feature**: Added an `--authors` flag that displays the names, emails, and GitHub usernames of the project authors.
- **Dependency Resolution**: Fixed a critical bug where partial installations would fail due to unresolved dependencies.
- **Component Re-installation**: Added a mechanism to allow components to be "reinstallable", fixing an issue that prevented adding new MCP servers on subsequent runs.
- **MCP Installation**: The non-interactive installation of the `mcp` component now correctly prompts for server selection.
- **Validation Logic**: Corrected the post-installation validation to prevent spurious errors.
- **Version Bump**: The project version has been updated to 4.1.0.
- **Metadata**: Author and GitHub information has been added to the source files.
- **UI**: The installer header now displays author information.
- **Tests**: Added new tests for all new features and bug fixes.
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
---------
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Jules <jules-ai-assistant@users.noreply.github.com>
2025-09-13 17:28:52 +05:30
|
|
|
claude_mcp_output = result.stdout.lower()
|
|
|
|
|
|
|
|
|
|
# Get the list of servers that should be installed from metadata
|
|
|
|
|
installed_servers = self.settings_manager.get_metadata_setting("mcp.servers", [])
|
|
|
|
|
|
|
|
|
|
for server_name in installed_servers:
|
|
|
|
|
if server_name.lower() not in claude_mcp_output:
|
|
|
|
|
errors.append(f"Installed MCP server '{server_name}' not found in 'claude mcp list' output.")
|
|
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
except Exception as e:
|
|
|
|
|
errors.append(f"Could not verify MCP server installation: {e}")
|
2025-08-14 22:19:44 +02:00
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
return len(errors) == 0, errors
|
2025-08-14 08:56:04 +05:30
|
|
|
|
2025-09-05 15:06:36 +05:30
|
|
|
def _get_source_dir(self):
|
|
|
|
|
"""Get source directory for framework files"""
|
|
|
|
|
return None
|
|
|
|
|
|
2025-08-14 08:56:04 +05:30
|
|
|
def get_size_estimate(self) -> int:
|
2025-09-05 15:06:36 +05:30
|
|
|
"""Get estimated installation size"""
|
|
|
|
|
# MCP servers are installed via npm, estimate based on typical sizes
|
|
|
|
|
base_size = 50 * 1024 * 1024 # ~50MB for all servers combined
|
|
|
|
|
return base_size
|
|
|
|
|
|
|
|
|
|
def get_installation_summary(self) -> Dict[str, Any]:
|
|
|
|
|
"""Get installation summary"""
|
|
|
|
|
return {
|
|
|
|
|
"component": self.get_metadata()["name"],
|
|
|
|
|
"version": self.get_metadata()["version"],
|
|
|
|
|
"servers_count": len(self.mcp_servers),
|
|
|
|
|
"mcp_servers": list(self.mcp_servers.keys()),
|
|
|
|
|
"estimated_size": self.get_size_estimate(),
|
|
|
|
|
"dependencies": self.get_dependencies(),
|
|
|
|
|
"required_tools": ["node", "npm", "claude"]
|
2025-09-15 13:34:48 +05:30
|
|
|
}
|