rails_claude_skills 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.yml +134 -0
  3. data/.github/ISSUE_TEMPLATE/config.yml +11 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.yml +129 -0
  5. data/.github/ISSUE_TEMPLATE/question.yml +90 -0
  6. data/.github/dependabot.yml +19 -0
  7. data/.github/workflows/ci.yml +77 -0
  8. data/.github/workflows/release.yml +66 -0
  9. data/.rubocop.yml +52 -0
  10. data/CHANGELOG.md +94 -0
  11. data/CLAUDE.md +332 -0
  12. data/CODE_OF_CONDUCT.md +134 -0
  13. data/CONTRIBUTING.md +580 -0
  14. data/LICENSE.txt +21 -0
  15. data/README.md +544 -0
  16. data/Rakefile +8 -0
  17. data/lib/generators/claude/agent/agent_generator.rb +71 -0
  18. data/lib/generators/claude/agent/templates/agent.md.tt +62 -0
  19. data/lib/generators/claude/command/command_generator.rb +50 -0
  20. data/lib/generators/claude/command/templates/command.md.tt +28 -0
  21. data/lib/generators/claude/commands_library/create-pr.md +27 -0
  22. data/lib/generators/claude/commands_library/dbchange.md +19 -0
  23. data/lib/generators/claude/commands_library/quality.md +20 -0
  24. data/lib/generators/claude/commands_library/stimulus.md +19 -0
  25. data/lib/generators/claude/commands_library/turbo-feature.md +17 -0
  26. data/lib/generators/claude/install/install_generator.rb +211 -0
  27. data/lib/generators/claude/install/templates/README.md.tt +59 -0
  28. data/lib/generators/claude/install/templates/USAGE +28 -0
  29. data/lib/generators/claude/install/templates/agents/api-dev.md.tt +46 -0
  30. data/lib/generators/claude/install/templates/agents/fullstack-dev.md.tt +48 -0
  31. data/lib/generators/claude/install/templates/agents/rails-developer.md.tt +40 -0
  32. data/lib/generators/claude/install/templates/settings.local.json.tt +13 -0
  33. data/lib/generators/claude/rule/rule_generator.rb +175 -0
  34. data/lib/generators/claude/rule/templates/rule.md.tt +7 -0
  35. data/lib/generators/claude/rules_library/code-style.md +37 -0
  36. data/lib/generators/claude/rules_library/database.md +47 -0
  37. data/lib/generators/claude/rules_library/hotwire.md +56 -0
  38. data/lib/generators/claude/rules_library/security.md +54 -0
  39. data/lib/generators/claude/rules_library/testing.md +47 -0
  40. data/lib/generators/claude/skill/skill_generator.rb +196 -0
  41. data/lib/generators/claude/skill/templates/SKILL.md.tt +27 -0
  42. data/lib/generators/claude/skills_library/create-task-files/SKILL.md +311 -0
  43. data/lib/generators/claude/skills_library/create-task-files/templates/bug.md +60 -0
  44. data/lib/generators/claude/skills_library/create-task-files/templates/epic.md +47 -0
  45. data/lib/generators/claude/skills_library/create-task-files/templates/issue.md +45 -0
  46. data/lib/generators/claude/skills_library/create-task-files/templates/user-story.md +57 -0
  47. data/lib/generators/claude/skills_library/minitest-testing/SKILL.md +398 -0
  48. data/lib/generators/claude/skills_library/minitest-testing/references/examples.md +889 -0
  49. data/lib/generators/claude/skills_library/plan-feature/SKILL.md +253 -0
  50. data/lib/generators/claude/skills_library/rails-api-controllers/SKILL.md +1041 -0
  51. data/lib/generators/claude/skills_library/rails-api-controllers/references/api-documentation.md +422 -0
  52. data/lib/generators/claude/skills_library/rails-api-controllers/references/serialization.md +456 -0
  53. data/lib/generators/claude/skills_library/rails-auth-with-devise/SKILL.md +191 -0
  54. data/lib/generators/claude/skills_library/rails-auth-with-devise/references/advanced.md +331 -0
  55. data/lib/generators/claude/skills_library/rails-auth-with-devise/references/api-auth.md +266 -0
  56. data/lib/generators/claude/skills_library/rails-auth-with-devise/references/omniauth.md +194 -0
  57. data/lib/generators/claude/skills_library/rails-authorization-cancancan/SKILL.md +603 -0
  58. data/lib/generators/claude/skills_library/rails-authorization-cancancan/references/api-authorization.md +543 -0
  59. data/lib/generators/claude/skills_library/rails-authorization-cancancan/references/complex-permissions.md +572 -0
  60. data/lib/generators/claude/skills_library/rails-authorization-cancancan/references/multi-tenancy.md +373 -0
  61. data/lib/generators/claude/skills_library/rails-controllers/SKILL.md +514 -0
  62. data/lib/generators/claude/skills_library/rails-debugging/SKILL.md +260 -0
  63. data/lib/generators/claude/skills_library/rails-deployment/SKILL.md +437 -0
  64. data/lib/generators/claude/skills_library/rails-deployment/references/examples.md +901 -0
  65. data/lib/generators/claude/skills_library/rails-hotwire/SKILL.md +367 -0
  66. data/lib/generators/claude/skills_library/rails-jobs/MISSION_CONTROL_SETUP.md +639 -0
  67. data/lib/generators/claude/skills_library/rails-jobs/SKILL.md +704 -0
  68. data/lib/generators/claude/skills_library/rails-mailers/SKILL.md +549 -0
  69. data/lib/generators/claude/skills_library/rails-models/SKILL.md +379 -0
  70. data/lib/generators/claude/skills_library/rails-pagination-kaminari/SKILL.md +622 -0
  71. data/lib/generators/claude/skills_library/rails-pagination-kaminari/references/api-pagination.md +523 -0
  72. data/lib/generators/claude/skills_library/rails-pagination-kaminari/references/custom-themes.md +498 -0
  73. data/lib/generators/claude/skills_library/rails-pagination-kaminari/references/performance.md +478 -0
  74. data/lib/generators/claude/skills_library/rails-views/SKILL.md +508 -0
  75. data/lib/generators/claude/skills_library/refine-requirements/SKILL.md +226 -0
  76. data/lib/generators/claude/skills_library/refine-requirements/references/examples.md +344 -0
  77. data/lib/generators/claude/skills_library/refine-requirements/references/reference.md +298 -0
  78. data/lib/generators/claude/skills_library/rspec-testing/SKILL.md +572 -0
  79. data/lib/generators/claude/skills_library/rspec-testing/references/better_specs_guide.md +273 -0
  80. data/lib/generators/claude/skills_library/rspec-testing/references/thoughtbot_patterns.md +407 -0
  81. data/lib/generators/claude/skills_library/tailwindcss/SKILL.md +371 -0
  82. data/lib/generators/claude/views/views_generator.rb +113 -0
  83. data/lib/rails_claude_skills/railtie.rb +16 -0
  84. data/lib/rails_claude_skills/version.rb +5 -0
  85. data/lib/rails_claude_skills.rb +27 -0
  86. data/sig/rails_claude_skills.rbs +4 -0
  87. metadata +199 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6af4682c59ca62b92b3c29f0e46ee77b8ffd8f22ed345dce1508c04a0ea8026d
