Commit message validator
Smallest simplest conventional commit validator to use with eg Husky
Simple Git branch and commit validator for consistent naming conventions. Validates format and ensures proper ticket ID patterns without external API dependencies.
A GitHub Copilot-powered commit validator with intelligent local code analysis, enhanced security pattern detection, automatic error file opening, side-by-side code comparison, and production-ready skip validation directives.
The Bounce style guide, formatter, and commit validator.
Production-ready AI commit validator with enhanced error detection including undeclared variables that cause ReferenceError. Focuses on meaningful code optimizations, critical error detection, unused code removal, and performance improvements.
Pre-commit accessibility validator for HTML, JSX, JS and Liquid files. Blocks commits with WCAG violations and provides GitHub Copilot-powered fix suggestions.
Test project for ai-commit-validator and branch-commit-validator packages
Another JSON Schema Validator
Validate identifier/keywords name
Validate plugin/preset options
Validate postcodes based on country
Additional JSON-Schema keywords for Ajv JSON validator
Valida, formata e gera strings de CPF ou CNPJ, com suporte ao novo formato alfanumérico da RFB e adapters para joi, yup e zod.
Git commit-msg hook validator
Decorator-based property validation for classes.
String validation and sanitization
Another JSON Schema Validator
Sistema de validación automática de commits con formato personalizado y CLI interactivo. Valida commits con patrón Tipo|IdTarea|YYYYMMDD|Descripción
Express middleware for the validator module.
Ajv class for JSON Schema draft-04
Validator for GitHub action and workflow YAML files
Object schema validation
Professional Git branch and commit validator for consistent naming conventions. Validates format and ensures proper ticket ID patterns without external API dependencies. Perfect for teams worldwide.
A Git hook to validate your commit messages based on community standards.
Validates format of git commit messages
Git Commit Helper
Simple adapter for jquery client-side validation. Idea was stollen from ASP.NET MVC
A CLI and library to validate GitLab CI pipeline yaml files via the GitLab API
Provides a command line tool to perform different types of validations on MTR files. These files are YAML files that contain information about the performed test and the revision (commit) for which the test was performed.
Gitlab Fastlane allows developers to run GitLab CI pipelines locally, check for uncommitted changes, and tag commits with validation markers to ensure CI passes before creating merge requests.
# Mod10 A simple gem to generate mod_10 check digits and check if integers are mod10 valid. ## Installation Add this line to your application's Gemfile: ```ruby gem 'mod_10' ``` And then execute: $ bundle Or install it yourself as: $ gem install mod_10 ## Usage Include the Mod10 module to make the following two methods available - generate_check_digit(value) Which returns an integer value for the mod10 check digit of a string or integer. Note: If the value is 0, then the argument was already mod10 valid. - is_mod10?(value) Returns true or false for the tested value is it is or isn't mod10 valid. ## Contributing 1. Fork it ( https://github.com/[my-github-username]/mod_10/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request
# SshSig - SSH signature verification in pure ruby SshSig is a Ruby gem which can be used to verify signatures signed created by `ssh-keygen`. This capability was [first added](https://github.com/openssh/openssh-portable/commit/2a9c9f7272c1e8665155118fe6536bebdafb6166) in OpenSSH 8.0 allows SSH keys to be used for GPG-like signing capabilities, [including signing git commits](https://github.com/git/git/pull/1041). ## Installation Add this line to your application's Gemfile: ```ruby gem 'ssh_sig' ``` And then execute: $ bundle install Or install it yourself as: $ gem install ssh_sig ## Usage Version 1 of [the SSH signature format](https://github.com/openssh/openssh-portable/blob/b7ffbb17e37f59249c31f1ff59d6c5d80888f689/PROTOCOL.sshsig) supports `ed25519` and `rsa` keys. It is recommended that you use `ed25519` over `rsa` where possible (`ssh-keygen -t ed25519`). In order to verify a signature you need: 1. The public key of the sender 1. The signature file 1. The message to be verified. ```ruby require 'ssh_sig' armored_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILXPkJPI4TMFWZP4xRBQjNeizUG99KuZCt9G23rX48kz" blob = ::SshSig::Blob.from_armor( <<~EOF -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtc+Qk8jhMwVZk/jFEFCM16LNQb 30q5kK30bbetfjyTMAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx OQAAAECJITeYJIlEeydsCTh1DkfdhlDJFBa73ojfWe0MbrIzoJKd9THd9WeQrhygSRGsNG cU/stk3/919nykg67yG2gN -----END SSH SIGNATURE----- EOF ) message = "This message was definitely sent by Brian Williams" valid = ::SshSig::Verifier .from_armored_pubkey(armored_pubkey) .verify(blob, message) if valid puts 'Signature is valid' else puts 'Signature is not valid' end ``` Signatures can be created using `ssh-keygen -Y sign -n file -f ~/.ssh/ed_25519 message.txt` and will be outputted in `message.txt.sig`. Public keys can be found in a variety of places, including: - Your `~/.ssh/id_<alg>.pub` file - `authorized_keys` files on servers - `https://gitlab.com/<username>.keys` - `https://github.com/<username>.keys` The `SshSig::Verifier#from_gitlab` and `SshSig::Verifier#from_github` methods are provided to automatically load public keys from the respective `<username>.keys` urls. ```ruby require 'ssh_sig' blob = ::SshSig::Blob.from_armor( <<~EOF -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgtc+Qk8jhMwVZk/jFEFCM16LNQb 30q5kK30bbetfjyTMAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx OQAAAECJITeYJIlEeydsCTh1DkfdhlDJFBa73ojfWe0MbrIzoJKd9THd9WeQrhygSRGsNG cU/stk3/919nykg67yG2gN -----END SSH SIGNATURE----- EOF ) message = 'This message was definitely sent by Brian Williams' valid = ::SshSig::Verifier .from_gitlab('bwill') .verify(blob, message) if valid puts 'Signature is valid' else puts 'Signature is not valid' end ``` ## Is it safe to re-purpose SSH keys for signing? Yes. The [SSH signature protocol](https://github.com/openssh/openssh-portable/blob/d575cf44895104e0fcb0629920fb645207218129/PROTOCOL.sshsig) is designed to be resistant to cross-protocol attacks, where signatures created for one purpose (i.e. signing a git commit), may be re-used for another purpose (i.e. authenticating to a server). It does this using the magic pre-amble (to differentiate between messages signed by `ssh-keygen` and messages used for SSH authentication) and namespaces (to differentiate between messages signed by `ssh-keygen` but used for different purposes). This causes identical messages to produce different signatures for each different protocol. ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/ssh_sig. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/ssh_sig/blob/main/CODE_OF_CONDUCT.md). ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
CORTO - your url shortner gem ----------------------------- - Yet another url shortner? corto is a ruby gem that shorten a URL for you and store the result in a SQLite3 database. Why the world needs another url shortener? Well, true to be told I don't know the answer and I'm pretty sure this code is far away from being revolutionary. However... corto is funniest! - Usage Using corto as standalone utility is straightforward. In case you want to shorten an url you just launch the program with the url as parameter. % bin/corto http://www.armoredcode.com % corto: http://www.armoredcode.com shrunk as ji5jnu Please note that you've to supply a valid URL, since internally it's parsed and rejected anything but HTTP and HTTPS verbs. % bin/corto funnystatementhere % corto: it seems funnystatementhere is not a valid url to shrink If you want to deflate a shrunk url, you have just to specify the '-d' flag this way. % bin/corto -d ji5jnu % corto: ji5jnu deflated is http://www.armoredcode.com Super easy, isn't it? Now, go ahead and shrink the web! - API A simple corto shortening session start with class initialization, optionally telling which SQLite3 database to use and then mastering the parameter. require 'corto' ... corto = Corto.new # we're now saying the gem we want to use it's internal database stored in db/corto.db s = corto.shrink('http://www.armoredcode.com') # s now stores the shrinked url that is already added to database if not present. # If you'll pass an invalid url to shrink(), nil will be returned instead Deflating a URL is super easy as well # The deflate process is quite straightforward as well d = corto.deflate(s) # d has now the deflated url or nil if that url was not found You can also count how many urls contained into db # If you want to know how many urls you have in your database, just call the count() method. puts 'Hey, I have stored ' + corto.count() + ' urls' And finally you can purge your db # Tired of your database and time for a massive clean has come? Let's purge the db. corto.purge # corto.count == 0 now - Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don’t break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. - Copyright Copyright © 2011 Paolo Perego. See LICENSE for details.
Validate the phone number and content of an SMS Message. This gem does not send SMS messages. It just makes sure the arguments are valid.
Send SMS messages using the CellForce API