Lint your staged git files 🩺
ESLint plugin for useVyre design system — detects AI hallucinations at lint time
ESLint rules for AdCP adopters — flags credential-handling antipatterns at lint time. Build-time sibling to the SDK's `credentialPolicy: 'authInfo-only'` runtime guard.
ESLint plugin for Spectrum Web Components — catches accessibility gaps, deprecated APIs, and invalid attribute usage at lint time.
Biome GritQL lint rules for SolidJS — catches common reactivity bugs at lint time
Biome GritQL lint rules for @solidjs/router — catches common API mistakes at lint time
Simple, transparent parser combinators toolkit that supports any tokens
Lexer / tokenizer
ESLint plugin that enforces explicit return types on Angular route resolvers, catching type mismatches at lint time.
Lint rules that catch umpire mistakes at lint time: typo'd field names, inline instance creation, and logical impossibilities like self-disabling fields and circular requires chains.
HTML+ERB linter for validating HTML structure and enforcing best practices
Lint files staged by git
remark-lint rule to warn when headings increment with more than 1 level at a time
[](https://github.com/mmkal/expect-type/actions/workflows/ci.yml)  [](ht
Lint a string against commitlint rules
Linting support for the CodeMirror code editor
Validate JSON
Downgrade errors to warnings
Tiny tool to run commands for modified, staged, and committed git files.
See https://github.com/Redocly/redocly-cli
Cross-platform process cpu % and memory usage of a PID
selderee plugin - selectors decision tree builder for htmlparser2 DOM.
Lint your app's addon dependencies, making sure you only have one version of each.
A Gherkin linter/validator written in javascript
collie-lsp provides real-time linting, formatting, and code intelligence features for .y grammar files in any LSP-compatible editor
This are our configuration files for scss-lint, Rubocop and ESLint. If you want to work on project's together with ikusei, please take the time to set up your environment to use these configuration files.
Ikuzo delivers short, humorous, and motivational commit messages so you can satisfy Conventional Commit lint rules and get back to coding—life is short, take time to code—whether you call it from the CLI or as a library.
Opinionated local CI that checks your code before it leaves your machine. Runs a four-stage pipeline (lint, build, fast tests, slow tests) on every commit with strict time budgets. Hooks into git pre-commit and pre-push, stores results in SQLite, and includes a TUI dashboard for monitoring.
- xcsims: Delete all simulators and recreate one for each compatible platform and device type pairing. - sync-git-remotes: Make sure all your GitHub repos are cloned into a given directory and keep them synced with upstream. Forks are maintained with a remote for both the fork and upstream, both remotes' default branches are tracked in local counterparts, and the upstream default branch is also pushed to the fork. - changetag: Extract changelog entries to write into git tag annotation messages. - prerelease-podspec: Branch and create/push a release candidate tag, modify the podspec to use that version tag, and try linting it. - release-podspec: Create a tag with the version and push it to repo origin, push podspec to CocoaPods trunk. - revert-failed-release-tag: In case `release-podspec` fails, make sure the tag it may have created/pushed is destroyed before trying to run it again after fixing, so it doesn't break due to the tag already existing the second time around. - bumpr: Increment the desired part of a version number (major/minor/patch/build) and write the change to a git commit. - clean-rc-tags: deletes any release candidate tags leftover after prerelease testing. - migrate-changelog: for a changelog adhering to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), move any contents under Unreleased to a new section for a new version with the current date.
Lookout-Rack Lookout-Rack provides easy interaction with Rack¹ from Lookout². It provides you with a session connected to your Rack application through which you can make requests, check responses, follow redirects and set, inspect, and clear cookies. ¹ See http://rack.rubyforge.org/ ² See http://disu.se/software/lookout/ § Installation Install Lookout-Rack with % gem install lookout-rack § Usage Include the following code in your ‹Rakefile› (provided that you’re using Lookout-Rake¹): require 'lookout-rack-3.0' Lookout::Rake::Tasks::Test.new do |t| t.requires << 'lookout-rack-3.0' end ¹ See http://disu.se/software/lookout-rake/ Then set up a ‹fixtures/config.ru› file that Lookout-Rack will use for loading your Rack app. load 'path/to/app.rb' use Rack::Lint run Path::To::App This file, if it exists, will be loaded during the first call to #session. If it doesn’t exist, ‹config.ru› will be used instead. You can now test your app: Expectations do expect 200 do session.get('/').response.status end end The #session method returns an object that lets you #get, #post, #put, and #delete resources from the Rack app. You call these method with a URI¹ that you want to access/modify together with any parameters that you want to pass and any Rack environment that you want to use (which isn’t very common). For example, let’s get ‹/pizzas/› with olives on them: expect 200 do session.get('/pizzas/', 'olives' => '1').response.status end ¹ Abbreviation for Uniform Resource Identifier The #response method on #session returns a mock Rack response object that can be queried for results. Similarly, there’s a #request method that lets you inspect the request that was made. Lookout-Rack also deals with cookies. Assuming that ‹/cookies/set/› will set any cookies that we pass it and that ‹/cookies/show/› will simply do nothing relevant, the following expectation will pass: expect 'value' => '1' do session. get('/cookies/set/', 'value' => '1'). get('/cookies/show/').request.cookies end Sometimes you may want to set cookies yourself before making a request. You then use the #cookie method, which takes a String of ‹KEY=VALUE› pairs separated by newlines, commas, and/or semicolons and sets those cookies in the session: expect 'value' => '1', 'other' => '2' do session. cookie("value=1\n\nother=2"). get('/cookies/show/').request.cookies end You may also want to clear all cookies in your session using #clear: expect({}) do session. get('/cookies/set', 'value' => '1'). clear. get('/cookies/show').request.cookies end Finally, to test redirects, call the #redirect! method on the session object, assuming that ‹/redirected/› redirects to another location: expect result.redirect? do session.get('/redirected/').response end expect result.not.redirect? do session.get('/redirected/').redirect!.response end That’s basically all there’s to it. You can check the {API documentation}¹ for more information. ¹ See http://disu.se/software/lookout-rack/api/Lookout/Rack/ § Financing Currently, most of my time is spent at my day job and in my rather busy private life. Please motivate me to spend time on this piece of software by donating some of your money to this project. Yeah, I realize that requesting money to develop software is a bit, well, capitalistic of me. But please realize that I live in a capitalistic society and I need money to have other people give me the things that I need to continue living under the rules of said society. So, if you feel that this piece of software has helped you out enough to warrant a reward, please PayPal a donation to now@disu.se¹. Thanks! Your support won’t go unnoticed! ¹ Send a donation: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=now@disu.se&item_name=Lookout-Rack § Reporting Bugs Please report any bugs that you encounter to the {issue tracker}¹. ¹ See https://github.com/now/lookout-rack/issues § Authors Nikolai Weibull wrote the code, the tests, the documentation, and this README. § Licensing Lookout-Rack is free software: you may redistribute it and/or modify it under the terms of the {GNU Lesser General Public License, version 3}¹ or later², as published by the {Free Software Foundation}³. ¹ See http://disu.se/licenses/lgpl-3.0/ ² See http://gnu.org/licenses/ ³ See http://fsf.org/