Skip to content

larryhudson/pymom

Repository files navigation

PyMom

A Python implementation of Mario Zechner's "mom" Slack bot, built with pydantic-ai.

Mom (Master Of Mischief) is a self-managing AI development assistant that can execute bash commands, read/write files, and interact with your development environment—all from within a safe Docker sandbox.

Features

  • Docker-sandboxed execution - All commands run in an isolated container for safety
  • Conversation persistence - Sessions saved as JSONL files for resuming later
  • Streaming responses - Real-time output as the agent thinks and acts
  • Tool visibility - See exactly what commands are being run
  • Skills system - Extensible custom tools via YAML-frontmatter markdown files
  • Multi-channel architecture - CLI now, Slack/voice planned

Quick Start

# Install dependencies
uv sync

# Run the CLI
uv run pymom

You'll need Docker running for command execution.

How It Works

  1. Agent receives your message and builds context from workspace, memory, and available skills
  2. Tools (bash, read, write, edit) execute inside a Docker container
  3. Channel streams responses and tool outputs back to you
  4. Session is saved to disk for later resumption

Project Structure

src/pymom/
├── main.py          # CLI entry point & REPL
├── agent.py         # pydantic-ai agent setup
├── executor.py      # Docker command execution
├── skills.py        # Custom skill loader
├── tools/           # bash, read, write, edit
└── channels/        # CLI (+ future Slack, voice)

data/cli/
├── MEMORY.md        # Persistent working memory
├── sessions/        # Conversation history (JSONL)
└── skills/          # Custom skill definitions

Requirements

  • Python 3.11+
  • Docker
  • OpenAI API key (set OPENAI_API_KEY env var)

Credits

Based on the original mom bot by Mario Zechner.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors