Skip to main content

Memory management CLI for the orchestr8 ecosystem - team collaboration with shared thoughts

Project description

mem8 - Memory Management for the Orchestr8 Ecosystem

A beta-stage memory management platform for the orchestr8 ecosystem with CLI, API, and web interface for team collaboration with shared thoughts.

๐ŸŽฏ Overview

Current Status: Beta (Phase 3 In Progress)

mem8 is a comprehensive platform providing:

  • ๐Ÿ’ป Advanced CLI - Full workspace management with Windows UTF-8 support and rich UI
  • ๐Ÿš€ FastAPI Backend - Robust API with PostgreSQL, authentication, and real-time capabilities
  • ๐Ÿ–ฅ๏ธ Terminal Web UI - Stunning retro interface with live collaboration features
  • ๐ŸŽฏ Orchestr8 Integration - Seamless integration with orchestr8 ecosystem and o8 CLI

โœ… Current Implementation Status

Phase 1: CLI Foundation โœ… COMPLETE

  • Rich CLI Interface - Typer framework with comprehensive Windows support and enhanced type safety
  • Template Management - 3 cookiecutter templates (claude-config, thoughts-repo, full)
  • Core Commands - init, sync, search, status, doctor
  • Experimental Placeholders - team, deploy
  • Data Protection - Sophisticated preservation of existing workspace data
  • UTF-8 Excellence - Perfect emoji support across all Windows terminals

Phase 2: Backend API โœ… COMPLETE

  • FastAPI Application - Modern async Python with comprehensive endpoints
  • PostgreSQL Database - Production-grade with proper models and relationships
  • GitHub OAuth - Complete authentication flow with JWT token management
  • API Security - CORS, authentication middleware, protected endpoints
  • Monitoring - Health checks, system stats, Prometheus metrics
  • Docker Ready - Containerized deployment configuration

Phase 3: Frontend โœ… COMPLETE

  • Next.js 15 - Modern React with App Router and TypeScript
  • Terminal Aesthetic - Exceptional retro computing UI with scanlines and glows
  • Authentication Flow - Seamless GitHub OAuth integration
  • Real-time Framework - WebSocket integration ready for collaboration (beta)
  • Responsive Design - Beautiful interface across all screen sizes

โœจ Features

๐Ÿ’ป CLI Features (Fully Working)

mem8 init --template full      # Initialize workspace with templates
mem8 status                    # Check workspace health  
mem8 sync                      # Bidirectional synchronization
mem8 search "query"            # Full-text search across thoughts (semantic search experimental)
mem8 doctor --auto-fix         # Diagnose and repair issues

======= Note: team and deploy commands are experimental placeholders and not yet functional.

