BREAKING: Plugin renamed from compounding-engineering to compound-engineering. Users will need to reinstall with the new name: claude /plugin install compound-engineering Changes: - Renamed plugin directory and all references - Updated documentation counts (24 agents, 19 commands) - Added julik-frontend-races-reviewer to docs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
120 lines
5.3 KiB
Markdown
120 lines
5.3 KiB
Markdown
# Andrew Kane Resources
|
|
|
|
## Primary Documentation
|
|
|
|
- **Gem Patterns Article**: https://ankane.org/gem-patterns
|
|
- Kane's own documentation of patterns used across his gems
|
|
- Covers configuration, Rails integration, error handling
|
|
|
|
## Top Ruby Gems by Stars
|
|
|
|
### Search & Data
|
|
|
|
| Gem | Stars | Description | Source |
|
|
|-----|-------|-------------|--------|
|
|
| **Searchkick** | 6.6k+ | Intelligent search for Rails | https://github.com/ankane/searchkick |
|
|
| **Chartkick** | 6.4k+ | Beautiful charts in Ruby | https://github.com/ankane/chartkick |
|
|
| **Groupdate** | 3.8k+ | Group by day, week, month | https://github.com/ankane/groupdate |
|
|
| **Blazer** | 4.6k+ | SQL dashboard for Rails | https://github.com/ankane/blazer |
|
|
|
|
### Database & Migrations
|
|
|
|
| Gem | Stars | Description | Source |
|
|
|-----|-------|-------------|--------|
|
|
| **PgHero** | 8.2k+ | PostgreSQL insights | https://github.com/ankane/pghero |
|
|
| **Strong Migrations** | 4.1k+ | Safe migration checks | https://github.com/ankane/strong_migrations |
|
|
| **Dexter** | 1.8k+ | Auto index advisor | https://github.com/ankane/dexter |
|
|
| **PgSync** | 1.5k+ | Sync Postgres data | https://github.com/ankane/pgsync |
|
|
|
|
### Security & Encryption
|
|
|
|
| Gem | Stars | Description | Source |
|
|
|-----|-------|-------------|--------|
|
|
| **Lockbox** | 1.5k+ | Application-level encryption | https://github.com/ankane/lockbox |
|
|
| **Blind Index** | 1.0k+ | Encrypted search | https://github.com/ankane/blind_index |
|
|
| **Secure Headers** | — | Contributed patterns | Referenced in gems |
|
|
|
|
### Analytics & ML
|
|
|
|
| Gem | Stars | Description | Source |
|
|
|-----|-------|-------------|--------|
|
|
| **Ahoy** | 4.2k+ | Analytics for Rails | https://github.com/ankane/ahoy |
|
|
| **Neighbor** | 1.1k+ | Vector search for Rails | https://github.com/ankane/neighbor |
|
|
| **Rover** | 700+ | DataFrames for Ruby | https://github.com/ankane/rover |
|
|
| **Tomoto** | 200+ | Topic modeling | https://github.com/ankane/tomoto-ruby |
|
|
|
|
### Utilities
|
|
|
|
| Gem | Stars | Description | Source |
|
|
|-----|-------|-------------|--------|
|
|
| **Pretender** | 2.0k+ | Login as another user | https://github.com/ankane/pretender |
|
|
| **Authtrail** | 900+ | Login activity tracking | https://github.com/ankane/authtrail |
|
|
| **Notable** | 200+ | Track notable requests | https://github.com/ankane/notable |
|
|
| **Logstop** | 200+ | Filter sensitive logs | https://github.com/ankane/logstop |
|
|
|
|
## Key Source Files to Study
|
|
|
|
### Entry Point Patterns
|
|
- https://github.com/ankane/searchkick/blob/master/lib/searchkick.rb
|
|
- https://github.com/ankane/pghero/blob/master/lib/pghero.rb
|
|
- https://github.com/ankane/strong_migrations/blob/master/lib/strong_migrations.rb
|
|
- https://github.com/ankane/lockbox/blob/master/lib/lockbox.rb
|
|
|
|
### Class Macro Implementations
|
|
- https://github.com/ankane/searchkick/blob/master/lib/searchkick/model.rb
|
|
- https://github.com/ankane/lockbox/blob/master/lib/lockbox/model.rb
|
|
- https://github.com/ankane/neighbor/blob/master/lib/neighbor/model.rb
|
|
- https://github.com/ankane/blind_index/blob/master/lib/blind_index/model.rb
|
|
|
|
### Rails Integration (Railtie/Engine)
|
|
- https://github.com/ankane/pghero/blob/master/lib/pghero/engine.rb
|
|
- https://github.com/ankane/searchkick/blob/master/lib/searchkick/railtie.rb
|
|
- https://github.com/ankane/ahoy/blob/master/lib/ahoy/engine.rb
|
|
- https://github.com/ankane/blazer/blob/master/lib/blazer/engine.rb
|
|
|
|
### Database Adapters
|
|
- https://github.com/ankane/strong_migrations/tree/master/lib/strong_migrations/adapters
|
|
- https://github.com/ankane/groupdate/tree/master/lib/groupdate/adapters
|
|
- https://github.com/ankane/neighbor/tree/master/lib/neighbor
|
|
|
|
### Error Messages (Template Pattern)
|
|
- https://github.com/ankane/strong_migrations/blob/master/lib/strong_migrations/error_messages.rb
|
|
|
|
### Gemspec Examples
|
|
- https://github.com/ankane/searchkick/blob/master/searchkick.gemspec
|
|
- https://github.com/ankane/neighbor/blob/master/neighbor.gemspec
|
|
- https://github.com/ankane/ahoy/blob/master/ahoy_matey.gemspec
|
|
|
|
### Test Setups
|
|
- https://github.com/ankane/searchkick/tree/master/test
|
|
- https://github.com/ankane/lockbox/tree/master/test
|
|
- https://github.com/ankane/strong_migrations/tree/master/test
|
|
|
|
## GitHub Profile
|
|
|
|
- **Profile**: https://github.com/ankane
|
|
- **All Ruby Repos**: https://github.com/ankane?tab=repositories&q=&type=&language=ruby&sort=stargazers
|
|
- **RubyGems Profile**: https://rubygems.org/profiles/ankane
|
|
|
|
## Blog Posts & Articles
|
|
|
|
- **ankane.org**: https://ankane.org/
|
|
- **Gem Patterns**: https://ankane.org/gem-patterns (essential reading)
|
|
- **Postgres Performance**: https://ankane.org/introducing-pghero
|
|
- **Search Tips**: https://ankane.org/search-rails
|
|
|
|
## Design Philosophy Summary
|
|
|
|
From studying 100+ gems, Kane's consistent principles:
|
|
|
|
1. **Zero dependencies when possible** - Each dep is a maintenance burden
|
|
2. **ActiveSupport.on_load always** - Never require Rails gems directly
|
|
3. **Class macro DSLs** - Single method configures everything
|
|
4. **Explicit over magic** - No method_missing, define methods directly
|
|
5. **Minitest only** - Simple, sufficient, no RSpec
|
|
6. **Multi-version testing** - Support broad Rails/Ruby versions
|
|
7. **Helpful errors** - Template-based messages with fix suggestions
|
|
8. **Abstract adapters** - Clean multi-database support
|
|
9. **Engine isolation** - isolate_namespace for mountable gems
|
|
10. **Minimal documentation** - Code is self-documenting, README is examples
|