dumpfs 0.1.0

A tool for dumping codebase information for LLMs efficiently and effectively
Documentation
#[inline]
pub fn common_extra_ignore() -> &'static [String] {
    &COMMON_IGNORES
}

use std::sync::LazyLock;

static COMMON_IGNORES: LazyLock<Vec<String>> = LazyLock::new(|| {
    [
        // Version Control
        ".git",
        ".svn",
        ".hg",
        ".bzr",
        ".gitignore",
        ".gitattributes",
        // OS Files
        ".DS_Store",
        "Thumbs.db",
        "desktop.ini",
        "ehthumbs.db",
        "*.lnk",
        "*.url",
        ".directory",
        // Dependencies
        "node_modules",
        "bower_components",
        ".npm",
        "package-lock.json",
        "yarn.lock",
        "pnpm-lock.yaml",
        ".pnpm",
        ".yarn",
        "yarn-error.log",
        "vendor",
        "composer.lock",
        ".pnpm-store",
        "npm-shrinkwrap.json",
        "lerna-debug.log",
        ".yalc",
        ".turbo",
        // Build & Dist
        "dist",
        "build",
        "out",
        "bin",
        "release",
        "*.min.js",
        "*.min.css",
        "bundle.*",
        ".parcel-cache",
        ".next",
        ".nuxt",
        ".output",
        ".cache",
        ".rollup.cache",
        ".webpack",
        ".serverless",
        ".netlify",
        "storybook-static",
        // Python
        "__pycache__",
        ".pytest_cache",
        ".coverage",
        "venv",
        "env",
        ".env",
        ".venv",
        "*.pyc",
        "*.pyo",
        "*.pyd",
        ".python-version",
        "*.egg-info",
        "*.egg",
        "develop-eggs",
        // Rust
        "target",
        "Cargo.lock",
        ".cargo",
        // IDEs & Editors
        ".idea",
        ".vscode",
        ".vs",
        ".sublime-*",
        "*.swp",
        "*.swo",
        "*~",
        ".project",
        ".settings",
        ".classpath",
        ".factorypath",
        "*.iml",
        "*.iws",
        "*.ipr",
        // Caches & Temp
        ".cache",
        "tmp",
        "temp",
        "logs",
        ".sass-cache",
        ".eslintcache",
        "*.log",
        "npm-debug.log*",
        "yarn-debug.log*",
        "yarn-error.log*",
        // Other Build Tools
        ".gradle",
        "gradle",
        ".maven",
        ".m2",
        "*.class",
        "*.jar",
        "*.war",
        "*.ear",
        // JavaScript/TypeScript
        "coverage",
        ".nyc_output",
        ".next",
        "*.tsbuildinfo",
        ".nuxt",
        ".output",
        // .NET
        "bin",
        "obj",
        "Debug",
        "Release",
        "packages",
        "*.suo",
        "*.user",
        "*.pubxml",
        "*.pubxml.user",
        // Documentation
        "_site",
        ".jekyll-cache",
        ".docusaurus",
        // Mobile Development
        ".gradle",
        "build",
        "xcuserdata",
        "*.xcworkspace",
        "Pods/",
        ".expo",
        // Database
        "*.sqlite",
        "*.sqlite3",
        "*.db",
        // Archives
        "*.zip",
        "*.tar.gz",
        "*.tgz",
        "*.rar",
        // Kubernetes
        ".kube",
        "*.kubeconfig",
        // Terraform
        ".terraform",
        "*.tfstate",
        "*.tfvars",
        // Ansible
        "*.retry",
        // Images
        "*.jpg",
        "*.jpeg",
        "*.png",
        "*.gif",
        "*.bmp",
        "*.svg",
        "*.ico",
        "*.tif",
        "*.tiff",
        "*.webp",
        "*.avif",
        "*.heic",
        "*.heif",
    ]
    .into_iter()
    .map(String::from)
    .collect()
});