Skip to content
Development
Command

/feature

Create a new Git Flow feature branch from develop with proper naming and tracking

From plugin
claude-code-templates
30k200 skills200 agents200 commands2 MCP
Install
$ npx -y skills add davila7/claude-code-templates --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/feature

Context preview

What this command does when you run it.

Create a new Git Flow feature branch from develop with proper naming and tracking

Command definition

feature.md
allowed-tools: Bash(git:*)
argument-hint: <feature-name>
description: Create a new Git Flow feature branch from develop with proper naming and tracking

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 `$ARGUMENTS` is provided and follows naming conventions:
  • ✅ Valid: `user-authentication`, `payment-integration`, `dashboard-redesign`
  • ❌ Invalid: `feat1`, `My_Feature`, empty name
  • **Check for uncommitted changes**:
  • If changes exist, warn user and ask to commit/stash first
  • OR offer to stash changes automatically
  • **Verify develop branch exists**: Ensure `develop` branch 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

**DON'T:**

  • ❌ Create features directly from main
  • ❌ Use generic names like "feature1"
  • ❌ Let feature branches live too long
  • ❌ Mix multiple unrelated features
  • ❌ Skip testing before merging
Read more
Ships withclaude-code-templates

Ready-to-use configurations for Anthropic's Claude Code. A comprehensive collection of AI agents, custom commands, settings, hooks, external integrations (MCPs), and project templates to enhance your development workflow.

Get the whole plugin, auto-invoked
Stats
30,155
Stars
18
Views
3,377
Forks
Active
Maintenance
Python
Language
MIT
License
1h ago
Last commit
1y ago
Created

Repo: davila7/claude-code-templates