From git
Generate and update .gitignore files using the gitignore.io API with automatic project detection. Use when the user mentions .gitignore or wants to ignore files in git. Also applies when setting up a new repository.
npx claudepluginhub tqer39/claude-code-marketplace --plugin gitThis skill uses the workspace's default tool permissions.
Generate or update `.gitignore` files by auto-detecting project technologies and fetching templates from gitignore.io.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Generate or update .gitignore files by auto-detecting project technologies and fetching templates from gitignore.io.
Read references/language-detection.md for the full detection mapping table.
Scan the project root for indicator files and directories to build a list of gitignore.io template names. Use glob patterns and ls to check for the indicators listed in the reference file.
Always include all three OS templates: macos, linux, windows — regardless of detection results.
Collect all matched template names into a deduplicated list.
Present the detected templates in a grouped list (Languages, Frameworks, Tools, Editors and OS). Ask the user to:
Do not proceed to the API call until the user confirms the template list.
Fetch the list of all available templates:
curl -sL "https://www.toptal.com/developers/gitignore/api/list"
The response is a comma-separated list (with newlines). Check each selected template against this list (case-insensitive). If any templates are not found:
If the API is unreachable or returns an error, stop and notify the user. Do not write or modify any files.
Call the API with the validated, comma-separated template list:
curl -sL "https://www.toptal.com/developers/gitignore/api/{comma-separated-templates}"
Example: curl -sL "https://www.toptal.com/developers/gitignore/api/node,python,macos,linux,windows"
The response is plain text ready to use as .gitignore content. It includes marker lines:
# Created by https://www.toptal.com/developers/gitignore/api/{templates}# End of https://www.toptal.com/developers/gitignore/api/{templates}Verify the response contains these markers. If it doesn't (API error, empty response), stop and notify the user.
Handle three cases:
Case A — No existing .gitignore:
Create a new .gitignore at the project root with the API content as-is.
Case B — Existing .gitignore without API markers:
The existing file contains project-specific custom rules that must be preserved. Construct the new file as:
{API content}
# Custom rules
{existing .gitignore content}
Add a blank line and # Custom rules header between the API section and the original content to clearly separate them.
Case C — Existing .gitignore with API markers:
Replace the section from # Created by ... through # End of ... (inclusive) with the new API content. Preserve everything before the header and after the footer as-is.
\n), not CRLF..gitignore: Only modify the project root .gitignore unless the user requests otherwise.After writing the file:
git diff .gitignore (or git diff --no-index /dev/null .gitignore for new files)