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 via db: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.