[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7825":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":16,"starSnapshotCount":16,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},7825,"scss-lint","sds\u002Fscss-lint","sds","Configurable tool for writing clean, consistent SCSS","",null,"Ruby",3667,458,112,67,0,59.99,"MIT License",false,"main",[],"2026-06-12 04:00:36","[![Gem Version](https:\u002F\u002Fbadge.fury.io\u002Frb\u002Fscss_lint.svg)](http:\u002F\u002Fbadge.fury.io\u002Frb\u002Fscss_lint)\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fsds\u002Fscss-lint\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002Fsds\u002Fscss-lint\u002Factions\u002Fworkflows\u002Fci.yml?query=branch%3Amain)\n[![Code Climate](https:\u002F\u002Fcodeclimate.com\u002Fgithub\u002Fsds\u002Fscss-lint.svg)](https:\u002F\u002Fcodeclimate.com\u002Fgithub\u002Fsds\u002Fscss-lint)\n[![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fsds\u002Fscss-lint\u002Fbadge.svg)](https:\u002F\u002Fcoveralls.io\u002Fr\u002Fsds\u002Fscss-lint)\n[![Inline docs](http:\u002F\u002Finch-ci.org\u002Fgithub\u002Fsds\u002Fscss-lint.svg?branch=main)](http:\u002F\u002Finch-ci.org\u002Fgithub\u002Fsds\u002Fscss-lint)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fsds\u002Fscss-lint\u002Fmain\u002Flogo\u002Fhorizontal.png\" width=\"40%\" alt=\"SCSS-Lint Logo\"\u002F>\n\u003C\u002Fp>\n\n`scss-lint` is a tool to help keep your [SCSS](http:\u002F\u002Fsass-lang.com) files\nclean and readable by running it against a collection of\nconfigurable [linter rules](lib\u002Fscss_lint\u002Flinter\u002FREADME.md). You can run it\nmanually from the command line, or integrate it into your\n[SCM hooks](https:\u002F\u002Fgithub.com\u002Fsds\u002Fovercommit).\n\n# NOTICE: Consider other tools before adopting SCSS-Lint\n\nThe Sass core team is now building Sass in [Dart instead of Ruby](http:\u002F\u002Fsass.logdown.com\u002Fposts\u002F1022316-announcing-dart-sass),\nand will no longer be maintaining the Ruby implementation unless a maintainer\nsteps up to help. Since the SCSS-Lint project relies on the Ruby Sass\nimplementation, this means it will eventually not support the latest Sass\nfeatures and bug fixes.\n\nOne alternative worthy of consideration is [stylelint](http:\u002F\u002Fstylelint.io\u002F), which supports SCSS natively.\nIf you want to use SCSS-specific rules in addition to stylelint core rules,\nyou need to configure stylelint plugins like [stylelint-scss](https:\u002F\u002Fgithub.com\u002Fkristerkari\u002Fstylelint-scss) or [stylelint-order](https:\u002F\u002Fgithub.com\u002Fhudochenkov\u002Fstylelint-order).\n\nThe SCSS-Lint project will continue to accept pull requests and provide basic\nsupport on the issue tracker.\n\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [Usage](#usage)\n* [Configuration](#configuration)\n* [Formatters](#formatters)\n* [Exit Status Codes](#exit-status-codes)\n* [Linters](#linters)\n* [Custom Linters](#custom-linters)\n* [Preprocessing](#preprocessing)\n* [Automated Code Review](#automated-code-review)\n* [Editor Integration](#editor-integration)\n* [Git Integration](#git-integration)\n* [Rake Integration](#rake-integration)\n* [Maven Integration](#maven-integration)\n* [Documentation](#documentation)\n* [Contributing](#contributing)\n* [Community](#community)\n* [Changelog](#changelog)\n* [License](#license)\n\n## Requirements\n\n* Ruby 2.4+\n* Sass 3.5.5+\n* Files you wish to lint must be written in SCSS (not Sass) syntax\n\n## Installation\n\n```bash\ngem install scss_lint\n```\n\n...or add the following to your `Gemfile` and run `bundle install`:\n\n```ruby\ngem 'scss_lint', require: false\n```\n\nThe `require: false` is necessary because `scss-lint` monkey patches Sass in\norder to properly traverse the parse tree created by the Sass parser. This can\ninterfere with other applications that invoke the Sass parser after `scss-lint`\nlibraries have been loaded at runtime, so you should only require it in the\ncontext in which you are linting, nowhere else.\n\n## Usage\n\nRun `scss-lint` from the command line by passing in a directory (or multiple\ndirectories) to recursively scan:\n\n```bash\nscss-lint app\u002Fassets\u002Fstylesheets\u002F\n```\n\nYou can also specify a list of files explicitly:\n\n```bash\nscss-lint app\u002Fassets\u002Fstylesheets\u002F**\u002F*.css.scss\n```\n\n...or you can lint a file passed via standard input (**note** the\n`--stdin-file-path` flag is required when passing via standard input):\n\n```bash\ncat some-file | scss-lint --stdin-file-path=path\u002Fto\u002Ftreat\u002Fstdin\u002Fas\u002Fhaving.scss\n```\n\n`scss-lint` will output any problems with your SCSS, including the offending\nfilename and line number (if available).\n\nCommand Line Flag         | Description\n--------------------------|----------------------------------------------------\n`-c`\u002F`--config`           | Specify a configuration file to use\n`-e`\u002F`--exclude`          | Exclude one or more files from being linted\n`-f`\u002F`--format`           | Output format (see [Formatters](#formatters))\n`-o`\u002F`--out`              | Write output to a file instead of STDOUT\n`-r`\u002F`--require`          | Require file\u002Flibrary (mind `$LOAD_PATH`, uses `Kernel.require`)\n`-i`\u002F`--include-linter`   | Specify which linters you specifically want to run\n`-x`\u002F`--exclude-linter`   | Specify which linters you _don't_ want to run\n`--stdin-file-path`       | When linting a file passed via standard input, treat it as having the specified path to apply the appropriate configuration\n`--[no-]color`            | Whether to output in color\n`-h`\u002F`--help`             | Show command line flag documentation\n`--show-formatters`       | Show all available formatters\n`--show-linters`          | Show all available linters\n`-v`\u002F`--version`          | Show version\n\nWhen running `scss-lint` with JRuby, using JRuby's\n[`--dev` flag](https:\u002F\u002Fgithub.com\u002Fjruby\u002Fjruby\u002Fwiki\u002FImproving-startup-time)\nwill probably improve performance.\n\n## Configuration\n\n`scss-lint` loads configuration in the following order of precedence:\n\n1. Configuration file specified via the `--config` flag\n2. Configuration from `.scss-lint.yml` in the current working directory,\n   if it exists\n3. Configuration from `.scss-lint.yml` in the user's home directory,\n   if it exists\n\nAll configurations extend the [default configuration](config\u002Fdefault.yml).\n\n**Note**: The first configuration file found is the one that is loaded, e.g.\nthe `.scss-lint.yml` file in the current working directory is loaded _instead_\nof the one in the user's home directory&mdash;they are not merged with each\nother.\n\nHere's an example configuration file:\n\n```yaml\nscss_files: 'app\u002Fassets\u002Fstylesheets\u002F**\u002F*.css.scss'\n\nexclude: 'app\u002Fassets\u002Fstylesheets\u002Fplugins\u002F**'\n\nlinters:\n  BorderZero:\n    enabled: false\n\n  Indentation:\n    exclude:\n      - 'path\u002Fto\u002Ffile.scss'\n      - 'path\u002Fto\u002Fdirectory\u002F**'\n    severity: warning\n    width: 2\n```\n\nAll linters have an `enabled` option which can be `true` or `false`, which\ncontrols whether the linter is run, along with linter-specific options. The\ndefaults are defined in `config\u002Fdefault.yml`.\n\n### Severities\n\nThe `severity` linter option allows you to specify whether the lint should be\ntreated as a `warning` or an `error`. Warnings cause `scss-lint` to exit with a\ndifferent error code than errors (unless both warnings _and_ errors are\npresent, in which case the `error` exit code is returned). This is useful when\nintegrating `scss-lint` with build systems or other executables, as you can\nrely on its exit status code to indicate whether a lint actually requires\nattention.\n\nYou can also define the default severity for all linters by setting the global\n`severity` option.\n\n### Excluding Files\n\nThe `exclude` directive allows you to specify a glob pattern of files that\nshould not be linted by `scss-lint`. Paths are relative to the location of the\nconfig file itself if they are not absolute paths. If an inherited file\nspecifies the `exclude` directive, the two exclusion lists are combined. Any\nadditional exclusions specified via the `--exclude` flag are also combined. If\nyou need to exclude files for a single linter you can specify the list of files\nusing the linter's `exclude` configuration option.\n\n### Generating a Configuration\n\nTo start using `scss-lint` you can use the [`Config` Formatter](#config),\nwhich will generate an `.scss-lint.yml` configuration file with all linters\nwhich caused a lint disabled. Starting with this as your configuration\nyou can slowly enable each linter and fix any lints one by one.\n\n### Disabling Linters via Source\n\nFor special cases where a particular lint doesn't make sense in a specific\narea of a file, special inline comments can be used to enable\u002Fdisable linters.\nSome examples are provided below:\n\n**Disable for the entire file**\n```scss\n\u002F\u002F scss-lint:disable BorderZero\np {\n  border: none; \u002F\u002F No lint reported\n}\n```\n\n**Disable a few linters**\n```scss\n\u002F\u002F scss-lint:disable BorderZero, StringQuotes\np {\n  border: none; \u002F\u002F No lint reported\n  content: \"hello\"; \u002F\u002F No lint reported\n}\n```\n\n**Disable all lints within a block (and all contained blocks)**\n```scss\np {\n  \u002F\u002F scss-lint:disable BorderZero\n  border: none; \u002F\u002F No lint reported\n}\n\na {\n  border: none; \u002F\u002F Lint reported\n}\n```\n\n**Disable and enable again**\n```scss\n\u002F\u002F scss-lint:disable BorderZero\np {\n  border: none; \u002F\u002F No lint reported\n}\n\u002F\u002F scss-lint:enable BorderZero\n\na {\n  border: none; \u002F\u002F Lint reported\n}\n```\n\n**Disable for just one line**\n```scss\np {\n  \u002F\u002F No lint reported:\n  border: none; \u002F\u002F scss-lint:disable BorderZero\n\n  a {\n    border: none; \u002F\u002F Lint reported\n  }\n}\n```\n\n**Disable\u002Fenable all linters**\n```scss\n\u002F\u002F scss-lint:disable all\np {\n  border: none; \u002F\u002F No lint reported\n}\n\u002F\u002F scss-lint:enable all\n\na {\n  border: none; \u002F\u002F Lint reported\n}\n```\n\n## Formatters\n\n### Default\n\nThe default formatter is intended to be easy to consume by both humans and\nexternal tools.\n\n```bash\nscss-lint [scss-files...]\n```\n\n```\ntest.scss:2:1 [W] StringQuotes: Prefer single quoted strings\ntest.scss:2:1 [W] Indentation: Line should be indented 0 spaces, but was indented 1 space\ntest.scss:5:1 [W] StringQuotes: Prefer single quoted strings\ntest.scss:6:8 [W] UrlQuotes: URLs should be enclosed in quotes\n```\n\n### CleanFiles\n\nDisplays a list of all files that were free of lints.\n\n### Config\n\nReturns a valid `.scss-lint.yml` configuration where all linters which caused\na lint are disabled. Starting with this as your configuration, you can slowly\nenable each linter and fix any lints one by one.\n\n```bash\nscss-lint --format=Config [scss-files...]\n```\n\n```yaml\nlinters:\n  Indentation:\n    enabled: false\n  StringQuotes:\n    enabled: false\n  UrlQuotes:\n    enabled: false\n```\n\n### Files\n\nUseful when you just want to open all offending files in an editor. This will\njust output the names of the files so that you can execute the following to\nopen them all:\n\n```bash\nscss-lint --format=Files [scss-files...] | xargs vim\n```\n\n### JSON\n\nOutputs JSON with filenames and an array of issue objects.\n\n```json\n{\n  \"test.css\": [\n    {\"line\": 2, \"column\": 1, \"length\": 2, \"severity\": \"warning\", \"reason\": \"Prefer single quoted strings\", \"linter\": \"StringQuotes\"},\n    {\"line\": 2, \"column\": 1, \"length\": 1, \"severity\": \"warning\", \"reason\": \"Line should be indented 0 spaces, but was indented 1 spaces\", \"linter\": \"Indentation\"},\n    {\"line\": 5, \"column\": 5, \"length\": 2, \"severity\": \"warning\", \"reason\": \"Prefer single quoted strings\", \"linter\": \"StringQuotes\"},\n    {\"line\": 6, \"column\": 4, \"length\": 9, \"severity\": \"warning\", \"reason\": \"URLs should be enclosed in quotes\", \"linter\": \"UrlQuotes\"}\n  ]\n}\n```\n\n### TAP\n\nOutputs [TAP version 13](https:\u002F\u002Ftestanything.org) format.\n\n```\nTAP version 13\n1..5\nok 1 - ok1.scss\nnot ok 2 - not-ok1.scss:123:10 SCSSLint::Linter::PrivateNamingConvention\n  ---\n  message: Description of lint 1\n  severity: warning\n  data:\n    file: not-ok1.scss\n    line: 123\n    column: 10\n  ---\nnot ok 3 - not-ok2.scss:20:2 SCSSLint::Linter::PrivateNamingConvention\n  ---\n  message: Description of lint 2\n  severity: error\n  data:\n    file: not-ok2.scss\n    line: 20\n    column: 2\n  ---\nnot ok 4 - not-ok2.scss:21:3 SCSSLint::Linter::PrivateNamingConvention\n  ---\n  message: Description of lint 3\n  severity: warning\n  data:\n    file: not-ok2.scss\n    line: 21\n    column: 3\n  ---\nok 5 - ok2.scss\n```\n\n### Stats\n\nOutputs statistics about how many lints of each type were found, and across how many files. This\nreporter can help in cleaning up a large codebase, allowing you to fix and then enable one lint\ntype at a time.\n\n```\n15  ColorKeyword                  (across  1 files)\n15  ColorVariable                 (across  1 files)\n11  StringQuotes                  (across 11 files)\n11  EmptyLineBetweenBlocks        (across 11 files)\n 5  Indentation                   (across  1 files)\n 5  QualifyingElement             (across  2 files)\n 4  MergeableSelector             (across  1 files)\n--  ----------------------        -----------------\n66  total                         (across 12 files)\n```\n\n### Plugins\n\nThere are also formatters that integrate with third-party tools which are available as plugins.\n\n#### Checkstyle\n\nOutputs an XML document with `\u003Ccheckstyle>`, `\u003Cfile>`, and `\u003Cerror>` tags.\nSuitable for consumption by tools like\n[Jenkins](http:\u002F\u002Fjenkins-ci.org\u002F) with the\n[Checkstyle plugin](https:\u002F\u002Fwiki.jenkins-ci.org\u002Fdisplay\u002FJENKINS\u002FCheckstyle+Plugin).\n\n```bash\ngem install scss_lint_reporter_checkstyle\nscss-lint --require=scss_lint_reporter_checkstyle --format=Checkstyle [scss-files...]\n```\n\n```xml\n\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n\u003Ccheckstyle version=\"1.5.6\">\n  \u003Cfile name=\"test.css\">\n    \u003Cerror line=\"2\" severity=\"warning\" message=\"Prefer single quoted strings\" \u002F>\n    \u003Cerror line=\"2\" severity=\"warning\" message=\"Line should be indented 0 spaces, but was indented 1 spaces\" \u002F>\n    \u003Cerror line=\"5\" severity=\"warning\" message=\"Prefer single quoted strings\" \u002F>\n    \u003Cerror line=\"6\" severity=\"warning\" message=\"URLs should be enclosed in quotes\" \u002F>\n  \u003C\u002Ffile>\n\u003C\u002Fcheckstyle>\n```\n\n## Exit Status Codes\n\n`scss-lint` tries to use\n[semantic exit statuses](http:\u002F\u002Fwww.gsp.com\u002Fcgi-bin\u002Fman.cgi?section=3&topic=sysexits)\nwherever possible, but the full list of codes and the conditions under which they are\nreturned is listed here for completeness.\n\nExit Status | Description\n------------|-------------------------------------------------------------\n`0`         | No lints were found\n`1`         | Lints with a severity of `warning` were reported (no errors)\n`2`         | One or more errors were reported (and any number of warnings)\n`64`        | Command line usage error (invalid flag, etc.)\n`66`        | One or more files specified were not found\n`69`        | Required library specified via `-r`\u002F`--require` flag was not found\n`70`        | Unexpected error (i.e. a bug); please [report it](https:\u002F\u002Fgithub.com\u002Fsds\u002Fscss-lint\u002Fissues)\n`78`        | Invalid configuration file; your [YAML](http:\u002F\u002Fwww.yaml.org\u002F) is likely incorrect\n`80`        | Files glob patterns specified did not match any files.\n\n## Linters\n\n`scss-lint` is a customizable tool with opinionated defaults that helps you\nenforce a consistent style in your SCSS. For these opinionated defaults, we've\nhad to make calls about what we think are the \"best\" style conventions, even\nwhen there are often reasonable arguments for more than one possible style.\n\nShould you want to customize the checks run against your code, you can do so by\nediting your [configuration file](#configuration) to match your\npreferred style.\n\n### [» Linters Documentation](lib\u002Fscss_lint\u002Flinter\u002FREADME.md)\n\n## Custom Linters\n\n`scss-lint` allows you to create custom linters specific to your project. By\ndefault, it will load linters from the `.scss-linters` in the root of your\nrepository. You can customize which directories to load from via the\n`plugin_directories` option in your `.scss-lint.yml` configuration file. See\nthe [linters directory](lib\u002Fscss_lint\u002Flinter) for examples of how to write\nlinters. All linters loaded from directories in `plugin_directories` are\nenabled by default, and you can set their configuration in your\n`.scss-lint.yml`.\n\n```ruby\n# .scss-linters\u002Fanother_linter.rb\n\nmodule SCSSLint\n  class Linter::AnotherLinter \u003C Linter\n    include LinterRegistry\n\n    ...\n  end\nend\n```\n\n```yaml\n# .scss-lint.yml\nplugin_directories: ['.scss-linters', '.another_directory']\n\nlinters:\n  AnotherLinter:\n    enabled: true\n    some_option: [1, 2, 3]\n```\n\nYou can also load linters packaged as gems by specifying the gems via the\n`plugin_gems` configuration option. See the\n[`scss_lint_plugin_example`](https:\u002F\u002Fgithub.com\u002Fcih\u002Fscss_lint_plugin_example)\nfor an example of how to structure these plugins.\n\nIf the gem is packaged with an `.scss-lint.yml` file in its root directory then\nthis will be merged with your configuration. This provides a convenient way for\norganizations to define a single repo with their `scss-lint` configuration and\ncustom linters and use them across multiple projects. You can always override\nplugin configuration with your repo's `.scss-lint.yml` file.\n\n```yaml\n# .scss-lint.yml\nplugin_gems: ['scss_lint_plugin_example']\n```\n\nNote that you don't need to publish a gem to Rubygems to take advantage of\nthis feature. Using Bundler, you can specify your plugin gem in your project's\n`Gemfile` and reference its git repository instead:\n\n```ruby\n# Gemfile\ngem 'scss_lint_plugin_example', git: 'git:\u002F\u002Fgithub.com\u002Fcih\u002Fscss_lint_plugin_example'\n```\n\nAs long as you execute `scss-lint` via `bundle exec scss-lint`, it should be\nable to load the gem.\n\n## Preprocessing\n\nSometimes SCSS files need to be preprocessed before being linted. This is made\npossible with two options that can be specified in your configuration file.\n\nThe `preprocess_command` option specifies the command to run once per SCSS\nfile. The command can be specified with arguments. The contents of a SCSS\nfile will be written to STDIN, and the processed SCSS contents must be written\nto STDOUT. If the process exits with a code other than 0, scss-lint will\nimmediately exit with an error.\n\nFor example, `preprocess_command: \"cat\"` specifies a simple no-op preprocessor\n(on Unix-like systems). `cat` simply writes the contents of STDIN back out to\nSTDOUT.\n\nMetadata codeblocks like [Jekyll Front Matter](http:\u002F\u002Fjekyllrb.com\u002Fdocs\u002Fassets\u002F)\nat the beginning of SCSS files can cause a syntax error when SCSS-Lint does not\nencounter Sass at the first line of the file, e.g.\n`Invalid CSS after \"@charset \"utf-8\"\": expected \"{\", was \";\"`.\nTo search the first line for front matter's triple dash delimiter `---`,\nstrip out the YAML codeblock and pass the result to SCSS-Lint with line\nnumbers preserved, you can use\n`preprocess_command: \"sed '1{\u002F^---$\u002F{:a N;\u002F---$\u002F!ba;d}}'\"` -- please note this\nsed command is valid for gnu-sed. If you are using the FreeBSD version of sed that\nships with Mac OS X by default, it will throw an EOF error. You may solve this\nerror by installing [Homebrew](https:\u002F\u002Fbrew.sh), running `brew install gnu-sed`,\nand then substituting `gsed` for `sed` in the `preprocess_command`.\n\nIf only some SCSS files need to be preprocessed, you may use the\n`preprocess_files` option to specify a list of file globs that need\npreprocessing. Preprocessing only a subset of files should make scss-lint more\nperformant.\n\n## Automated Code Review\n\n### Codacy\n\n[Codacy](https:\u002F\u002Fwww.codacy.com\u002F) automates code reviews and monitors code quality on every commit and pull request.\nWith Codacy you have scss-lint analysis out-of-the-box, and it is free for open source projects.\nIt gives visibility into the technical debt and it can track code style and security issues, code coverage, code duplication, cyclomatic complexity and enforce best practices.\n\n## Editor Integration\n\n### Vim\n\nYou can have `scss-lint` automatically run against your SCSS files after saving\nby using the [Syntastic](https:\u002F\u002Fgithub.com\u002Fscrooloose\u002Fsyntastic) plugin. If\nyou already have the plugin, just add\n`let g:syntastic_scss_checkers = ['scss_lint']` to your `.vimrc`.\n\n### IntelliJ\n\nInstall the [SCSS Lint plugin for IntelliJ](https:\u002F\u002Fgithub.com\u002Fidok\u002Fscss-lint-plugin)\n\n### Sublime Text\n\nInstall the\n[Sublime scss-lint plugin](https:\u002F\u002Fsublime.wbond.net\u002Fpackages\u002FSublimeLinter-contrib-scss-lint).\n\n### Atom\n\nInstall the [Atom scss-lint plugin](https:\u002F\u002Fatom.io\u002Fpackages\u002Flinter-scss-lint). It is a part of the [`atomlinter`](https:\u002F\u002Fatom.io\u002Fusers\u002Fatomlinter) project, so if you are already using other linter plugins, you can keep them in one place.\n\n### Emacs\n\nInstall and enable both [scss-mode](https:\u002F\u002Fgithub.com\u002Fantonj\u002Fscss-mode) and [flycheck-mode](https:\u002F\u002Fgithub.com\u002Fflycheck\u002Fflycheck). You can enable automatic linting for scss-mode buffers with `(add-hook 'scss-mode-hook 'flycheck-mode)` in your `init.el`.\n\n### TextMate 2\n\nIf you use `TextMate 2`, you can install the [SCSS-Lint.tmbundle](https:\u002F\u002Fgithub.com\u002Fjjuliano\u002FSCSS-Lint.tmbundle) bundle.\n\n### Visual Studio Code\n\nIf you use `Visual Studio Code`, you can install the [scss-lint](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=adamwalzer.scss-lint) extension\n\n## Git Integration\n\nIf you'd like to integrate `scss-lint` into your Git workflow, check out our\nGit hook manager, [overcommit](https:\u002F\u002Fgithub.com\u002Fsds\u002Fovercommit).\n\n## Rake Integration\n\nTo execute `scss-lint` via a [Rake](https:\u002F\u002Fgithub.com\u002Fruby\u002Frake) task, ensure\nyou have `rake` in your gem path (e.g. by adding to your `Gemfile`), and add the\nfollowing to your `Rakefile`:\n\n```ruby\nrequire 'scss_lint\u002Frake_task'\n\nSCSSLint::RakeTask.new\n```\n\nWhen you execute `rake scss_lint`, the above configuration is equivalent to\njust running `scss-lint`, which will lint all `.scss` files in the current\nworking directory and its descendants.\n\nYou can customize the task by writing:\n\n```ruby\nrequire 'scss_lint\u002Frake_task'\n\nSCSSLint::RakeTask.new do |t|\n  t.config = 'custom\u002Fconfig.yml'\n  t.args = ['--format', 'JSON', '--out', 'results.txt']\n  t.files = Dir.glob(['app\u002Fassets', 'custom\u002F*.scss'])\nend\n```\n\nYou can specify any command line arguments in the `args` attribute that are\nallowed by the `scss-lint` Ruby binary script. Each argument must be passed as\nan Array element, rather than one String with spaces.\n\nYou can also use this custom configuration with a set of files specified via\nthe command line (note that this will not expand glob patterns):\n\n```bash\n# Single quotes prevent shell glob expansion\nrake 'scss_lint[app\u002Fassets, custom\u002Ffile-with-a-literal-asterisk-*.scss]'\n```\n\nFiles specified in this manner take precedence over the `files` attribute\ninitialized in the configuration above.\n\n## Maven Integration\n\n[Maven] integration is available as part of the [Sass maven\nplugin][maven-plugin] `scss-lint` since [version 2.3][maven-plugin-2.3] Check\nout the [plugin documentation][maven-plugin-info].\n\nThe Maven plugin comes with the necessary libraries included, a separate\ninstallation of `ruby` or `scss-lint` is not required.\n\n[maven]: https:\u002F\u002Fmaven.apache.org\u002F\n[maven-plugin]: https:\u002F\u002Fgithub.com\u002FGeoDienstenCentrum\u002Fsass-maven-plugin\n[maven-plugin-2.3]: http:\u002F\u002Fwww.geodienstencentrum.nl\u002Fsass-maven-plugin\u002Freleasenotes.html#a2.3_Release_Notes\n[maven-plugin-info]: https:\u002F\u002FGeoDienstenCentrum.github.io\u002Fsass-maven-plugin\u002Fplugin-info.html\n\n## Contributing\n\nWe love getting feedback with or without pull requests. If you do add a new\nfeature, please add tests so that we can avoid breaking it in the future.\n\nSpeaking of tests, we use `rspec`, which can be run like so:\n\n```bash\nbundle exec rspec\n```\n\nAfter you get the unit tests passing, you probably want to see your version of\n`scss-lint` in action. You can use Bundler to execute your binary locally from\nwithin your project's directory:\n\n```bash\nbundle exec bin\u002Fscss-lint\n```\n\n## Community\n\nAll major discussion surrounding SCSS-Lint happens on the\n[GitHub issues page](https:\u002F\u002Fgithub.com\u002Fsds\u002Fscss-lint\u002Fissues).\n\nYou can also follow [@scss_lint on Twitter](https:\u002F\u002Ftwitter.com\u002Fscss_lint).\n\n## Changelog\n\nIf you're interested in seeing the changes and bug fixes between each version\nof `scss-lint`, read the [SCSS-Lint Changelog](CHANGELOG.md).\n\n## Code of conduct\n\nThis project adheres to the [Open Code of Conduct][code-of-conduct]. By\nparticipating, you are expected to honor this code.\n\n[code-of-conduct]: https:\u002F\u002Fgithub.com\u002Fciviccc\u002Fcode-of-conduct\n\n## License\n\nThis project is released under the [MIT license](MIT-LICENSE).\n","scss-lint 是一个用于保持 SCSS 文件整洁和一致性的可配置工具。它通过一系列可自定义的规则来检查 SCSS 代码，帮助开发者编写更规范的样式表。核心功能包括命令行运行、SCM 钩子集成以及多种格式化输出选项。该项目基于 Ruby 开发，并依赖于 Ruby Sass 实现，因此在使用时需注意兼容性问题。尽管官方建议考虑其他替代方案如 stylelint，但 scss-lint 仍持续接受社区贡献和支持。此工具特别适合需要维护大量 SCSS 代码库并希望提高代码质量与团队协作效率的前端开发项目。",2,"2026-06-11 03:14:34","top_language"]