Git ignore tester
Open Git ignore tester on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.
Tool capabilities
{
"id": "git-ignore-tester",
"category": "developer-tools",
"built": true,
"requirements": "Up to 100,000 characters and 1,000 rules, and up to 2,000 paths in 200,000 characters, with rules times path segments under 30,000. Matching runs in your browser. Downloads: check-ignore text, JSON report and CSV.",
"implementation": {
"fields": [
{
"key": "paths",
"label": "Paths to test",
"value": "node_modules/react/index.js\nbuild/app.js\nsrc/build/app.js\nlogs/debug.log\nlogs/keep.log\nsrc/cache.tmp\nsrc/index.js",
"type": "textarea",
"help": "One path per line, relative to the repository root. End a folder with / to test it as a folder. Up to 2,000 paths.",
"maxLength": 200000
},
{
"key": "ignoreCase",
"label": "Ignore letter case, like core.ignorecase",
"value": false,
"type": "checkbox"
}
],
"registrationFamily": "project-snapshot-reference",
"inputMaxLength": 100000,
"inputErrorCode": "PROJECT_SNAPSHOT_REFERENCE_TOO_LONG",
"note": "Rules are matched on this device with a port of Git wildmatch; nothing is uploaded.",
"experience": {
"automatic": false,
"single": false,
"inputMaxLength": 100000,
"inputMode": "text",
"label": "Ignore rules",
"placeholder": ".gitignore rules, one pattern per line",
"help": "Add files from other folders after a line such as ==> src/.gitignore <==. Up to 100,000 characters. Review the settings before running.",
"helpParts": [
"Add files from other folders after a line such as ==> src/.gitignore <==.",
"Up to 100,000 characters.",
"Review the settings before running."
],
"action": null
},
"mode": "explicit",
"interactive": false
},
"execution": "Browser interface",
"api": null,
"browser_agent": {
"supported": true,
"name": "run_current_tool",
"discovery": "WebMCP on the human page in a supporting browser",
"verification": "See audit/API-AUDIT.md; availability is not verification"
}
}Page guide
Check which paths a set of .gitignore rules ignores and see the exact rule that decides each one, in the same format as git check-ignore -v.
How to use Git ignore tester
- Paste your .gitignore rules. Add files from other folders after a line such as ==> src/.gitignore <==.
- List the paths to test, one per line, and end folders with a slash. Every line is a path, including names that start with #.
- Run the check and read the deciding source, line and pattern for every path.
- Download the plain check-ignore output, the JSON report or the CSV table.
Useful next steps
What it does
The tester applies Git's ignore rules to each path you list and reports whether the path is ignored, which file and line decided it, and whether the decision came from an ignored parent folder. Paths with no matching rule show :: like git check-ignore -v -n.
How matching works
Patterns are matched with a line-by-line port of Git's wildmatch, including negation with !, trailing slashes for folders, leading slashes for anchoring, ** across folders, character classes such as [[:digit:]] and backslash escapes. Deeper .gitignore files win over shallower ones, then .git/info/exclude, then core.excludesFile, and within one file the last matching line wins. As in Git, a file inside an ignored folder cannot be re-included by a later negated rule.
Limits
Paths are taken as written, without a leading ./ or spaces at either end of a line; nothing is read from disk, so a path ending in / or containing other listed paths is treated as a folder. The path list has no comments: a line such as #main.c# is tested as a file name, as with git check-ignore --stdin. Global Git configuration such as core.excludesFile is only used when you paste it under a ==> core.excludesFile <== header. Patterns may use at most 4 ** groups.