๐Ÿš€ API Features (Beta)

  • Authentication: /api/v1/auth/* - Complete GitHub OAuth flow
  • Health Monitoring: /api/v1/health - System health and diagnostics
  • Thoughts Management: /api/v1/thoughts/* - Full CRUD operations
  • Team Management: /api/v1/teams/* - Multi-tenant team support
  • Advanced Search: /api/v1/search/ - Full-text search (semantic search experimental)
  • System Stats: /api/v1/system/stats - Real-time metrics
  • Documentation: /docs - Interactive OpenAPI documentation

๐Ÿ–ฅ๏ธ Web Interface (Stunning Terminal UI)

  • Terminal Aesthetic - Authentic retro computing interface
  • Authentication - Seamless GitHub login with avatar display
  • Live Dashboard - Real-time team status and system monitoring
  • Search Interface - Advanced search with type selection
  • Responsive Design - Perfect across desktop and mobile

๐Ÿงช Current Testing Status

โœ… Working Without Setup

  • CLI Commands: mem8 status, mem8 --help, mem8 doctor
  • API Health: localhost:8000/api/v1/health returns system status
  • API Docs: localhost:8000/docs - Interactive OpenAPI documentation
  • Frontend UI: localhost:20040 - Loads with login screen
  • System Stats: localhost:8000/api/v1/system/stats - Basic metrics

๐Ÿ” Requires Authentication

  • Thoughts API: All CRUD operations require GitHub OAuth login
  • Teams API: Team management requires authenticated user
  • Search API: Advanced search requires user authentication
  • WebSocket: Real-time features need authenticated connection (beta)

๐Ÿ”ง Setup Required

  • GitHub OAuth: Configure OAuth app for authentication
  • Database Seed: No default data - database starts empty
  • Environment Variables: GitHub client ID/secret needed for auth flow

๐Ÿš€ Quick Start

Development Setup

# Clone the repository
git clone https://github.com/killerapp/mem8.git
cd mem8

# Start with Docker (recommended)
docker-compose up -d

# Or see QUICKSTART.md for detailed setup

Environment Configuration

# Backend (.env)
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
SECRET_KEY=your_jwt_secret_key
DATABASE_URL=postgresql://user:pass@localhost:5433/mem8

# Frontend (.env.local)
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_WS_URL=ws://localhost:8000

Template Usage

# Install cookiecutter for templates
uv tool install cookiecutter

# Generate Claude configuration
cookiecutter claude-dot-md-template --config-file example-configs/claude-dot-md/default.yaml

# Generate thoughts repository  
cookiecutter shared-thoughts-template --config-file example-configs/shared-thoughts/default.yaml

๐Ÿ—๏ธ Architecture

Tech Stack

  • Frontend: Next.js 14, TypeScript, Tailwind CSS, Shadcn/UI
  • Backend: FastAPI, SQLAlchemy, PostgreSQL, Redis
  • Authentication: GitHub OAuth 2.0, JWT tokens
  • Real-time: WebSocket connections
  • Deployment: Docker, Docker Compose

Project Structure

mem8/
โ”œโ”€โ”€ frontend/                   # Next.js web interface
โ”‚   โ”œโ”€โ”€ app/                   # App router pages
โ”‚   โ”‚   โ”œโ”€โ”€ auth/             # Authentication pages
โ”‚   โ”‚   โ””โ”€โ”€ page.tsx          # Main terminal interface
โ”‚   โ”œโ”€โ”€ components/           # Reusable UI components
โ”‚   โ”œโ”€โ”€ hooks/               # React hooks (useAuth, useWebSocket)
โ”‚   โ””โ”€โ”€ lib/                 # Utilities (API client, auth manager)
โ”œโ”€โ”€ backend/                 # FastAPI backend
โ”‚   โ””โ”€โ”€ src/mem8_api/      
โ”‚       โ”œโ”€โ”€ routers/         # API routes (auth, thoughts, teams)
โ”‚       โ”œโ”€โ”€ models/          # SQLAlchemy models
โ”‚       โ””โ”€โ”€ config.py        # Configuration management
โ”œโ”€โ”€ claude-dot-md-template/  # Claude Code configuration template
โ”œโ”€โ”€ shared-thoughts-template/ # Thoughts repository template
โ””โ”€โ”€ docs/                   # Documentation and screenshots

๐ŸŽจ Terminal Interface

The web interface features a beautiful terminal aesthetic with:

  • Header Bar: Connection status, user avatar, and logout controls
  • Sidebar: Team status, search functionality, and quick actions
  • Main Panel: Command prompt simulation with recent thoughts
  • Status Bar: Real-time system information and connection status
  • Color Scheme: Classic green-on-black terminal with modern UI elements

Key UI Elements

  • โœ… Connected/Disconnected status indicators
  • ๐Ÿ‘ค User avatar and username display
  • ๐Ÿ” Search memories with real-time filtering
  • โšก Quick actions for new thoughts and sync operations
  • ๐Ÿ“Š System stats with live memory and thought counters
  • ๐Ÿ–ฑ๏ธ Interactive buttons with terminal styling

๐Ÿ“ก API Endpoints

Authentication

  • GET /api/v1/auth/github/url - Get GitHub OAuth URL
  • POST /api/v1/auth/github/callback - Handle OAuth callback
  • GET /api/v1/auth/me - Get current user info
  • POST /api/v1/auth/logout - Logout user

Thoughts Management

  • GET /api/v1/thoughts - List thoughts with filtering
  • POST /api/v1/thoughts - Create new thought
  • GET /api/v1/thoughts/{id} - Get specific thought
  • PUT /api/v1/thoughts/{id} - Update thought
  • DELETE /api/v1/thoughts/{id} - Delete thought

Teams & Collaboration

  • GET /api/v1/teams - List user teams
  • GET /api/v1/teams/{id}/stats - Get team statistics
  • POST /api/v1/sync/teams/{id} - Sync team data

๐Ÿ”ง Configuration Examples

Basic Developer Setup

# Generate both templates with defaults
cookiecutter claude-dot-md-template --config-file example-configs/claude-dot-md/default.yaml
cookiecutter shared-thoughts-template --config-file example-configs/shared-thoughts/default.yaml

Enterprise Team Setup

# Full-featured configuration with Linear and Ralph workflows
cookiecutter claude-dot-md-template --config-file example-configs/claude-dot-md/enterprise-full.yaml
cookiecutter shared-thoughts-template --config-file example-configs/shared-thoughts/team-collaboration.yaml

๐Ÿ”„ Workflow Integration

Thoughts Directory Structure

thoughts/
โ”œโ”€โ”€ shared/                    # Team-wide documents
โ”‚   โ”œโ”€โ”€ plans/                # Implementation plans
โ”‚   โ”œโ”€โ”€ research/             # Research documents  
โ”‚   โ”œโ”€โ”€ tickets/              # Linear tickets (ENG-XXXX.md)
โ”‚   โ”œโ”€โ”€ prs/                  # PR descriptions
โ”‚   โ””โ”€โ”€ decisions/            # Technical decisions
โ”œโ”€โ”€ {username}/               # Personal thoughts
โ”‚   โ”œโ”€โ”€ tickets/              # Personal ticket copies
โ”‚   โ”œโ”€โ”€ notes/               # Personal notes
โ”‚   โ””โ”€โ”€ archive/             # Archived thoughts
โ””โ”€โ”€ searchable/              # Unified search (auto-generated)

Claude Code Integration

The system integrates seamlessly with Claude Code through:

  • Agent Definitions - Pre-configured AI agents for development tasks
  • Command Workflows - Automated task execution and planning
  • Memory Persistence - Structured knowledge retention across sessions
  • Context Sharing - Team-wide context and decision history

๐Ÿ“‹ Requirements

System Requirements

  • Node.js 18+ - For frontend development
  • Python 3.11+ - For backend services
  • PostgreSQL 13+ - Primary database
  • Redis 6+ - Session and caching (optional)
  • Docker - For containerized deployment (recommended)

Development Tools

  • uv - Python package manager (curl -LsSf https://astral.sh/uv/install.sh | sh)
  • cookiecutter - Template engine (uv tool install cookiecutter)
  • git - Version control for sync features

๐Ÿšง Roadmap

  • โœ… Web terminal interface with authentication
  • โœ… GitHub OAuth integration
  • โœ… Real-time team collaboration
  • โœ… Docker development environment
  • ๐Ÿ”„ Claude.md constructs integration (in progress)
  • ๐Ÿ”„ Advanced search with semantic embeddings
  • ๐Ÿ”„ Mobile-responsive terminal interface
  • ๐Ÿ”„ Plugin system for custom integrations
  • ๐Ÿ”„ Self-hosted deployment guides
  • ๐Ÿ”„ Integration with more AI assistants

๐Ÿ“ License

This project is designed for AI-assisted development workflows and knowledge management.

๐Ÿค Contributing

Contributions welcome! Areas for improvement:

  1. Frontend Components - Enhance the terminal UI experience
  2. Backend APIs - Extend functionality and performance
  3. Authentication - Add more OAuth providers
  4. Templates - Create new Claude Code configurations
  5. Documentation - Improve setup and usage guides

๐Ÿ“š Documentation


Built for teams using AI-assisted development with Claude Code and modern web technologies.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mem8-2.2.1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mem8-2.2.1-py3-none-any.whl (124.5 kB view details)

Uploaded Python 3

File details

Details for the file mem8-2.2.1.tar.gz.

File metadata

  • Download URL: mem8-2.2.1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.14

File hashes

Hashes for mem8-2.2.1.tar.gz
Algorithm Hash digest
SHA256 612de3d4bf5c227ee1a7090c2ed24ce67b13ac45885083edf6f2e63bb2206400
MD5 88f8ec87a99dc8d070d2f712d75425c5
BLAKE2b-256 2636f4dd4ffcbf7aeb466f2424b60663a85dfd70194846643e8f7d1c8eb0cc17

See more details on using hashes here.

File details

Details for the file mem8-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: mem8-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 124.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.14

File hashes

Hashes for mem8-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ad041c86cce26ff3d58f3fd75333e2439ae95c9d5733971c6cf44dbe97265e0c
MD5 ff44a4b36eb6addd51319493428f6420
BLAKE2b-256 5e74200828d7f929a1563d7df3df4c5bf2a9b77395ae013f0bc818f08365fc2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page