cli

Architecture Documentation

This directory contains documentation about Shep AI CLI’s system architecture and design patterns.

Contents

Document Description
overview.md High-level system architecture and component interactions
clean-architecture.md Clean Architecture implementation details
repository-pattern.md Data persistence and repository pattern
agent-system.md LangGraph-based agent system design and implementation
settings-service.md Global settings service architecture

Quick Reference

Architecture Layers

Presentation -> Application -> Domain <- Infrastructure
     |              |          ^           ^
   CLI/Web      Use Cases   Entities   Repositories

Key Principles

  1. Dependency Inversion - High-level modules don’t depend on low-level modules
  2. Single Responsibility - Each component has one reason to change
  3. Interface Segregation - Many specific interfaces over one general-purpose
  4. Open/Closed - Open for extension, closed for modification

Getting Started

New contributors should read:

  1. overview.md - Understand the big picture
  2. clean-architecture.md - Learn the layer structure
  3. Specific pattern docs as needed

Maintaining This Directory

Update when:

File naming:

Cross-references: