Skip to main content
Glama

Generate .gitignore

gitignore_generate
Read-onlyIdempotent

Generate a .gitignore by combining templates for languages, frameworks, OSes and editors. Removes duplicate patterns, adds optional section headers and custom lines, then returns the text or writes it to a file.

Instructions

Build a .gitignore by combining the website's templates for languages, frameworks, mobile, game engines, tools, OSes and editors (node, python, java, android, ios, flutter, reactnative, unity, unreal, go, rust, cpp, dotnet, php, wordpress, rails, django, nextjs, vite, docker, terraform, macos, windows, linux, vscode, jetbrains, vim). Templates can be named by id, name or keyword (e.g. "javascript" → node). Duplicate patterns are removed, optional "### Name ###" section headers, plus your own custom lines at the end. Returns the text, or writes it to "output" (e.g. "./.gitignore"). Set "list" to see all templates. Web version: https://s3eidat.github.io/gitignore-gen/

Input Schema

NameRequiredDescriptionDefault
listNoJust list the available templates (id, name, group, keywords).
customNoExtra lines to append in a "Custom" section.
dedupeNoDrop patterns that already appeared in an earlier section. Default true.
outputNoWhere to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set).
headersNoAdd a generated-by header, section headers and template comments. Default true.
templatesNoTemplates to combine, in order, e.g. ["node", "nextjs", "vscode", "macos"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses genuinely useful behavior beyond the schema: duplicate pattern removal, optional "### Name ###" headers, custom lines appended in a "Custom" section, and either returning text or writing a file. However, "writes it to 'output' (e.g. './.gitignore')" describes a filesystem write while annotations declare readOnlyHint=true, which is an inconsistency by MCP semantics. The disclosure itself is rich, so this is a contradiction flag rather than an empty description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then the template catalog, then behavior caveats. The long parenthetical id list is bulky but functional for keyword matching; it's a single dense paragraph rather than a run-on without structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six optional parameters, no required ones, and no output schema, the description still covers return mode, write mode, listing mode, dedupe, headers, and custom lines. Nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning on top: templates accept id, name, or keyword ("javascript" → node) and are applied in order, and "output" may be a file path or a folder ending in "/". These aliasing and path-resolution rules are not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and artifact ("Build a .gitignore") and immediately enumerates the template groups and the concrete template ids it supports. An agent knows exactly what this produces and that it covers node/nextjs/vscode/macos-style templates, with no overlapping sibling in the tool list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating modes: pass "templates" to combine, set "list" to enumerate available templates, set "output" to write instead of returning text. It does not state exclusions or prerequisites (e.g. whether an unknown template name errors), but there is no comparable sibling to route against, so the missing piece is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools