Skip to content

Streamline development workflow by refactoring PR creation scripts - #11

Closed
jfrench9 wants to merge 4 commits into
mainfrom
refactor/feature-creation
Closed

jfrench9 wants to merge 4 commits into
mainfrom
refactor/feature-creation

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary of Changes

This PR refactors the development workflow tooling to simplify and streamline the PR creation process. The changes focus on improving the developer experience when creating pull requests and managing feature branches.

Key Improvements

  • Simplified PR Creation: Removed redundant PR type input from the script to reduce friction in the workflow
  • Enhanced Script Architecture: Refactored both and scripts with cleaner PR type handling logic
  • Improved IDE Integration: Updated VSCode tasks to include PR type selection for better clarity and workflow integration
  • Reduced Maintenance Overhead: Removed unused GitHub Actions workflow () to eliminate dead code
  • Dependency Updates: Updated package-lock.json with latest dependency versions for improved security and stability

Technical Changes

  • Removed Files:
    • (100 lines removed - unused workflow)
  • Modified Scripts:
    • ❌ Branch name is required
      Usage: bin/create-feature [type] [name] [base_branch]
      Example: bin/create-feature feature add-user-auth main: Refactored for better maintainability (123 lines modified)
    • 🤖 Creating Claude-powered PR...
      📋 Details:
      Source Branch: refactor/feature-creation
      Target Branch: main
      PR Type: refactor
      Claude Review: true

📤 Ensuring current branch is pushed to remote...
Pushing latest changes...

🚀 Triggering Claude analysis workflow...
⏳ Waiting for Claude to analyze changes and create PR...
Attempt 1/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 2/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 3/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 4/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 5/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 6/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 7/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 8/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 9/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 10/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 11/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 12/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 13/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 14/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 15/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 16/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 17/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 18/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 19/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 20/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 21/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 22/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 23/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 24/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 25/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 26/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 27/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 28/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 29/30: Checking for created PR...
PR not yet created, waiting 10 seconds...
Attempt 30/30: Checking for created PR...
❌ Timeout: PR was not created after 5 minutes
Check the GitHub Actions workflow status:
gh run list --workflow=create-pr.yml

You can also create the PR manually:
gh pr create --base main --head refactor/feature-creation: Streamlined PR type handling (29 lines modified)

  • IDE Configuration:
    • : Enhanced task definitions for better developer experience
  • Dependencies:
    • : Version bumps for various dependencies

Breaking Changes

⚠️ None - All changes are backward compatible and improve existing functionality without breaking the current API.

Testing Notes for Reviewers

  1. PR Creation Workflow: Test the updated script to ensure it works without the removed PR type input
  2. Feature Branch Creation: Verify the script functions correctly with the refactored codebase
  3. VSCode Integration: Test the updated VSCode tasks to confirm proper PR type selection functionality
  4. Dependency Verification: Ensure all updated dependencies don't introduce any runtime issues

Browser Compatibility Considerations

No browser-facing changes were made in this PR. All modifications are limited to development tooling and build processes, so there are no browser compatibility concerns.

Additional Notes

This refactor is part of an ongoing effort to improve our development workflow efficiency. The removal of the unused GitHub Actions workflow and simplification of the PR creation process should result in a smoother developer experience with reduced cognitive overhead.


🤖 Generated with Claude Code

Branch Info:

  • Source: refactor/feature-creation
  • Target: main
  • Type: feature

Co-Authored-By: Claude noreply@anthropic.com

…ed GitHub Actions workflow

- Bumped versions of several dependencies in package-lock.json, including @eslint-community/eslint-utils, @hey-api/openapi-ts, @types/node, @types/react, debug, mlly, prettier-plugin-organize-imports, and run-applescript to their latest releases for improved functionality and security.
- Deleted the create-feature.yml GitHub Actions workflow as it is no longer needed.
- Updated VSCode tasks to reflect the removal of the workflow and renamed the "Create Feature Branch" task to "Create Feature" for clarity.
- Refactored the create-feature script to handle local Git operations directly, including branch creation, validation, and stashing uncommitted changes.
- Modified the "Create PR" task command to accept a new input for PR type, allowing users to specify whether the PR is a feature, bugfix, hotfix, or release.
- Added a new input option for selecting the PR type, enhancing the task's usability and ensuring better organization of pull requests.
…ode task command

- Removed the PR type input from the "Create PR" task in VSCode, streamlining the command.
- Updated the create-pr script to automatically determine the PR type based on the current branch prefix, enhancing usability and reducing user input errors.
- Defaulted to 'feature' for undetermined branch names, improving the script's robustness.
@jfrench9

Copy link
Copy Markdown
Member Author

@claude please review this PR

@jfrench9 jfrench9 closed this Sep 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant