agentsclimarketplace

Dont mind me

Skill detro/quirks/skills/dont-mind-me

You might have skills, but I got quirks!

Install
npx -y skills add detro/quirks --skill dont-mind-me

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Manages the creation and update of gitignore and other ignore files in repositories. It leverages templates from github/gitignore or other online sources, combines multiple technologies/IDEs, supports subdirectory-specific ignore files, and understands a wide range of famous ignore formats like .dockerignore, .npmignore, and more.

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

17.1 KB, as published. Nobody here has run it

Don't Mind Me

Authored and maintained by Ivan De Marino.

This skill manages the creation, combination, and update of ignore files (such as .gitignore, .dockerignore, .npmignore, and more) within any repository. It uses the community-vetted templates from the official github/gitignore repository as well as other reliable online sources, supporting multi-technology projects and sub-directory specific rules.

When to Use

  • Bootstrapping a new repository with standard ignore rules for a language (e.g., Rust, Python, Go) or IDE (e.g., VS Code, IntelliJ, Xcode).
  • Updating an existing .gitignore or other ignore files when adding a new framework, language, or developer tool to a project.
  • Setting up specialized ignore files such as .dockerignore (to reduce container build context size) or .npmignore (to exclude test/development files from npm packages).
  • Adding sub-directory specific ignores to restrict or customize rules within complex or monorepo layouts.

When Not to Use

  • Standard code refactoring tasks that do not involve configuring file ignore patterns.
  • Managing git repository configurations (e.g., .gitattributes, .gitconfig) or performing standard version control operations (e.g., branch switching, merging), unless specifically committing the newly created ignore files.

Inputs

InputRequiredDescription
tech_or_languageYesThe programming languages, frameworks, or tools to ignore (e.g., Rust, Node, Python). Can be multiple.
ides_or_toolsNoThe development environments, editors, or operating systems to ignore (e.g., VisualStudioCode, JetBrains, macOS).
ignore_typeNoThe type of ignore file to manage. Defaults to .gitignore.
target_directoryNoThe directory path where the ignore file should be placed (defaults to the root directory .).

I Know, For Example, About Those Types of Ignores

Below is a non-exhaustive list of the diverse types of ignore files used across version control, build systems, deployment platforms, formatters, and search tools that this skill knows how to configure:

