{"id":43961906,"url":"https://github.com/hastur-dev/cargo-fast-lint","last_synced_at":"2026-02-07T05:33:51.614Z","repository":{"id":305701762,"uuid":"1023664144","full_name":"hastur-dev/cargo-fast-lint","owner":"hastur-dev","description":"a linter for rust that doesn't compile a portion of the code to lint","archived":false,"fork":false,"pushed_at":"2025-08-06T01:21:47.000Z","size":52,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-06T02:41:05.046Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hastur-dev.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-07-21T13:57:51.000Z","updated_at":"2025-08-06T01:21:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"608156b5-7457-444a-b803-b0a887a1430f","html_url":"https://github.com/hastur-dev/cargo-fast-lint","commit_stats":null,"previous_names":["hastur-dev/cargo-fast-lint"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hastur-dev/cargo-fast-lint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hastur-dev%2Fcargo-fast-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hastur-dev%2Fcargo-fast-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hastur-dev%2Fcargo-fast-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hastur-dev%2Fcargo-fast-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hastur-dev","download_url":"https://codeload.github.com/hastur-dev/cargo-fast-lint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hastur-dev%2Fcargo-fast-lint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29187227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T05:07:31.176Z","status":"ssl_error","status_checked_at":"2026-02-07T05:06:15.227Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-02-07T05:33:51.390Z","updated_at":"2026-02-07T05:33:51.602Z","avatar_url":"https://github.com/hastur-dev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cargo-fl\n\nLightning-fast Rust linter that runs **without compilation**. Similar to [ruff](https://github.com/astral-sh/ruff) for Python, but for Rust.\n\n\u003e `fl` = fast lint. Because developer time is precious.\n\n## Features\n\n- **\u003c 1 second** on large codebases (100k+ lines)\n- **Zero compilation** - pure AST analysis using `syn`\n- **Parallel processing** with `rayon`\n- **Auto-fix support** for common issues\n- **Configurable rules** via `.fl.toml`\n- **LSP Server** for real-time editor feedback\n- **VSCode Extension** for seamless integration\n\n## Installation\n\n```bash\ncargo install cargo-fl\n```\n\n## Usage\n\n### Command Line\n\n```bash\n# Lint current directory\ncargo-fl check\n\n# Lint specific path\ncargo-fl check src/\n\n# Auto-fix issues\ncargo-fl check --fix\n\n# Different output formats\ncargo-fl check --format json\ncargo-fl check --format github  # For CI\n\n# Strict mode (exit 1 on issues)\ncargo-fl check --strict\n```\n\n### Configuration\n\nGenerate a default config:\n```bash\ncargo-fl config --init\n```\n\nThis creates `.fl.toml`:\n```toml\n[rules]\nenable_all = true\ndisable = [\"specific_rule\"]\n\n[severity]\nunused_imports = \"warning\"\nmissing_docs = \"info\"\n```\n\n### Editor Integration\n\n#### VSCode\n\n1. Install the cargo-fl VSCode extension\n2. The extension will automatically use the LSP server for real-time feedback\n\n#### Other Editors\n\nUse the LSP server directly:\n```bash\ncargo-fl-lsp\n```\n\nThe LSP server supports:\n- Real-time diagnostics\n- Code actions (auto-fixes)\n- Configuration via `.fl.toml`\n\n## Rules\n\n### Core Quality Rules\n- **unwrap_usage**: Detects `.unwrap()`, `.unwrap_unchecked()`, and `.expect()` calls\n- **todo_macros**: Finds `todo!()`, `unimplemented!()`, `unreachable!()`, and `panic!()` macros\n- **must_use**: Identifies unused results from functions with `#[must_use]` return types\n- **anti_patterns**: Common Rust anti-patterns and code smells\n\n### Style \u0026 Structure Rules\n- **unused_imports**: Detects unused import statements\n- **missing_docs**: Missing documentation for public items\n- **line_length**: Lines exceeding configured character limit\n- **naming_convention**: Rust naming convention violations\n\n### Complexity Rules\n- **cyclomatic_complexity**: Functions with high cyclomatic complexity\n- **cognitive_complexity**: Functions with high cognitive load\n- **unsafe_code**: Unsafe code block warnings\n\n### Import \u0026 Organization\n- **import_order**: Incorrect import statement ordering\n- **syntax_errors**: Basic syntax validation\n\n## Performance\n\nTypical performance on a 100k line Rust codebase:\n- Analysis: \u003c 1 second\n- Memory usage: \u003c 100MB\n- Parallel processing across CPU cores\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make changes with tests\n4. Submit a pull request\n\n## License\n\nMIT OR Apache-2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhastur-dev%2Fcargo-fast-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhastur-dev%2Fcargo-fast-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhastur-dev%2Fcargo-fast-lint/lists"}