4
+ data.tar.gz: c1accd731a912d5a6ed1dd95362085428bec5c06791d806357cd9aead29e187c
5
+ SHA512:
6
+ metadata.gz: 2c32dae628ca6fd51f125b6e15842bce34bc7d2257f583deb7a3540c05f514cabfb31de082054cdfd5e7d052329087ef17951b2b86083ed20d4c4ea6953782c2
7
+ data.tar.gz: abf938f972e596480a25b1df12a2ca556951e171dd7ee2bff92692ec17894fcce5d93e428b001ca81bab212836b3e1bd71368e9b6ad69c2e8f9b082f56ecad90
@@ -0,0 +1,134 @@
1
+ name: Bug Report
2
+ description: Report a bug or unexpected behavior in Rails Claude Skills
3
+ title: "[Bug]: "
4
+ labels: ["bug", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for taking the time to report a bug! Please fill out this form as completely as possible.
10
+
11
+ - type: checkboxes
12
+ id: prerequisites
13
+ attributes:
14
+ label: Prerequisites
15
+ description: Before submitting, please verify the following
16
+ options:
17
+ - label: I have searched existing issues to make sure this bug hasn't been reported
18
+ required: true
19
+ - label: I am using a supported Ruby version (3.0+)
20
+ required: true
21
+ - label: I am using a supported Rails version (7.0+)
22
+ required: true
23
+
24
+ - type: textarea
25
+ id: description
26
+ attributes:
27
+ label: Bug Description
28
+ description: A clear and concise description of what the bug is
29
+ placeholder: When I run `rails g claude:install`, I get...
30
+ validations:
31
+ required: true
32
+
33
+ - type: textarea
34
+ id: steps
35
+ attributes:
36
+ label: Steps to Reproduce
37
+ description: Step-by-step instructions to reproduce the issue
38
+ placeholder: |
39
+ 1. Create new Rails app: `rails new myapp`
40
+ 2. Add gem to Gemfile
41
+ 3. Run `bundle install`
42
+ 4. Run `rails g claude:install`
43
+ 5. See error...
44
+ validations:
45
+ required: true
46
+
47
+ - type: textarea
48
+ id: expected
49
+ attributes:
50
+ label: Expected Behavior
51
+ description: What did you expect to happen?
52
+ placeholder: The install generator should create a `.claude/` directory with skills
53
+ validations:
54
+ required: true
55
+
56
+ - type: textarea
57
+ id: actual
58
+ attributes:
59
+ label: Actual Behavior
60
+ description: What actually happened?
61
+ placeholder: |
62
+ Error message:
63
+ ```
64
+ undefined method `titleize' for nil:NilClass
65
+ ```
66
+ validations:
67
+ required: true
68
+
69
+ - type: input
70
+ id: gem-version
71
+ attributes:
72
+ label: Gem Version
73
+ description: Which version of rails_claude_skills are you using?
74
+ placeholder: "0.2.0"
75
+ validations:
76
+ required: true
77
+
78
+ - type: input
79
+ id: rails-version
80
+ attributes:
81
+ label: Rails Version
82
+ description: Which version of Rails are you using?
83
+ placeholder: "7.1.3"
84
+ validations:
85
+ required: true
86
+
87
+ - type: input
88
+ id: ruby-version
89
+ attributes:
90
+ label: Ruby Version
91
+ description: Which version of Ruby are you using?
92
+ placeholder: "3.3.0"
93
+ validations:
94
+ required: true
95
+
96
+ - type: dropdown
97
+ id: os
98
+ attributes:
99
+ label: Operating System
100
+ description: Which operating system are you using?
101
+ options:
102
+ - macOS
103
+ - Linux
104
+ - Windows
105
+ - Other
106
+ validations:
107
+ required: true
108
+
109
+ - type: textarea
110
+ id: code-snippets
111
+ attributes:
112
+ label: Relevant Code/Configuration
113
+ description: Please provide any relevant code snippets, configuration files, or logs
114
+ placeholder: |
115
+ ```ruby
116
+ # Paste relevant code here
117
+ ```
118
+ render: ruby
119
+
120
+ - type: textarea
121
+ id: additional-context
122
+ attributes:
123
+ label: Additional Context
124
+ description: Add any other context about the problem here (screenshots, error logs, etc.)
125
+ placeholder: Any additional information that might help us understand the issue
126
+
127
+ - type: checkboxes
128
+ id: contribution
129
+ attributes:
130
+ label: Would you like to submit a PR for this?
131
+ description: If you're interested in fixing this bug yourself, let us know!
132
+ options:
133
+ - label: I'd like to work on fixing this bug
134
+ required: false
@@ -0,0 +1,11 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: 📚 Documentation
4
+ url: https://github.com/Shoebtamboli/rails_claude_skills/blob/main/README.md
5
+ about: Read the full documentation and usage guide
6
+ - name: 💬 GitHub Discussions
7
+ url: https://github.com/Shoebtamboli/rails_claude_skills/discussions
8
+ about: Ask questions and discuss ideas with the community
9
+ - name: 🚀 Contributing Guide
10
+ url: https://github.com/Shoebtamboli/rails_claude_skills/blob/main/CONTRIBUTING.md
11
+ about: Learn how to contribute to Rails Claude Skills
@@ -0,0 +1,129 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or enhancement for Rails Claude Skills
3
+ title: "[Feature]: "
4
+ labels: ["enhancement", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for suggesting a new feature! We appreciate your ideas for improving Rails Claude Skills.
10
+
11
+ - type: checkboxes
12
+ id: prerequisites
13
+ attributes:
14
+ label: Prerequisites
15
+ description: Before submitting, please verify the following
16
+ options:
17
+ - label: I have searched existing issues and discussions to make sure this hasn't been suggested
18
+ required: true
19
+ - label: This feature would be useful to the wider Rails community, not just my specific use case
20
+ required: true
21
+
22
+ - type: dropdown
23
+ id: feature-type
24
+ attributes:
25
+ label: Feature Type
26
+ description: What type of feature are you suggesting?
27
+ options:
28
+ - New Skill (e.g., for a popular gem or Rails pattern)
29
+ - New Command (slash command for common workflows)
30
+ - New Rule (project guidelines or conventions)
31
+ - New Generator (entirely new generator type)
32
+ - Enhancement to Existing Feature
33
+ - Documentation Improvement
34
+ - Other
35
+ validations:
36
+ required: true
37
+
38
+ - type: textarea
39
+ id: problem
40
+ attributes:
41
+ label: Problem Statement
42
+ description: Is your feature request related to a problem? Please describe.
43
+ placeholder: I'm frustrated when I need to... OR It would be helpful if...
44
+ validations:
45
+ required: true
46
+
47
+ - type: textarea
48
+ id: solution
49
+ attributes:
50
+ label: Proposed Solution
51
+ description: Describe the solution you'd like to see
52
+ placeholder: |
53
+ I would like to have a skill/command/rule that...
54
+
55
+ Example usage:
56
+ ```bash
57
+ rails g claude:skill devise-authentication
58
+ # or
59
+ /my-command argument
60
+ ```
61
+ validations:
62
+ required: true
63
+
64
+ - type: textarea
65
+ id: alternatives
66
+ attributes:
67
+ label: Alternatives Considered
68
+ description: Describe any alternative solutions or features you've considered
69
+ placeholder: I considered using... but that doesn't work because...
70
+
71
+ - type: textarea
72
+ id: examples
73
+ attributes:
74
+ label: Examples from Other Tools
75
+ description: Are there similar features in other gems, tools, or frameworks?
76
+ placeholder: Similar to how gem X handles... or inspired by feature Y in...
77
+
78
+ - type: dropdown
79
+ id: preset
80
+ attributes:
81
+ label: Which Preset Should Include This?
82
+ description: If this is a new skill/command/rule, which preset(s) should include it by default?
83
+ multiple: true
84
+ options:
85
+ - Basic Preset
86
+ - Fullstack Preset
87
+ - API Preset
88
+ - None (users can add manually)
89
+ - Not Applicable
90
+
91
+ - type: textarea
92
+ id: use-cases
93
+ attributes:
94
+ label: Use Cases
95
+ description: Describe specific scenarios where this feature would be helpful
96
+ placeholder: |
97
+ 1. When building a multi-tenant SaaS app...
98
+ 2. When implementing authentication...
99
+ 3. When deploying to production...
100
+ validations:
101
+ required: true
102
+
103
+ - type: textarea
104
+ id: benefits
105
+ attributes:
106
+ label: Benefits
107
+ description: How would this feature benefit Rails developers using Claude Code?
108
+ placeholder: |
109
+ - Saves time by...
110
+ - Reduces errors when...
111
+ - Improves code quality by...
112
+ validations:
113
+ required: true
114
+
115
+ - type: textarea
116
+ id: additional-context
117
+ attributes:
118
+ label: Additional Context
119
+ description: Add any other context, screenshots, code examples, or mockups about the feature
120
+ placeholder: Any additional information that would help us understand your request
121
+
122
+ - type: checkboxes
123
+ id: contribution
124
+ attributes:
125
+ label: Would you like to implement this feature?
126
+ description: If you're interested in contributing this feature yourself, let us know!
127
+ options:
128
+ - label: I'd like to implement this feature and submit a PR
129
+ required: false
@@ -0,0 +1,90 @@
1
+ name: Question or Discussion
2
+ description: Ask a question or start a discussion about Rails Claude Skills
3
+ title: "[Question]: "
4
+ labels: ["question"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Have a question about Rails Claude Skills? We're here to help!
10
+
11
+ **Note:** For bug reports, please use the "Bug Report" template instead.
12
+
13
+ - type: checkboxes
14
+ id: prerequisites
15
+ attributes:
16
+ label: Prerequisites
17
+ description: Before asking, please check the following
18
+ options:
19
+ - label: I have read the README and documentation
20
+ required: true
21
+ - label: I have searched existing issues and discussions
22
+ required: true
23
+
24
+ - type: dropdown
25
+ id: question-type
26
+ attributes:
27
+ label: Question Type
28
+ description: What type of question do you have?
29
+ options:
30
+ - How do I use a specific feature?
31
+ - How do I create custom content (skill/command/rule)?
32
+ - Best practices or recommendations
33
+ - Integration with other tools/gems
34
+ - General usage question
35
+ - Architecture or design question
36
+ - Other
37
+ validations:
38
+ required: true
39
+
40
+ - type: textarea
41
+ id: question
42
+ attributes:
43
+ label: Your Question
44
+ description: What would you like to know?
45
+ placeholder: |
46
+ How do I...?
47
+ What's the best way to...?
48
+ Can Rails Claude Skills...?
49
+ validations:
50
+ required: true
51
+
52
+ - type: textarea
53
+ id: context
54
+ attributes:
55
+ label: Context
56
+ description: Provide any relevant context about what you're trying to accomplish
57
+ placeholder: |
58
+ I'm working on a project where...
59
+ I'm trying to achieve...
60
+ I've already tried...
61
+
62
+ - type: textarea
63
+ id: attempted
64
+ attributes:
65
+ label: What Have You Tried?
66
+ description: What have you already attempted?
67
+ placeholder: |
68
+ I tried...
69
+ I looked at...
70
+ I read...
71
+
72
+ - type: input
73
+ id: gem-version
74
+ attributes:
75
+ label: Gem Version (if relevant)
76
+ description: Which version of rails_claude_skills are you using?
77
+ placeholder: "0.2.0"
78
+
79
+ - type: input
80
+ id: rails-version
81
+ attributes:
82
+ label: Rails Version (if relevant)
83
+ description: Which version of Rails are you using?
84
+ placeholder: "7.1.3"
85
+
86
+ - type: textarea
87
+ id: additional-info
88
+ attributes:
89
+ label: Additional Information
90
+ description: Any other details that might help us answer your question
@@ -0,0 +1,19 @@
1
+ version: 2
2
+ updates:
3
+ # Maintain dependencies for Bundler
4
+ - package-ecosystem: "bundler"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ open-pull-requests-limit: 5
9
+ groups:
10
+ rubocop:
11
+ patterns:
12
+ - "rubocop*"
13
+
14
+ # Maintain dependencies for GitHub Actions
15
+ - package-ecosystem: "github-actions"
16
+ directory: "/"
17
+ schedule:
18
+ interval: "weekly"
19
+ open-pull-requests-limit: 5
@@ -0,0 +1,77 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ lint:
11
+ name: RuboCop
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v6
15
+
16
+ - name: Set up Ruby
17
+ uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: '3.2'
20
+ bundler-cache: true
21
+
22
+ - name: Run RuboCop
23
+ run: bundle exec rubocop
24
+
25
+ test:
26
+ name: Test (Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }})
27
+ runs-on: ubuntu-latest
28
+
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ ruby: ['3.0', '3.1', '3.2', '3.3']
33
+ rails: ['7.0', '7.1', '7.2']
34
+
35
+ env:
36
+ RAILS_VERSION: ${{ matrix.rails }}
37
+
38
+ steps:
39
+ - uses: actions/checkout@v6
40
+
41
+ - name: Set up Ruby
42
+ uses: ruby/setup-ruby@v1
43
+ with:
44
+ ruby-version: ${{ matrix.ruby }}
45
+ bundler-cache: false
46
+
47
+ - name: Install dependencies
48
+ run: |
49
+ gem install bundler
50
+ bundle install --jobs 4 --retry 3
51
+
52
+ - name: Run tests
53
+ run: bundle exec rspec
54
+
55
+ build:
56
+ name: Build Gem
57
+ runs-on: ubuntu-latest
58
+ needs: [lint, test]
59
+
60
+ steps:
61
+ - uses: actions/checkout@v6
62
+
63
+ - name: Set up Ruby
64
+ uses: ruby/setup-ruby@v1
65
+ with:
66
+ ruby-version: '3.2'
67
+ bundler-cache: true
68
+
69
+ - name: Build gem
70
+ run: bundle exec rake build
71
+
72
+ - name: Upload gem artifact
73
+ uses: actions/upload-artifact@v6
74
+ with:
75
+ name: rails_claude_skills-gem
76
+ path: pkg/*.gem
77
+ retention-days: 7
@@ -0,0 +1,66 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+ inputs:
8
+ version:
9
+ description: 'Version to publish (e.g., 0.1.0)'
10
+ required: false
11
+
12
+ permissions:
13
+ contents: read
14
+ packages: write
15
+
16
+ jobs:
17
+ publish:
18
+ name: Build and Publish Gem
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v6
23
+
24
+ - name: Set up Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: '3.4'
28
+ bundler-cache: true
29
+
30
+ - name: Run tests
31
+ run: bundle exec rspec
32
+
33
+ - name: Build gem
34
+ run: gem build rails_claude_skills.gemspec
35
+
36
+ - name: Archive gem artifact
37
+ uses: actions/upload-artifact@v6
38
+ with:
39
+ name: rails_claude_skills-gem
40
+ path: "*.gem"
41
+ retention-days: 30
42
+
43
+ - name: Publish to RubyGems
44
+ if: github.event_name == 'release'
45
+ continue-on-error: true
46
+ env:
47
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
48
+ run: |
49
+ mkdir -p ~/.gem
50
+ echo ":rubygems_api_key: ${GEM_HOST_API_KEY}" > ~/.gem/credentials
51
+ chmod 0600 ~/.gem/credentials
52
+ gem push rails_claude_skills-*.gem || echo "::warning::Failed to push to RubyGems"
53
+ rm -f ~/.gem/credentials
54
+
55
+ - name: Publish to GitHub Packages
56
+ if: github.event_name == 'release'
57
+ continue-on-error: true
58
+ env:
59
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60
+ OWNER: ${{ github.repository_owner }}
61
+ run: |
62
+ mkdir -p ~/.gem
63
+ echo ":github: Bearer ${GITHUB_TOKEN}" > ~/.gem/credentials
64
+ chmod 0600 ~/.gem/credentials
65
+ gem push --key github --host https://rubygems.pkg.github.com/${OWNER} rails_claude_skills-*.gem || echo "::warning::Failed to push to GitHub Packages"
66
+ rm -f ~/.gem/credentials
data/.rubocop.yml ADDED
@@ -0,0 +1,52 @@
1
+ AllCops:
2
+ TargetRubyVersion: 3.0
3
+ NewCops: enable
4
+ SuggestExtensions: false
5
+ Exclude:
6
+ - 'bin/**/*'
7
+ - 'vendor/**/*'
8
+ - 'tmp/**/*'
9
+ - 'spec/fixtures/**/*'
10
+
11
+ # Gem specific configuration
12
+ Gemspec/RequireMFA:
13
+ Enabled: false
14
+
15
+ Gemspec/DevelopmentDependencies:
16
+ Enabled: false
17
+
18
+ # Style preferences
19
+ Style/Documentation:
20
+ Enabled: false
21
+
22
+ Style/StringLiterals:
23
+ EnforcedStyle: double_quotes
24
+
25
+ Style/StringLiteralsInInterpolation:
26
+ EnforcedStyle: double_quotes
27
+
28
+ # Layout preferences
29
+ Layout/LineLength:
30
+ Max: 150
31
+
32
+ # Metrics
33
+ Metrics/BlockLength:
34
+ Exclude:
35
+ - 'spec/**/*'
36
+ - 'lib/generators/**/*'
37
+ - '*.gemspec'
38
+
39
+ Metrics/MethodLength:
40
+ Max: 25
41
+ Exclude:
42
+ - 'lib/generators/**/*'
43
+
44
+ Metrics/AbcSize:
45
+ Max: 25
46
+ Exclude:
47
+ - 'lib/generators/**/*'
48
+
49
+ Metrics/ClassLength:
50
+ Max: 150
51
+ Exclude:
52
+ - 'lib/generators/**/*'
data/CHANGELOG.md ADDED
@@ -0,0 +1,94 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ For detailed release notes with auto-generated commit history, see [GitHub Releases](https://github.com/Shoebtamboli/rails_claude_skills/releases).
9
+
10
+ ## [Unreleased]
11
+
12
+ No unreleased changes yet.
13
+
14
+ ## [0.1.0] - Unreleased
15
+
16
+ ### Initial Release (Preparing for Publication)
17
+
18
+ A Rails generator gem that scaffolds Claude AI skills and agents for Rails projects, making AI-assisted development reusable and distributable.
19
+
20
+ ### Generators
21
+ - **Install Generator** (`rails g claude:install`) - Initialize Claude skills with three presets (basic, fullstack, api)
22
+ - **Skill Generator** (`rails g claude:skill`) - Create custom skills with templates (generic, model, controller, frontend)
23
+ - **Agent Generator** (`rails g claude:agent`) - Create custom AI agents
24
+ - **Command Generator** (`rails g claude:command`) - Create custom slash commands
25
+ - **Rule Generator** (`rails g claude:rule`) - Create project-specific rules with templates (generic, testing, security, performance)
26
+ - **Views Generator** (`rails g claude:views`) - Copy and customize gem resources (skills, commands, rules)
27
+
28
+ ### Pre-built Skills (18 total)
29
+ **Core Rails:**
30
+ - rails-models (ActiveRecord, migrations, validations, associations)
31
+ - rails-controllers (routing, actions, REST conventions)
32
+ - rails-views (ERB templates, helpers, partials)
33
+
34
+ **Full-Stack Development:**
35
+ - rails-hotwire (Turbo Drive, Frames, Streams, Stimulus)
36
+ - tailwindcss (utility-first CSS)
37
+
38
+ **Background Processing & Communication:**
39
+ - rails-jobs (background jobs with Solid Queue)
40
+ - rails-mailers (ActionMailer patterns)
41
+
42
+ **Authentication & Authorization:**
43
+ - rails-auth-with-devise (authentication with Devise, OmniAuth, API auth)
44
+ - rails-authorization-cancancan (role-based access control)
45
+
46
+ **API Development:**
47
+ - rails-api-controllers (RESTful API patterns, versioning, authentication, rate limiting, CORS, pagination)
48
+
49
+ **Testing:**
50
+ - rspec-testing (RSpec patterns and best practices)
51
+ - minitest-testing (Minitest patterns)
52
+
53
+ **Utilities:**
54
+ - rails-debugging (debugging tools and systematic process)
55
+ - rails-pagination-kaminari (pagination patterns)
56
+ - rails-deployment (deployment best practices)
57
+
58
+ **Planning & Organization:**
59
+ - plan-feature (feature planning workflow)
60
+ - refine-requirements (requirements refinement)
61
+ - create-task-files (task file creation)
62
+
63
+ ### Pre-built Commands (5 total)
64
+ - quality (run linters and formatters)
65
+ - turbo-feature (scaffold Hotwire Turbo features)
66
+ - stimulus (create Stimulus controllers)
67
+ - create-pr (create GitHub pull requests)
68
+ - dbchange (database migration workflow)
69
+
70
+ ### Pre-built Rules (5 total)
71
+ - code-style (coding standards)
72
+ - testing (test requirements)
73
+ - security (security guidelines)
74
+ - database (database best practices)
75
+ - hotwire (Hotwire conventions)
76
+
77
+ ### Pre-built Agents
78
+ - rails-developer (Rails MVC development with models, controllers, views)
79
+ - fullstack-dev (Modern full-stack with Hotwire, TailwindCSS, RSpec)
80
+ - api-dev (API-focused development with authentication)
81
+
82
+ ### Features
83
+ - Configuration system with settings.local.json
84
+ - Support for Ruby 3.0+ and Rails 7.0+
85
+ - Three installation presets (basic, fullstack, api)
86
+ - Comprehensive documentation and examples
87
+ - CI/CD with GitHub Actions
88
+
89
+ ### Documentation & Community
90
+ - Comprehensive README with usage examples
91
+ - CONTRIBUTING.md with detailed contribution guidelines
92
+ - Issue templates (bug report, feature request, question)
93
+ - Code of Conduct (Contributor Covenant 2.1)
94
+ - CHANGELOG following Keep a Changelog format