{"id":13469387,"url":"https://github.com/avencera/rustywind","last_synced_at":"2025-05-14T13:05:50.031Z","repository":{"id":41106977,"uuid":"223418412","full_name":"avencera/rustywind","owner":"avencera","description":"CLI for organizing Tailwind CSS classes","archived":false,"fork":false,"pushed_at":"2025-03-07T21:20:12.000Z","size":2796,"stargazers_count":540,"open_issues_count":11,"forks_count":28,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-03T20:34:33.391Z","etag":null,"topics":["cli","hacktoberfest","tailwind-css","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avencera.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-22T14:17:42.000Z","updated_at":"2025-05-02T04:09:48.000Z","dependencies_parsed_at":"2023-11-07T17:48:01.977Z","dependency_job_id":"69f2aa20-7cdf-404a-a6de-17a051fd78f6","html_url":"https://github.com/avencera/rustywind","commit_stats":{"total_commits":417,"total_committers":22,"mean_commits":"18.954545454545453","dds":0.5131894484412469,"last_synced_commit":"b485c086e423d98a0196313c831d2dde77a70cb8"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avencera%2Frustywind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avencera%2Frustywind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avencera%2Frustywind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avencera%2Frustywind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avencera","download_url":"https://codeload.github.com/avencera/rustywind/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149938,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","hacktoberfest","tailwind-css","tailwindcss"],"created_at":"2024-07-31T15:01:37.076Z","updated_at":"2025-05-14T13:05:49.957Z","avatar_url":"https://github.com/avencera.png","language":"Rust","funding_links":[],"categories":["Rust","Tools","Miscellaneous"],"sub_categories":[],"readme":"# RustyWind [![Mean Bean CI](https://github.com/avencera/rustywind/workflows/Mean%20Bean%20CI/badge.svg)](https://github.com/avencera/rustywind/actions?query=workflow%3A%22Mean+Bean+CI%22) [![npm version](https://badge.fury.io/js/rustywind.svg)](https://badge.fury.io/js/rustywind) [![crates.io](https://img.shields.io/crates/v/rustywind.svg)](https://crates.io/crates/rustywind)\n\n## Install\n\nAvailable via npm\n\n`yarn global add rustywind`\n\nor\n\n`npm install -g rustywind`\n\nor\n\nInstall from homebrew (mac and linux):\n\n`brew install avencera/tap/rustywind`\n\nor\n\nInstall from crates.io:\n\n`cargo install rustywind`\n\nor\n\n`cargo binstall rustywind`\n\nor\n\nInstall from a github release:\n\n`curl -LSfs https://avencera.github.io/rustywind/install.sh | sh -s -- --git avencera/rustywind`\n\nor\n\nDownload a release directly from github: [github.com/avencera/rustywind/releases](https://github.com/avencera/rustywind/releases)\n\nor\n\nYou can use the dockerized version\n\n`docker run --rm -v $PWD:/app avencera/rustywind:latest \u003crustywind arguments\u003e`\n\n## Usage\n\nRun rustywind with a path to output updated file contents to the terminal:\n\n- `rustywind .`\n\nIf you want to reorganize all classes in place, and change the files run with the `--write` flag\n\n- `rustywind --write .`\n\nRun rustywind with a path and the `--dry-run` to get a list of files that will be changed:\n\n- `rustywind --dry-run .`\n\nRun rustywind on your STDIN:\n\n- `echo \"\u003cFILE CONTENTS\u003e\" | rustywind --stdin`\n\nRun in CI, exit with error if unsorted classes are found:\n\n- `rustywind --check-formatted .`\n\nRun RustyWind with a custom sorter. The `config_file.json` should have a top level entry of `sortOrder`\nwhich is an array with the classes listed in the order you want them sorted.\n\n- `rustywind --config-file config_file.json`\n\nUse with tailwind prettier plugin\n\n- `rustywind --output-css-file \u003cpath to the tailwind generated css file\u003e`\n\n- `rustywind --vite-css \u003curl to the css generated by vite\u003e`\n\n```shell\nUsage: rustywind [OPTIONS] [PATH]...\n\nRun rustywind with a path to get a list of files that will be changed\n  rustywind . --dry-run\n\nIf you want to reorganize all classes in place, and change the files run with the `--write` flag\n  rustywind --write .\n\nTo print only the file names that would be changed run with the `--check-formatted` flag\n  rustywind --check-formatted .\n\nIf you want to run it on your STDIN, you can do:\n  echo \"\u003cFILE CONTENTS\u003e\" | rustywind --stdin\n\nArguments:\n  [PATH]...\n          A file or directory to run on\n\nOptions:\n      --stdin\n          Uses stdin instead of a file or folder\n\n      --write\n          Changes the files in place with the reorganized classes\n\n      --dry-run\n          Prints out the new file content with the sorted classes to the terminal\n\n      --check-formatted\n          Checks if the files are already formatted, exits with 1 if not formatted\n\n      --allow-duplicates\n          When set, RustyWind will not delete duplicated classes\n\n      --config-file \u003cCONFIG_FILE\u003e\n          When set, RustyWind will use the config file to derive configurations. The config file current only supports json with one property sortOrder, e.g. { \"sortOrder\": [\"class1\", ...] }\n\n      --output-css-file \u003cOUTPUT_CSS_FILE\u003e\n          When set RustyWind will determine the sort order by the order the class appear in the the given css file\n\n      --vite-css \u003cVITE_CSS\u003e\n          When set RustyWind will determine the sort order by the order the class appear in the CSS file that vite generates.\n\n          Please provide the full URL to the CSS file ex: `rustywind --vite-css \"http://127.0.0.1:5173/src/assets/main.css\" . --dry-run`\n\n          Note: This option is experimental and may be removed in the future.\n\n      --skip-ssl-verification\n          When set, RustyWind will skip SSL verification for the vite_css option\n\n      --ignored-files \u003cIGNORED_FILES\u003e\n          When set, RustyWind will ignore this list of files\n\n      --custom-regex \u003cCUSTOM_REGEX\u003e\n          Uses a custom regex instead of default one\n\n      --quiet\n          Do not print log messages\n\n  -h, --help\n          Print help (see a summary with '-h')\n\n  -V, --version\n          Print version\n```\n\n## What\n\nInspired by [Ryan Heybourn's](https://github.com/heybourn) [headwind](https://github.com/heybourn/headwind)\nvscode plugin. This is a CLI tool that will look through your project and sort all [Tailwind CSS](https://tailwindcss.com) classes.\n\nIt will also delete any duplicate classes it finds.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favencera%2Frustywind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favencera%2Frustywind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favencera%2Frustywind/lists"}