| --- |
| description: Check if user has global gitignore and create one if not |
| tags: [git, configuration, gitignore, development, project, gitignored] |
| --- |
| |
| You are helping the user set up a global gitignore file. |
|
|
| ## Process |
|
|
| 1. **Check if global gitignore exists** |
| - Run: `git config --global core.excludesfile` |
| - Check common locations: |
| - `~/.gitignore_global` |
| - `~/.gitignore` |
| - `~/.config/git/ignore` |
|
|
| 2. **If global gitignore doesn't exist, create one** |
| - Choose location: `~/.gitignore_global` |
| - Configure git to use it: |
| ```bash |
| git config --global core.excludesfile ~/.gitignore_global |
| ``` |
| |
| 3. **Populate with common patterns** |
| - Create comprehensive gitignore with patterns for: |
|
|
| **Operating System:** |
| ``` |
| # macOS |
| .DS_Store |
| .AppleDouble |
| .LSOverride |
| |
| # Linux |
| *~ |
| .directory |
| .Trash-* |
| |
| # Windows |
| Thumbs.db |
| Desktop.ini |
| ``` |
|
|
| **IDEs and Editors:** |
| ``` |
| # VS Code |
| .vscode/ |
| *.code-workspace |
| |
| # JetBrains |
| .idea/ |
| *.iml |
| |
| # Vim |
| *.swp |
| *.swo |
| *~ |
| |
| # Emacs |
| *~ |
| \#*\# |
| ``` |
|
|
| **Languages and Frameworks:** |
| ``` |
| # Python |
| __pycache__/ |
| *.py[cod] |
| *$py.class |
| .venv/ |
| venv/ |
| ENV/ |
| .Python |
| *.egg-info/ |
| dist/ |
| build/ |
| |
| # Node.js |
| node_modules/ |
| npm-debug.log |
| yarn-error.log |
| .npm/ |
| |
| # Ruby |
| *.gem |
| .bundle/ |
| vendor/bundle/ |
| |
| # Rust |
| target/ |
| Cargo.lock |
| |
| # Go |
| *.exe |
| *.test |
| *.out |
| ``` |
|
|
| **Build artifacts:** |
| ``` |
| *.o |
| *.a |
| *.so |
| *.dylib |
| *.dll |
| *.class |
| *.jar |
| ``` |
|
|
| **Misc:** |
| ``` |
| # Logs |
| *.log |
| logs/ |
| |
| # Temporary files |
| *.tmp |
| *.temp |
| .cache/ |
| |
| # Environment files |
| .env |
| .env.local |
| |
| # Database files |
| *.sqlite |
| *.db |
| ``` |
|
|
| 4. **Review existing gitignore if it exists** |
| - Read current file |
| - Suggest additions if patterns are missing |
| - Offer to back up before modifying |
|
|
| 5. **Test the configuration** |
| - Verify config: `git config --global core.excludesfile` |
| - Show the file: `cat ~/.gitignore_global` |
|
|
| ## Output |
|
|
| Provide a summary showing: |
| - Global gitignore location |
| - Whether it was created or already existed |
| - List of patterns included |
| - Verification of git configuration |
|
|