96 Commits

Author SHA1 Message Date
developerjhp
df01c52b88 fix: Update all GitHub URLs to correct repository location
- Changed all links from github.com/NomenAK/SuperClaude to github.com/SuperClaude-Org/SuperClaude_Framework
2025-07-31 11:04:54 +09:00
Priyank Rajai
ebeee4e6cb
Update README.md (#237)
Signed-off-by: Priyank Rajai <priyank73@hotmail.com>
2025-07-30 10:24:37 +02:00
reon nishimura
5436b1a762
Fix troubleshoot command usage documentation (#220)
Add missing --fix flag to usage section to match arguments list
2025-07-26 09:43:43 +02:00
Adrian Carolli
484a84971e
chore: update clone url to reflect new Github org (#230)
chore: update clone url to reflect new org

Signed-off-by: Adrian Carolli <adrian.caarolli@gmail.com>
2025-07-26 09:43:13 +02:00
NomenAK
406b3f3a1a
Update commands-guide.md
Signed-off-by: NomenAK <39598727+NomenAK@users.noreply.github.com>
2025-07-24 12:22:55 +02:00
Mithun Gowda B
f7a9e19a9a
Fixed installer.py
Fixed Update issue added missing function update_components() to installer.py

Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 17:36:15 +05:30
Mithun Gowda B
1ae2c57726
Update __init__.py
Added some comments to __init__.py

Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:29:34 +05:30
Mithun Gowda B
c6ec61aebe
Update __init__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:28:20 +05:30
Mithun Gowda B
dc3946d4f1
refactor: remove duplicate import sys in __main__.py (#214)
## Description
Remove redundant `import sys` statement in SuperClaude/__main__.py that
was imported twice.

  ## Changes
  - Removed duplicate `import sys` at line 22
- The sys module is already imported at line 14 with other standard
library imports

  ## Type of Change
  - [x] Bug fix (non-breaking change which fixes an issue)
  - [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
  - [ ] Documentation update

  ## Testing
  - [x] Code still imports and runs correctly
  - [x] No functionality is affected by this change

  ## Additional Notes
This is a minor code cleanup that improves code quality by removing
redundant imports.
2025-07-23 08:27:36 +05:30
Mithun Gowda B
02e9064eef
Update __init__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:26:15 +05:30
Mithun Gowda B
9df2758c9d
Update __init__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:25:48 +05:30
Mithun Gowda B
bbd556e4d4
Update __init__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:25:17 +05:30
Mithun Gowda B
9ac8833d2c
Update __init__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:24:47 +05:30
Mithun Gowda B
de971860b9
Update __main__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 08:24:17 +05:30
Mithun Gowda B
b8461667de
fix: correct playwright MCP package name typo (#210)
## Summary
- Fix critical typo in playwright MCP server configuration
- Change @playright/mcp to @playwright/mcp in setup/components/mcp.py
- Prevents MCP installation failures due to package not found errors

## Test plan
- [x] Verify package name is correctly spelled as @playwright/mcp
- [x] Confirm no other playwright typos exist in codebase
- [x] Test MCP installation process works with corrected package name

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-07-23 08:21:20 +05:30
Mithun Gowda B
3e3b708144
Fix installation failures on Windows systems with alias usernames (#213)
# Fix Windows user directory validation for aliased usernames

## 🐛 Problem Description

The current security validation in `setup/utils/security.py` fails when
Windows users have an alias username that doesn't match their profile
directory name. This occurs because the validation constructs the
expected path using `%USERNAME%` but compares it against the actual
profile directory path.

### Issue Details
- **Error**: `Installation must be in current user's directory (A)`
- **Root Cause**: Username alias `A` != profile directory `User` 
- **Affected Code**: `SecurityValidator.validate_installation_target()`
line ~390

### Example Scenario
```
USERNAME=A
USERPROFILE=C:\Users\User
Target Path=C:\Users\User\.claude

Expected by validation: \users\a\
Actual path contains:    \users\user\
Result:  Validation fails
```

## 🔧 Proposed Solution

Replace the username-based path construction with actual home directory
comparison

## 📋Changes Made
File: `setup/utils/security.py`
Lines ~385-395 in `validate_installation_target()` method:**

##  Benefits

1. **Fixes alias username issue**: Works with any username/profile
directory combination
2. **More accurate validation**: Uses actual filesystem paths instead of
environment variables
3. **Maintains security**: Still prevents installation outside user
directory
4. **Better error messages**: Shows actual username when available
5. **Cross-platform compatibility**: `Path.home()` works on all
platforms

## 🧪 Test Cases

### Test Case 1: Alias Username (Current Bug)
```python
# Environment
USERNAME=A
USERPROFILE=C:\Users\User

# Test
target = Path("C:/Users/User/.claude")
result, errors = SecurityValidator.validate_installation_target(target)

# (currently fails)
assert result == True, "Expected success"
```

### Test Case 2: Matching Username (Currently Works)
```python
# Environment  
USERNAME=User
USERPROFILE=C:\Users\User

# Test
target = Path("C:/Users/User/.claude")  
result, errors = SecurityValidator.validate_installation_target(target)

assert result == True, "Expected success"
```

### Test Case 3: Outside User Directory (Should Fail)
```python
# Test
target = Path("C:/Users/OtherUser/.claude")
result, errors = SecurityValidator.validate_installation_target(target)

# Expected: Failure
assert result == False
assert "current user's directory" in errors[0]
```
## Related Issues
#190
2025-07-23 08:09:51 +05:30
SonSanghee
58a4710e8a refactor: remove duplicate import sys in __main__.py
The sys module was imported twice - once at line 14 with other standard
imports and again at line 22. The second import is redundant since sys
is already available from the first import.
2025-07-23 11:19:51 +09:00
Andrey Korzh
d075a67de0 Fix installation failures on Windows systems with alias usernames 2025-07-22 23:12:32 +02:00
ashigirl96
572a11d82f fix: correct playwright MCP package name typo
Fix typo in playwright MCP server configuration where @playright/mcp
was incorrectly specified instead of @playwright/mcp, which would
cause installation failures.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 01:41:34 +09:00
Mithun Gowda B
0b2c9c6c7a
refactor: fix installation process (#209)
# summary
* this pr refactors superclaude’s install system to boost
maintainability, cut duplicate code, and most important fixes a bunch of
issues that ppl are having when trying to install v3

Fixes: #172 #182 #189 #193 #201 #202 #206 #207

## key changes:

### architecture improvements

* moved shared logic to a base component class to reduce duplication.
* shifted config, file, and settings managers to a managers/ module for
better organization.
* streamlined installer logic by removing duplicate code patterns.

### component system refactoring

* unified install flow with custom hooks (_install(), _post_install()).
* components now auto-discover files, no hardcoding (sub)path names.
* centralized error handling and logging.
* security validation moved to base class for consistency.

### code organization

* simplified component files by leveraging base class logic.
* eliminated repetitive validation, install, and file management code.
* cleaned up imports after module restructure.

### loc impact

* 554 insertions, 863 deletions.
* net: 309 lines cut, with added functionality.


## next steps
### e2e tests

* test migration from v2: use an invalid `.claude/settings.json` with
superclaude config (i.e fields like `framework`, `components`) and
verify it migrates to the new metadata json.

### cleanup and chores

* there's still bits of dead code from the initial v3 commit that i've
noticed while refactoring this shit
* update documentation
* add guardrails (maybe use github actions?) so we can't push stuff that
breaks users envs onto master
2025-07-22 19:27:55 +05:30
Andrew Low
379908a797 refactor: simplify and remove duplicate code across operations files
* Consolidate installation check logic using SettingsManager methods
* Simplify component retrieval by delegating to SettingsManager
* Add 'all' components shorthand support in installer
2025-07-22 18:37:48 +08:00
Andrew Low
f7311bf480 refactor: simplify Component architecture and move shared logic to base class
* Component Base Class:
  * Add constructor parameter for component subdirectory
  * Move file discovery utilities to base class to avoid repetition in subclasses
  * Same for validate_prerequisites, get_files_to_install, get_settings_modifications methods
  * Split install method into _install and _post_install for better separation of concerns
  * Add error handling wrapper around _install method

* All Component Subclasses:
  * Remove duplicate code now handled by base class
  * Use shared file discovery and installation logic
  * Simplify metadata updates using base class methods
  * Leverage base class file handling and validation

* Hooks Component:
  * Fix the logic for handling both placeholder and actual hooks scenarios

* MCP Component:
  * Fix npm package names and installation commands
2025-07-22 18:36:42 +08:00
Andrew Low
fff47ec1b7 refactor: remove unused code and simplify installer
* Remove unused json import
* Remove unused settings registry update methods (_update_settings_registry, _remove_from_settings_registry)
  * the components themselves are responsible for registering in metadata/settings file
* Remove uninstall_component method
  * the components themselves are resonsible for their uninstall logic
* Simplify post-install validation logic
2025-07-22 18:26:14 +08:00
Andrew Low
b8e5e3f6f5 refactor: update imports after moving managers to separate module
* Remove manager class imports from core/__init__.py and update validator.py to import ConfigManager from new managers module location.
2025-07-22 18:18:19 +08:00
Andrew Low
2db7c80eb1 refactor: move manager classes from core to managers module
* Move ConfigManager, SettingsManager, and FileManager from setup/core to setup/managers with new init.py for cleaner organization.
* Update SettingsManager with enhanced metadata handling methods and installation detection utilities.
2025-07-22 18:11:18 +08:00
Mithun Gowda B
df94650bef
Update backup.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:44:10 +05:30
Mithun Gowda B
07e4028402
Update update.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:43:12 +05:30
Mithun Gowda B
07ca0044d0
Update uninstall.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:42:02 +05:30
Mithun Gowda B
3a8e245a91
Update install.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:34:00 +05:30
Mithun Gowda B
8c54fc38d8
Update __main__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-20 20:11:27 +05:30
Mithun Gowda B
c19a7ce898
fix:non-breaking space (U+00A0) installation error (#197)
While installing on my windows machine, I was getting error
```
python -m SuperClaude install
Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 159, in _get_module_details
  File "<frozen importlib._bootstrap_external>", line 1160, in get_code
  File "<frozen importlib._bootstrap_external>", line 1090, in source_to_code
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "D:\prac_repo\AI\SuperClaude\SuperClaude\__main__.py", line 206
     
    ^
SyntaxError: invalid non-printable character U+00A0
```
2025-07-20 19:54:53 +05:30
shashankvivek
5e19d21262 fix:non-breaking space (U+00A0) installation error 2025-07-20 15:12:58 +02:00
Mithun Gowda B
fff298b4cd
Update __main__.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-20 11:27:37 +05:30
Mithun Gowda B
4daa814b80
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-20 09:39:20 +05:30
Mithun Gowda B
4fc5ce7c3f
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-20 09:38:21 +05:30
Mithun Gowda B
e09966ae9e
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-20 09:36:11 +05:30
Mithun Gowda B
7e235d465b
🚀 Fix: Ensure settings.json is created after install (#185)
* Fixed installer.py

Fixed the settings.json missing issue

* Fixed new upload feature  Co-authored-by: mithun50 <mithungowda.b7411@gmail.com>

Fixed new upload feature  Co-authored-by: mithun50 <mithungowda.b7411@gmail.com>
2025-07-18 22:10:17 +02:00
Prashanth681
b70f019253
Updated installation-guide.md (#180)
Update installation-guide.md

Signed-off-by: Prashanth681 <rprashanth681@gmail.com>
2025-07-18 09:06:36 +02:00
Joevidev
c05ce38159
feat: Add uv for faster and more efficient package management (#156)
* refactor: pyproject.toml to use Hatchling as the build backend and update project metadata

- Changed build backend from setuptools to hatchling.
- Updated project name, description, authors, and dependencies.
- Added project URLs and scripts section for SuperClaude.
- Configured versioning and build targets for wheel and sdist.

* feat: Update installation instructions in README.md to reflect new package management commands using 'uv' instead of 'pip'.

* feat: Add uv.lock file to manage package dependencies and versions for SuperClaude

* fix: Update library usage guidelines in RULES.md to reference pyproject.toml instead of requirements.txt
2025-07-17 12:45:40 +02:00
atlonxp
bc6c53f78d
Meta-Orchestration Command (#163)
Add new command to SuperClaude
2025-07-17 12:33:20 +02:00
Jari Van Melckebeke
89f54343e7
fix table of contents links (#170) 2025-07-17 12:30:25 +02:00
Mithun Gowda B
a778efaf14
Update README.md
Co-authored-by: Mithun Gowda B <mithungowda.b7411@gmail.com>

Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 14:18:47 +05:30
Mithun Gowda B
0d05e2a05d
Update setup.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 13:31:17 +05:30
Mithun Gowda B
720ebb0090
Update installation-guide.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 12:57:44 +05:30
Mithun Gowda B
f81f82e898
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 12:55:55 +05:30
Mithun Gowda B
664fabe4fa
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 12:24:28 +05:30
Mithun Gowda B
a9ffe19834
Update installation-guide.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 12:20:19 +05:30
Mithun Gowda B
63fbd634de
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 11:50:48 +05:30
Mithun Gowda B
0474c1d9e2
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 11:46:23 +05:30
Mithun Gowda B
20de3d3bad
Update README.md
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-17 11:39:18 +05:30