Skip to content

sebscholl/protege

Repository files navigation

Protege 🥚

Give your Rails app a colleague. Protege is a Rails engine for building an AI teammate that works inside your app — reachable by email, acting through the models and jobs you already have, on its own schedule. You build the colleague and point it at your preferred LLM.

CI Docs License: MIT Ruby Rails

It's a framework, not an LLM wrapper: the model is one swappable extension, and everything around it — an inbox, a memory of every conversation, tools over your own data, a schedule, guardrails, and an audit trail — is what Protege gives you. Email is the channel (Action Mailbox in, SMTP out); your Rails app is the workspace, reached through the tools you write.

📚 Read the docs → — new here? Start with Build The Scoop, the end-to-end tutorial, or What is Protege? for the mental model.

How it works

Inbound email → Action Mailbox → the harness assembles context through the persona's resolver chain → the model responds, optionally calling tools that reach into your app → the agent replies by email. The same path runs scheduled responsibilities, so an agent can also initiate work on its own. See the LOGI architecture.

Repository layout

This is a monorepo. Run commands from the directory you're changing.

Path What it is
engine/ The protege gem — the Rails engine. Plain-Ruby core (lib/protege/), ActiveRecord models, mailboxes, and migrations. The source of truth.
workspace/ A dev host Rails app that consumes the engine via path: "../engine".
site/ User-facing documentation (VitePress), published to docs.protege.bot.

Development

cd engine    && bundle install && bundle exec rake test   # engine gem (Minitest)
cd workspace && bin/dev                                    # run the host app
cd site      && npm install && npm run docs:dev            # docs

License

MIT © Sebastian Scholl

About

Give your Rails app an agentic colleague.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors