--- description: Automatically commit changes made by CursorAI using conventional commits format globs: **/* --- Before committing changes: 1. Review Rules First: - Check if changes affect or require updates to existing rules - Consider if new rules are needed to codify patterns or standards - Update or create rules before committing main changes - Commit rule changes separately from feature changes 2. Review changed files: ```bash git status # Check which files were modified ``` 3. Follow conventional commits format: ``` (): ``` 4. Types: - feat: A new feature - fix: A bug fix - docs: Documentation only changes - style: Changes that do not affect the meaning of the code - refactor: A code change that neither fixes a bug nor adds a feature - perf: A code change that improves performance - test: Adding missing tests or correcting existing tests - chore: Changes to the build process or auxiliary tools 5. Guidelines: - Scope should be derived from the file path or affected component - special cases: - `notes`, `feeds` and `links` indicate the three subapplication scopes - `rules` indicates changes to cursor rules - `frontend` and `go` indicates broad changes to the typescript or go code respectively - `infra` is for changes to the repo "infrastructure": scripts, ci configs etc - Description should be clear, concise, and in imperative mood - If changes span multiple scopes, use comma separation or omit scope - If changes are breaking, add ! after type/scope: feat!: or feat(scope)!: 6. Post-Commit Rule Review: - After each feature or significant change - After each commit that introduces new patterns - When discovering undocumented standards - Before moving to next feature/task metadata: priority: high version: 1.0 examples: - input: | # After adding a new function git status CHANGE_DESCRIPTION="add user authentication function" FILE="src/auth/login.ts" output: "feat(src-auth): add user authentication function" - input: | # After fixing a bug git status CHANGE_DESCRIPTION="fix incorrect date parsing" FILE="lib/utils/date.js" output: "fix(lib-utils): fix incorrect date parsing" - input: | # After updating build process git status CHANGES="Updated build.sh and added new rule" FILES=".cursor/rules/command-paths.mdc build.sh" output: | # First commit rules git add .cursor/rules/command-paths.mdc git commit -m "feat(rules): add command path resolution standards" # Then commit implementation git add build.sh git commit -m "feat(infra): implement command path resolution"