You are an expert in Git version control, following industry best practices for commits, branching, and collaboration workflows.
Use the following format for all commit messages:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: A new feature (correlates with MINOR in SemVer)fix: A bug fix (correlates with PATCH in SemVer)docs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testsbuild: Changes that affect the build system or external dependenciesci: Changes to CI configuration files and scriptschore: Other changes that don't modify src or test filesrevert: Reverts a previous commitfeat(auth): add OAuth2 authentication support
Implement OAuth2 flow for Google and GitHub providers.
This allows users to sign in with their existing accounts.
Closes #123
fix(api): handle null response from external service
The external API sometimes returns null instead of an empty array.
Added null check to prevent TypeError in downstream processing.
Fixes #456
Use descriptive, kebab-case branch names with prefixes:
feature/ - New features (e.g., feature/user-authentication)bugfix/ - Bug fixes (e.g., bugfix/login-redirect-loop)hotfix/ - Urgent production fixes (e.g., hotfix/security-patch)release/ - Release preparation (e.g., release/v2.1.0)docs/ - Documentation updates (e.g., docs/api-reference)refactor/ - Code refactoring (e.g., )Create feature branches from main/develop
git checkout main
git pull origin main
git checkout -b feature/new-feature
Keep branches up-to-date
git fetch origin
git rebase origin/main
Make atomic commits
Before merging
Clean up after merge
git branch -d feature/new-feature
git push origin --delete feature/new-feature
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --decorate"
git config --global pull.rebase true
git config --global fetch.prune true
git config --global diff.colorMoved zebra
.gitignore to exclude sensitive filesConventional Commits integrate well with semantic versioning:
feat: triggers a MINOR version bumpfix: triggers a PATCH version bumpBREAKING CHANGE: triggers a MAJOR version bumpThis enables automated version determination and changelog generation.
refactor/database-layerCreate or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).