From 7e186b7d6a94fbcf09ff8fd999530310f1cce94b Mon Sep 17 00:00:00 2001 From: Mithun Gowda B Date: Tue, 15 Jul 2025 17:59:53 +0530 Subject: [PATCH 1/3] Update setup.py Signed-off-by: Mithun Gowda B --- setup.py | 63 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index 109872d..916f753 100644 --- a/setup.py +++ b/setup.py @@ -1,29 +1,71 @@ import setuptools +import sys +import logging -with open("README.md", "r", encoding="utf-8") as fh: - long_description = fh.read() +# Setup logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) -with open("VERSION", "r") as f: - version = f.read().strip() +def get_version(): + """Get version from VERSION file with proper error handling.""" + try: + with open("VERSION", "r") as f: + return f.read().strip() + except FileNotFoundError: + logger.warning("VERSION file not found, using fallback version") + return "0.1.0" + except Exception as e: + logger.error(f"Error reading VERSION file: {e}") + return "0.1.0" +def get_long_description(): + """Get long description from README with error handling.""" + try: + with open("README.md", "r", encoding="utf-8") as fh: + return fh.read() + except FileNotFoundError: + logger.warning("README.md not found") + return "SuperClaude Framework Management Hub" + except Exception as e: + logger.error(f"Error reading README.md: {e}") + return "SuperClaude Framework Management Hub" + +def get_install_requires(): + """Get install requirements with proper dependency management.""" + base_requires = ["setuptools>=45.0.0"] + + # Add Python version-specific dependencies + if sys.version_info < (3, 8): + base_requires.append("importlib-metadata>=1.0.0") + + # Add other dependencies your project needs + # base_requires.extend([ + # "requests>=2.25.0", + # "click>=7.0", + # # etc. + # ]) + + return base_requires + +# Main setup configuration setuptools.setup( name="SuperClaude", - version=version, + version=get_version(), author="Mithun Gowda B, NomenAK", author_email="contact@superclaude.dev", description="SuperClaude Framework Management Hub", - long_description=long_description, + long_description=get_long_description(), long_description_content_type="text/markdown", url="https://github.com/NomenAK/SuperClaude", packages=setuptools.find_packages(), include_package_data=True, - install_requires=["setuptools"], + install_requires=get_install_requires(), entry_points={ "console_scripts": [ "SuperClaude=SuperClaude.__main__:main", ], }, - python_requires=">=3.6", + python_requires=">=3.8", project_urls={ "GitHub": "https://github.com/NomenAK/SuperClaude", "Mithun Gowda B": "https://github.com/mithun50", @@ -32,6 +74,11 @@ setuptools.setup( }, classifiers=[ "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Operating System :: OS Independent", "License :: OSI Approved :: MIT License", "Development Status :: 4 - Beta", From b2f283e45b87c7fd25e6ea2087ce3c01f0801a8d Mon Sep 17 00:00:00 2001 From: Mithun Gowda B Date: Tue, 15 Jul 2025 18:07:14 +0530 Subject: [PATCH 2/3] Update setup.py Signed-off-by: Mithun Gowda B --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 916f753..71f648a 100644 --- a/setup.py +++ b/setup.py @@ -13,10 +13,10 @@ def get_version(): return f.read().strip() except FileNotFoundError: logger.warning("VERSION file not found, using fallback version") - return "0.1.0" + return "3.0.0" except Exception as e: logger.error(f"Error reading VERSION file: {e}") - return "0.1.0" + return "3.0.0" def get_long_description(): """Get long description from README with error handling.""" From 53e98c2e496068ab16a095678f2c6fc193dba2c6 Mon Sep 17 00:00:00 2001 From: NomenAK <39598727+NomenAK@users.noreply.github.com> Date: Tue, 15 Jul 2025 16:46:35 +0200 Subject: [PATCH 3/3] Delete .github/workflows directory Signed-off-by: NomenAK <39598727+NomenAK@users.noreply.github.com> --- .github/workflows/claude-code-review.yml | 78 ------------------------ .github/workflows/claude.yml | 64 ------------------- 2 files changed, 142 deletions(-) delete mode 100644 .github/workflows/claude-code-review.yml delete mode 100644 .github/workflows/claude.yml diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml deleted file mode 100644 index 5bf8ce5..0000000 --- a/.github/workflows/claude-code-review.yml +++ /dev/null @@ -1,78 +0,0 @@ -name: Claude Code Review - -on: - pull_request: - types: [opened, synchronize] - # Optional: Only run on specific file changes - # paths: - # - "src/**/*.ts" - # - "src/**/*.tsx" - # - "src/**/*.js" - # - "src/**/*.jsx" - -jobs: - claude-review: - # Optional: Filter by PR author - # if: | - # github.event.pull_request.user.login == 'external-contributor' || - # github.event.pull_request.user.login == 'new-developer' || - # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' - - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: read - issues: read - id-token: write - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Run Claude Code Review - id: claude-review - uses: anthropics/claude-code-action@beta - with: - claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} - - # Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4) - # model: "claude-opus-4-20250514" - - # Direct prompt for automated review (no @claude mention needed) - direct_prompt: | - Please review this pull request and provide feedback on: - - Code quality and best practices - - Potential bugs or issues - - Performance considerations - - Security concerns - - Test coverage - - Be constructive and helpful in your feedback. - - # Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR - # use_sticky_comment: true - - # Optional: Customize review based on file types - # direct_prompt: | - # Review this PR focusing on: - # - For TypeScript files: Type safety and proper interface usage - # - For API endpoints: Security, input validation, and error handling - # - For React components: Performance, accessibility, and best practices - # - For tests: Coverage, edge cases, and test quality - - # Optional: Different prompts for different authors - # direct_prompt: | - # ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' && - # 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' || - # 'Please provide a thorough code review focusing on our coding standards and best practices.' }} - - # Optional: Add specific tools for running tests or linting - # allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)" - - # Optional: Skip review for certain conditions - # if: | - # !contains(github.event.pull_request.title, '[skip-review]') && - # !contains(github.event.pull_request.title, '[WIP]') - diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml deleted file mode 100644 index 64a3e5b..0000000 --- a/.github/workflows/claude.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Claude Code - -on: - issue_comment: - types: [created] - pull_request_review_comment: - types: [created] - issues: - types: [opened, assigned] - pull_request_review: - types: [submitted] - -jobs: - claude: - if: | - (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || - (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || - (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || - (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: read - issues: read - id-token: write - actions: read # Required for Claude to read CI results on PRs - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Run Claude Code - id: claude - uses: anthropics/claude-code-action@beta - with: - claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} - - # This is an optional setting that allows Claude to read CI results on PRs - additional_permissions: | - actions: read - - # Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4) - # model: "claude-opus-4-20250514" - - # Optional: Customize the trigger phrase (default: @claude) - # trigger_phrase: "/claude" - - # Optional: Trigger when specific user is assigned to an issue - # assignee_trigger: "claude-bot" - - # Optional: Allow Claude to run specific commands - # allowed_tools: "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)" - - # Optional: Add custom instructions for Claude to customize its behavior for your project - # custom_instructions: | - # Follow our coding standards - # Ensure all new code has tests - # Use TypeScript for new files - - # Optional: Custom environment variables for Claude - # claude_env: | - # NODE_ENV: test -