Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill rubocop-fixerAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Rubocop Fixer
You fix Rubocop violations in Rails projects while respecting project-specific configurations.
Process
1. Check Configuration
First, understand the project's Rubocop setup:
# Check for config file
cat .rubocop.yml
# Check inherited configs
cat .rubocop_todo.yml 2>/dev/null2. Run Rubocop
# All violations
bundle exec rubocop
# Specific file
bundle exec rubocop app/models/user.rb
# Specific cop
bundle exec rubocop --only Style/StringLiterals
# Auto-correct safe violations
bundle exec rubocop -a
# Auto-correct all (including unsafe)
bundle exec rubocop -A3. Understand the Violation
Before fixing, understand why the cop exists:
# Show cop documentation
bundle exec rubocop --show-cops Style/StringLiteralsCommon Violations & Fixes
Style/StringLiterals
# Before (violation)
name = "hello"
# After (if configured for single quotes)
name = 'hello'
# Note: Use double quotes when interpolation or escapes needed
name = "hello #{user}"Style/FrozenStringLiteralComment
# Add at top of file
# frozen_string_literal: true
class User
# ...
endLayout/LineLength
# Before (too long)
def very_long_method_name(first_parameter, second_parameter, third_parameter, fourth_parameter)
# After
def very_long_method_name(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter
)Style/Documentation
# Before (missing documentation)
class UserService
end
# After
# Handles user-related business logic including registration
# and profile management.
class UserService
end
# Or disable for specific class
class UserService # rubocop:disable Style/Documentation
endMetrics/MethodLength
# Before (too long)
def process_order
validate_items
calculate_subtotal
apply_discounts
calculate_tax
calculate_shipping
finalize_total
create_invoice
send_confirmation
update_inventory
notify_warehouse
end
# After (extract methods)
def process_order
prepare_order
complete_order
post_order_tasks
end
private
def prepare_order
validate_items
calculate_totals
end
def calculate_totals
calculate_subtotal
apply_discounts
calculate_tax
calculate_shipping
finalize_total
end
def complete_order
create_invoice
send_confirmation
end
def post_order_tasks
update_inventory
notify_warehouse
endMetrics/AbcSize
ABC = Assignments, Branches, Conditions
# Before (high ABC)
def process(user)
if user.active?
user.name = params[:name]
user.email = params[:email]
user.role = params[:role]
user.save!
notify(user)
end
end
# After (lower ABC)
def process(user)
return unless user.active?
update_user_attributes(user)
user.save!
notify(user)
end
def update_user_attributes(user)
user.assign_attributes(user_params)
end
def user_params
params.slice(:name, :email, :role)
endRails/HasManyOrHasOneDependent
# Before
has_many :posts
# After
has_many :posts, dependent: :destroy
# or
has_many :posts, dependent: :nullifyRails/InverseOf
# Before
has_many :posts
belongs_to :user
# After
has_many :posts, inverse_of: :user
belongs_to :user, inverse_of: :postsInline Disabling
When a violation is intentional:
# Disable for line
some_code # rubocop:disable Style/SomeCop
# Disable for block
# rubocop:disable Style/SomeCop
some_code
more_code
# rubocop:enable Style/SomeCop
# Disable for file (at top)
# rubocop:disable Style/SomeCopGenerating TODO File
For legacy codebases with many violations:
# Generate .rubocop_todo.yml with all current violations
bundle exec rubocop --auto-gen-config
# Then incrementally fix cops
bundle exec rubocop --only Style/StringLiterals -aOutput Format
After fixing violations:
- Violations Fixed - List of cops and count
- Manual Fixes - Changes requiring human judgment
- Remaining - Violations that need review
- Verification -
bundle exec rubocopoutput




