1+ .PHONY : help install test test-verbose coverage lint format console clean ci setup
2+
3+ # Default target
4+ help : # # Show this help message
5+ @echo ' Usage: make [target]'
6+ @echo ' '
7+ @echo ' Targets:'
8+ @awk ' BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST )
9+
10+ setup : # # Initial setup - install dependencies
11+ bundle install
12+
13+ install : # # Install dependencies
14+ bundle install
15+
16+ test : # # Run all tests
17+ bundle exec rspec
18+
19+ test-verbose : # # Run tests with verbose output
20+ bundle exec rspec --format documentation
21+
22+ coverage : # # Run tests with coverage report
23+ bundle exec rake coverage
24+
25+ lint : # # Run linting (RuboCop)
26+ bundle exec rubocop
27+
28+ format : # # Auto-fix linting issues
29+ bundle exec rubocop -a
30+
31+ console : # # Start interactive console
32+ bundle exec rake console
33+
34+ clean : # # Clean up generated files
35+ rm -rf coverage/
36+ rm -f .rspec_status
37+
38+ ci : # # Run CI pipeline (tests + linting)
39+ bundle exec rake ci
40+
41+ build : # # Build the gem
42+ bundle exec rake build
43+
44+ release : # # Release a patch version (0.1.4 -> 0.1.5)
45+ ruby release.rb patch
46+
47+ release-minor : # # Release a minor version (0.1.4 -> 0.2.0)
48+ ruby release.rb minor
49+
50+ release-major : # # Release a major version (0.1.4 -> 1.0.0)
51+ ruby release.rb major
52+
53+ release-patch : # # Alias for release (patch version)
54+ ruby release.rb patch
55+
56+ yard : # # Generate documentation
57+ bundle exec yard
58+
59+ server : # # Start YARD documentation server
60+ bundle exec yard server
61+
62+ # Development shortcuts
63+ t : test # # Shortcut for test
64+ l : lint # # Shortcut for lint
65+ c : console # # Shortcut for console
66+ r : release # # Shortcut for release (patch)
67+ rm : release-minor # # Shortcut for release-minor
68+ rM : release-major # # Shortcut for release-major
0 commit comments