Ignore FilePrimary Technology / ToolTypical Use / Ignored ItemsPattern Syntax & Nuances
.gitignoreGit VCSDevelopment artifacts, logs, dependencies, IDE settingsStandard git ignore patterns: supports unanchored (*.log) vs anchored (/debug.log), negation (!), and doublestar recursive directory globbing (**/logs).
.cvsignoreCVS VCSLegacy CVS build targetsEarly 1990s predecessor to .gitignore. Standard simple glob matching.
.hgignoreMercurial VCSMercurial repository ignoresSupports multiple syntax styles in a single file via syntax: glob or syntax: regexp.
.bzrignoreBazaar VCSBazaar repository ignoresControls files ignored for registration in Bazaar.
P4IGNOREPerforce VCSPerforce workspace ignoresIgnored patterns specified in local workspace files or the environment.
.ignoreSearch/FS Tools (e.g., ripgrep, fd)General tool-agnostic file filteringShared search-ignore file format supported natively by ripgrep and fd.
.dockerignoreDocker Container ToolDocker build context exclusionsShrinks the Docker build context. Uses Go's filepath.Match syntax, differing slightly from Git's unanchored directory matching behavior.
.containerignorePodman / BuildahOCI container build contextOCI-compliant alternative to .dockerignore.
.npmignorenpm / Node.js package managernpm package publishing exclusionsPrevents publishing source files/assets. Falls back to .gitignore rules if .npmignore is not present.
.helmignoreHelmHelm Chart filesFilters out files when packaging/uploading Kubernetes charts.
.vscodeignoreVS Code Extension PackagingVS Code extension assetsExcludes development files when publishing or packaging extensions.
.gcloudignoreGoogle Cloud CLICloud upload filesControls what files are uploaded during gcloud app deployments and build triggers.
.vercelignoreVercel DeploymentDeployment artifact exclusionsLegacy name was .nowignore. Ignores files from being sent to Vercel builds.
.slugignoreHeroku Cloud PlatformHeroku slug compilationExcludes source/config files from the final Heroku container runtime slug.
.ebignoreAWS Elastic BeanstalkBeanstalk environment uploadsControls files ignored by the EB CLI during deployment.
.cfignoreCloud FoundryCloud Foundry deploymentExcludes development files from push bundles to Cloud Foundry space.
.artifactignoreAzure DevOpsAzure Artifacts packagingReference and configuration for publishing Azure Artifacts.
.funcignoreAzure Functions CLIFunction app packageControls what gets packaged and uploaded for serverless functions.
.prettierignorePrettier FormatterFormatting target exclusionsAvoids auto-formatting vendor, minified, or build files.
.eslintignoreESLint LinterLinting target exclusionsPrevents linting third-party libraries, compiled scripts, or build directories.
.stylelintignoreStylelint CSS LinterStyle linting exclusionsPrevents CSS/SCSS linting for third-party styles or build outputs.
.rgignoreripgrep Search ToolSearch-specific exclusionsIgnores files/dirs during search (often legacy now in favor of .ignore).
.agignoreThe Silver Searcher (ag)Search-specific exclusionsExcludes directories/files from Silver Searcher index.
.chefignoreChef ConfigurationChef repository cookbooksIgnores files during upload/management of Chef cookbooks.
CODEOWNERSGitHub / GitLab / GiteaCode ownership definitionUses Gitignore-style globs but generally drops negation (!), character ranges ([]), and backslash escaping (\#).

Workflow

Step 1: Detect Targets & Directory Scope

Before writing any ignore file, clarify the scope and targets:

  1. Identify Target Directory: Check if the file goes to the repository root (e.g., ./.gitignore) or to a specific subdirectory (e.g., ./services/api/.gitignore).
    • Why: Path-based rules act differently when defined inside a subdirectory. If a pattern like /target is declared in a root-level ignore file, it matches only target at the root. If it is declared in services/api/.gitignore, it matches services/api/target.
  2. Determine Ignore Type: Check if you are writing .gitignore or another ignore file (e.g., .dockerignore, .npmignore).
  3. Scan Project Tech: Look at the project files to suggest the best languages, IDEs, and environments if the user didn't specify them.
    • For example: if a Cargo.toml exists, suggest Rust. If package.json exists, suggest Node.

Step 2: Fetch Base Templates from github/gitignore

Retrieve official, community-tested templates from the github/gitignore repository using your high-level platform fetch tool (like fetch or agentic_fetch):

  1. Determine Template Filename:
    • Language templates reside at:
      https://raw.githubusercontent.com/github/gitignore/main/<Language>.gitignore
      
      (e.g., Rust.gitignore, Python.gitignore, Go.gitignore)
    • Global templates (IDEs, OSs, Global tools) reside at:
      https://raw.githubusercontent.com/github/gitignore/main/Global/<IDE-or-OS>.gitignore
      
      (e.g., VisualStudioCode.gitignore, macOS.gitignore, JetBrains.gitignore)
  2. Handle Capitalization & Spacing: The GitHub repository is case-sensitive. Ensure proper capitalization (e.g. Rust rather than rust, Go rather than go).
  3. Handle Missing Templates / Alternatives:
    • If a specific tool or framework isn't listed in the official github/gitignore repo, perform a search or fetch from alternative reliable sources (like https://www.toptal.com/developers/gitignore/api/<tech>).

Step 3: Combine and Deduplicate

When combining templates for multiple technologies (e.g., Python + VS Code + macOS):

  1. Separate with Clear Headers: Add a clear header for each template to make the file easy to read and update later.
    # ==========================================
    # Created by dont-mind-me: Rust
    # ==========================================
    ... (Rust rules here) ...
    
    # ==========================================
    # Created by dont-mind-me: VisualStudioCode
    # ==========================================
    ... (VS Code rules here) ...
    
  2. Deduplicate Rules: Keep track of identical rules across different templates (e.g., .DS_Store appearing in both macOS and other templates) and only include the rule in the first section it appears, or group common global files into their own section.
    • Why: Clean files prevent confusion and reduce processing overhead for git or build systems.

Step 4: Adapt Syntax for Other Ignore Formats

If configuring an ignore file other than .gitignore, translate Git-style patterns into the correct target format:

  • .dockerignore:
    • Why: Docker build contexts are loaded from the root context path. Rules are resolved using Go's filepath.Match, which doesn't support unanchored directory matching like Git does (e.g., build ignores both build file and build/ directory recursively in git, but in Docker, you should use **/build or specify nested paths).
    • How: Convert unanchored directory patterns by ensuring they are covered recursively. Keep rules specific to the files needed for the container build.
  • .npmignore:
    • Why: .npmignore prevents shipping internal development artifacts to registry bundles, making packages lightweight and secure.
    • How: Maintain a subset of .gitignore targets, ensuring files like compiled binaries, tests, mock files, and configuration dotfiles are excluded.
  • .hgignore:
    • Why: Mercurial supports regexes as well as globs.
    • How: Write a syntax: glob header at the top to safely reuse standard globbing patterns.

Step 5: Write and Verify the Ignore File

  1. Verify Existing Content: If the target ignore file already exists, do not overwrite it blindly. Read it first to identify if there are any custom rules defined by the user. Preserve those custom rules in their own section (e.g., # Custom Rules).
  2. Write the Content: Write the newly constructed ignore content to the target path.
  3. Run Verification:
    • Run git status or checking tools to verify that previously untracked build artifacts are now ignored correctly.

Validation

  • The ignore file is created at the correct relative path (target_directory).
  • Each included technology or environment template has a clear, separated header.
  • Duplicated lines across combined templates are eliminated.
  • Existing custom rules are fully preserved and not overwritten.
  • The syntax matches the requirements of the requested ignore_type (e.g., .dockerignore or .hgignore).

Common Pitfalls

PitfallSolution
Casing mismatch on GitHub URLsAlways verify the correct template filename casing on the github/gitignore repository before fetching. Fall back to search or Toptal gitignore API if casing is unclear.
Overwriting custom developer rulesAlways read the existing ignore file first, extract custom non-templated rules, and merge them safely rather than completely replacing the file.
Ignoring files that are already tracked by gitGit does not retroactively ignore files that are already tracked. If a user asks to ignore a file that is already tracked, advise them to run git rm --cached <file> to stop tracking it.
Path resolution in subdirectoriesEnsure subdirectory .gitignore rules use relative paths relative to that subdirectory, not relative to the repository root.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.