Protege
The protege gem — a Rails engine for building agentic applications. Email is the agent's
channel (Action Mailbox in, SMTP out); the host Rails app is its workspace. This directory
is the source of truth for the project.
Layout
lib/protege/— the plain-Ruby core: Orchestrator/Harness, Gateway, Inference, Loop, Tool, Resolver.app/— the Rails layer: models, mailboxes, controllers, jobs, views.db/migrate/— engine migrations (run from the host app viadb:migrate).
Development
bundle install
bundle exec rake test
Tests use Minitest. Lower-bound Rails compatibility (>= 7.2) is checked with
BUNDLE_GEMFILE=gemfiles/rails_7.2.gemfile bundle exec rake test.
See the repository CLAUDE.md for engineering conventions and site/ for user-facing documentation.