Feature
Create a new Git Flow feature branch from develop with proper naming and tracking
$ npx claude-code-templates@latest --command="git/feature" --yesRequires Claude Code. The command adds this command to your project's .claudedirectory — nothing runs on ToolZip's servers.
What's inside this command
Component source
Git Flow Feature Branch
Create new feature branch: $ARGUMENTS
Current Repository State
- Current branch: !
git branch --show-current - Git status: !
git status --porcelain - Develop branch status: !
git log develop..origin/develop --oneline 2>/dev/null | head -5 || echo "No remote tracking for develop"
Task
Create a Git Flow feature branch following these steps:
1. Pre-Flight Validation
- Check git repository: Verify we're in a valid git repository
- Validate feature name: Ensure
$ARGUMENTSis provided and follows naming conventions:
user-authentication, payment-integration, dashboard-redesign
- ❌ Invalid: feat1, My_Feature, empty name
- Check for uncommitted changes:
- OR offer to stash changes automatically
- Verify develop branch exists: Ensure
developbranch is present
2. Create Feature Branch
Execute the following workflow:
# Switch to develop branch
git checkout develop
# Pull latest changes from remote
git pull origin develop
# Create feature branch with Git Flow naming convention
git checkout -b feature/$ARGUMENTS
# Set up remote tracking
git push -u origin feature/$ARGUMENTS
3. Provide Status Report
After successful creation, display:
✓ Switched to develop branch
✓ Pulled latest changes from origin/develop
✓ Created branch: feature/$ARGUMENTS
✓ Set up remote tracking: origin/feature/$ARGUMENTS
✓ Pushed branch to remote
🌿 Feature Branch Ready
Branch: feature/$ARGUMENTS
Base: develop
Status: Clean working directory
🎯 Next Steps:
1. Start implementing your feature
2. Make commits using conventional format:
git commit -m "feat: your changes"
3. Push changes regularly: git push
4. When complete, use /finish to merge back to develop
💡 Git Flow Tips:
- Keep commits atomic and well-described
- Push frequently to avoid conflicts
- Use conventional commit format (feat:, fix:, etc.)
- Test thoroughly before finishing
4. Error Handling
Handle these scenarios gracefully:
Uncommitted Changes:⚠️ You have uncommitted changes:
M src/file1.js
M src/file2.js
Options:
1. Commit changes first
2. Stash changes: git stash
3. Discard changes: git checkout .
What would you like to do? [1/2/3]
Feature Name Not Provided:
❌ Feature name is required
Usage: /feature <feature-name>
Examples:
/feature user-profile-page
/feature api-v2-integration
/feature payment-gateway
Feature names should:
- Be descriptive and concise
- Use kebab-case (lowercase-with-hyphens)
- Describe what the feature does
Branch Already Exists:
❌ Branch feature/$ARGUMENTS already exists
Existing feature branches:
feature/user-authentication
feature/payment-gateway
feature/$ARGUMENTS ← This one
Options:
1. Switch to existing branch: git checkout feature/$ARGUMENTS
2. Use a different feature name
3. Delete existing and recreate (destructive!)
Develop Behind Remote:
⚠️ Local develop is behind origin/develop by 5 commits
✓ Pulling latest changes...
✓ Develop is now up to date
✓ Ready to create feature branch
No Develop Branch:
❌ Develop branch not found
Git Flow requires a 'develop' branch. Create it with:
git checkout -b develop
git push -u origin develop
Or initialize Git Flow:
git flow init
Git Flow Context
This command is part of the Git Flow branching strategy:
- main: Production-ready code (protected)
- develop: Integration branch for features (protected)
- feature/*: New features (you are here)
- release/*: Release preparation
- hotfix/*: Emergency production fixes
Feature branches:
- Branch from:
develop - Merge back to:
develop - Naming convention:
feature/<descriptive-name> - Lifecycle: Short to medium term
Environment Variables
This command respects:
GIT_FLOW_DEVELOP_BRANCH: Develop branch name (default: "develop")GIT_FLOW_PREFIX_FEATURE: Feature prefix (default: "feature/")
Related Commands
/finish- Complete and merge feature branch to develop/flow-status- Check current Git Flow status/release <version>- Create release branch from develop/hotfix <name>- Create hotfix branch from main
Best Practices
DO:- ✅ Use descriptive feature names
- ✅ Keep feature scope focused and small
- ✅ Push to remote regularly
- ✅ Test your changes before finishing
- ✅ Use conventional commit messages
- ❌ Create features directly from main
- ❌ Use generic names like "feature1"
- ❌ Let feature branches live too long
- ❌ Mix multiple unrelated features
- ❌ Skip testing before merging
Related Claude Code Commands
Release
Create a new Git Flow release branch from develop with version bumping and changelog generation
Hotfix
Create a new Git Flow hotfix branch from main for emergency production fixes
Finish
Complete and merge current Git Flow branch (feature/release/hotfix) with proper cleanup and tagging
Flow Status
Display comprehensive Git Flow status including branch type, sync status, changes, and merge targets
Generate Tests
Generate a complete test file for a specified source file or component. Use when the user explicitly asks to write, create, or generate tests for a specific file.
Ultra Think
Multi-framework structured analysis: surfaces hidden assumptions, generates competing solutions, stress-tests each with adversarial reasoning, and delivers confidence-calibrated recommendations
Catalog data and component content are sourced from the open-source davila7/claude-code-templates project (MIT license). ToolZip curates the listing and writes original descriptions; every component links back to its original source. Claude Code is a product of Anthropic. ToolZip is an independent catalog and is not affiliated with or endorsed by Anthropic.