Nicholai f372ab56de chore: add project configuration and agent files
Add BMAD, Claude, Cursor, and OpenCode configuration directories along with AGENTS.md documentation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 04:31:56 -07:00

7.1 KiB
Raw Blame History

description
Create well-formatted commits with conventional commit messages and emoji

Commit Command

You are an AI agent that helps create well-formatted git commits with conventional commit messages and emoji icons, follow these instructions exactly. Always run and push the commit, you don't need to ask for confirmation unless there is a big issue or error.

Instructions for Agent

When the user runs this command, execute the following workflow:

  1. Check command mode:

    • If user provides $ARGUMENTS (a simple message), skip to step 3
  2. Run pre-commit validation:

    • Execute pnpm lint and report any issues
    • Execute pnpm build and ensure it succeeds
    • If either fails, ask user if they want to proceed anyway or fix issues first
  3. Analyze git status:

    • Run git status --porcelain to check for changes
    • If no files are staged, run git add . to stage all modified files
    • If files are already staged, proceed with only those files
  4. Analyze the changes:

    • Run git diff --cached to see what will be committed
    • Analyze the diff to determine the primary change type (feat, fix, docs, etc.)
    • Identify the main scope and purpose of the changes
  5. Generate commit message:

    • Choose appropriate emoji and type from the reference below
    • Create message following format: <emoji> <type>: <description>
    • Keep description concise, clear, and in imperative mood
    • Show the proposed message to user for confirmation
  6. Execute the commit:

    • Run git commit -m "<generated message>"
    • Display the commit hash and confirm success
    • Provide brief summary of what was committed

Commit Message Guidelines

When generating commit messages, follow these rules:

  • Atomic commits: Each commit should contain related changes that serve a single purpose
  • Imperative mood: Write as commands (e.g., "add feature" not "added feature")
  • Concise first line: Keep under 72 characters
  • Conventional format: Use <emoji> <type>: <description> where type is one of:
    • feat: A new feature
    • fix: A bug fix
    • docs: Documentation changes
    • style: Code style changes (formatting, etc.)
    • refactor: Code changes that neither fix bugs nor add features
    • perf: Performance improvements
    • test: Adding or fixing tests
    • chore: Changes to the build process, tools, etc.
  • Present tense, imperative mood: Write commit messages as commands (e.g., "add feature" not "added feature")
  • Concise first line: Keep the first line under 72 characters
  • Emoji: Each commit type is paired with an appropriate emoji:
    • feat: New feature
    • 🐛 fix: Bug fix
    • 📝 docs: Documentation
    • 💄 style: Formatting/style
    • ♻️ refactor: Code refactoring
    • perf: Performance improvements
    • test: Tests
    • 🔧 chore: Tooling, configuration
    • 🚀 ci: CI/CD improvements
    • 🗑️ revert: Reverting changes
    • 🧪 test: Add a failing test
    • 🚨 fix: Fix compiler/linter warnings
    • 🔒 fix: Fix security issues
    • 👥 chore: Add or update contributors
    • 🚚 refactor: Move or rename resources
    • 🏗️ refactor: Make architectural changes
    • 🔀 chore: Merge branches
    • 📦 chore: Add or update compiled files or packages
    • chore: Add a dependency
    • chore: Remove a dependency
    • 🌱 chore: Add or update seed files
    • 🧑‍💻 chore: Improve developer experience
    • 🧵 feat: Add or update code related to multithreading or concurrency
    • 🔍 feat: Improve SEO
    • 🏷️ feat: Add or update types
    • 💬 feat: Add or update text and literals
    • 🌐 feat: Internationalization and localization
    • 👔 feat: Add or update business logic
    • 📱 feat: Work on responsive design
    • 🚸 feat: Improve user experience / usability
    • 🩹 fix: Simple fix for a non-critical issue
    • 🥅 fix: Catch errors
    • 👽 fix: Update code due to external API changes
    • 🔥 fix: Remove code or files
    • 🎨 style: Improve structure/format of the code
    • 🚑 fix: Critical hotfix
    • 🎉 chore: Begin a project
    • 🔖 chore: Release/Version tags
    • 🚧 wip: Work in progress
    • 💚 fix: Fix CI build
    • 📌 chore: Pin dependencies to specific versions
    • 👷 ci: Add or update CI build system
    • 📈 feat: Add or update analytics or tracking code
    • ✏️ fix: Fix typos
    • revert: Revert changes
    • 📄 chore: Add or update license
    • 💥 feat: Introduce breaking changes
    • 🍱 assets: Add or update assets
    • feat: Improve accessibility
    • 💡 docs: Add or update comments in source code
    • 🗃️ db: Perform database related changes
    • 🔊 feat: Add or update logs
    • 🔇 fix: Remove logs
    • 🤡 test: Mock things
    • 🥚 feat: Add or update an easter egg
    • 🙈 chore: Add or update .gitignore file
    • 📸 test: Add or update snapshots
    • ⚗️ experiment: Perform experiments
    • 🚩 feat: Add, update, or remove feature flags
    • 💫 ui: Add or update animations and transitions
    • ⚰️ refactor: Remove dead code
    • 🦺 feat: Add or update code related to validation
    • ✈️ feat: Improve offline support

Reference: Good Commit Examples

Use these as examples when generating commit messages:

  • feat: add user authentication system
  • 🐛 fix: resolve memory leak in rendering process
  • 📝 docs: update API documentation with new endpoints
  • ♻️ refactor: simplify error handling logic in parser
  • 🚨 fix: resolve linter warnings in component files
  • 🧑‍💻 chore: improve developer tooling setup process
  • 👔 feat: implement business logic for transaction validation
  • 🩹 fix: address minor styling inconsistency in header
  • 🚑 fix: patch critical security vulnerability in auth flow
  • 🎨 style: reorganize component structure for better readability
  • 🔥 fix: remove deprecated legacy code
  • 🦺 feat: add input validation for user registration form
  • 💚 fix: resolve failing CI pipeline tests
  • 📈 feat: implement analytics tracking for user engagement
  • 🔒 fix: strengthen authentication password requirements
  • feat: improve form accessibility for screen readers

Example commit sequence:

  • feat: add user authentication system
  • 🐛 fix: resolve memory leak in rendering process
  • 📝 docs: update API documentation with new endpoints
  • ♻️ refactor: simplify error handling logic in parser
  • 🚨 fix: resolve linter warnings in component files
  • test: add unit tests for authentication flow

Agent Behavior Notes

  • Error handling: If validation fails, give user option to proceed or fix issues first
  • Auto-staging: If no files are staged, automatically stage all changes with git add .
  • File priority: If files are already staged, only commit those specific files
  • Always run and push the commit: You don't need to ask for confirmation unless there is a big issue or error git push.
  • Message quality: Ensure commit messages are clear, concise, and follow conventional format
  • Success feedback: After successful commit, show commit hash and brief summary