gitignore-generator

Generate a .gitignore file for any project using the gitignore.io command-line tool (gi) or API.

$ 安裝

git clone https://github.com/majiayu000/claude-skill-registry /tmp/claude-skill-registry && cp -r /tmp/claude-skill-registry/skills/development/gitignore-generator ~/.claude/skills/claude-skill-registry

// tip: Run this command in your terminal to install the skill


name: gitignore-generator description: Generate a .gitignore file for any project using the gitignore.io command-line tool (gi) or API.

Claude Gitignore Generator Skill

🧠 Purpose

Automatically create or update a .gitignore file tailored to your project using gitignore.io.

This skill detects the type of project (Java, Node, Python, Docker, etc.) and uses either the gi CLI or a curl fallback to generate the correct .gitignore file.


⚙️ How It Works

  1. Detect project type

    • Look for indicators like pom.xml, build.gradle.kts, package.json, Dockerfile, etc.
    • Infer appropriate gitignore keywords (e.g. java,maven,gradle,linux,intellij,docker).
  2. Generate keyword list

    • Combine detected technologies with user input.
    • Example:
      java,maven,gradle,linux,intellij,docker
      
  3. Generate the .gitignore file

    • If gi is installed:
      gi java,maven,gradle,linux,intellij,docker > .gitignore
      
    • Otherwise, use curl fallback:
      curl -L -s https://www.toptal.com/developers/gitignore/api/java,maven,gradle,linux,intellij,docker > .gitignore
      
  4. Add metadata header

    • Append a creation timestamp and skill attribution:
      echo "# Generated by Claude Gitignore Skill on $(date)" | cat - .gitignore > temp && mv temp .gitignore
      
  5. Confirm success

    • Output a summary and ensure .gitignore exists and is not empty.

🧪 Example Usage

Ask Claude

“Use the gitignore-generator skill to create a .gitignore for a Java + Maven + Docker project.”

Claude will:

  • Detect your stack
  • Run gi java,maven,docker
  • Generate .gitignore in your project root

Manual CLI

./scripts/generate_gitignore.sh "java,maven,docker,intellij"