{"id":37040553,"url":"https://github.com/steamcore/vslint","last_synced_at":"2026-01-14T04:48:07.218Z","repository":{"id":15557165,"uuid":"18292301","full_name":"steamcore/vslint","owner":"steamcore","description":"VSLint is a command line utility used for detecting inconsistencies in Visual Studio project files.","archived":true,"fork":false,"pushed_at":"2022-10-22T14:17:04.000Z","size":48,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T21:51:45.244Z","etag":null,"topics":["csproj-tooling","visual-studio"],"latest_commit_sha":null,"homepage":"","language":"F#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steamcore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-31T12:28:55.000Z","updated_at":"2024-07-10T23:57:36.000Z","dependencies_parsed_at":"2023-01-11T19:08:33.279Z","dependency_job_id":null,"html_url":"https://github.com/steamcore/vslint","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/steamcore/vslint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steamcore%2Fvslint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steamcore%2Fvslint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steamcore%2Fvslint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steamcore%2Fvslint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steamcore","download_url":"https://codeload.github.com/steamcore/vslint/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steamcore%2Fvslint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28409857,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csproj-tooling","visual-studio"],"created_at":"2026-01-14T04:48:06.623Z","updated_at":"2026-01-14T04:48:07.213Z","avatar_url":"https://github.com/steamcore.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSLint\n\n[![NuGet](https://img.shields.io/nuget/v/dotnet-vslint.svg?maxAge=259200\u0026label=dotnet-vslint)](https://www.nuget.org/packages/dotnet-vslint/)\n![Build](https://github.com/steamcore/vslint/workflows/Build/badge.svg)\n\nVSLint is a command line tool used for detecting issues in\nVisual Studio project files.\n\n\n## Features\n\nVSLint scans for the following issues.\n\n|                                       | Classic project format | Modern project format |\n|---------------------------------------|------------------------|-----------------------|\n| Duplicate file references             | Yes                    | Yes                   |\n| Missing files                         | Yes                    | Yes                   |\n| Files on disk not included in project | Yes                    | No                    |\n\nIt will also try to locate .gitignore and .hgignore files and use them\nto try to avoid false positives.\n\n\n## Limitations\n\nDue to the complexity VSLint will not parse conditional includes or targets files.\n\nComplex .gitignore GLOBs may not be parsed properly, internally GLOBs are converted\nto regular expressions with a pretty naive implementation that works in most cases.\nFor example, negated patterns are not honored.\n\n\n## Command line usage\n\n\t\u003e vslint --help\n\tvslint, a tool for detecting inconsistencies in Visual Studio project files\n\tUsage: vslint [options..] path [path2 path3 ..]\n\n\tOptions:\n\t-h, --help              Prints this help message\n\t-m, --machine-readable  Print results in an alternate machine readable format\n\t-v, --verbose           Lists scanned projects even if no issues are found\n\t-q, --quiet             Quiet unless issues are found\n\n\t\u003e vslint -v\n\tProject .\\vslint\\vslint.fsproj\n\t  no issues\n\n\tProject .\\vslint.Tests\\vslint.Tests.fsproj\n\t  no issues\n\n\tFound 0 issues\n\n\n## Use as commit hook\n\nVSLint can be used as a pre commit hook in either git or Mercurial to prevent commits with\nerrors in project files that may, for instance, arise in auto merges.\n\nFor use with git, add vslint.exe to your path and create a `.git/hooks/pre-commit` file with the following contents.\n\n```sh\n#!/bin/bash\n\nvslint\n```\n\nFor use with Mercurial, add vslint.exe to your path and add the following to your `.hg/hgrc` file.\n\n```ini\n[hooks]\nprecommit =\nprecommit.vslint = vslint\n```\n\n## Ignored files and folders\n\nEven if you don't have a .gitignore or .hgignore some files and folders\nare ignored by default.\n\n*Folders*\n\n* .git\n* .hg\n* .svn\n* bin\n* obj\n* packages\n\n*Files*\n\n* .gitignore\n* .hgignore\n* .sln\n* .csproj\n* .fsproj\n* .vbproj\n* .targets\n* .suo\n* .user\n* .orig\n\n\n## .vslintignore\n\nIf you have additional files that should be ignored you may add a\nfile named .vslintignore with one regular expression per line.\n\nLines starting with # are comments, empty lines are ignored.\n\n*Sample*\n\n```sh\n# Ignore powershell files\n\\.ps(m|1)$\n\n# Ignore ReSharper files\n_ReSharper\\.*/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteamcore%2Fvslint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteamcore%2Fvslint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteamcore%2Fvslint/lists"}