Skip to content

iog-creator/BibleProjectProduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BibleProjectProduction

A context-aware Project Requirements Prompt (PRP) system built with LangChain, PostgreSQL, and MCP servers for biblical text analysis and project management.

Overview

BibleProjectProduction is a comprehensive system that generates context-aware project requirements prompts by integrating:

  • LangChain for AI-powered query processing
  • PostgreSQL database with biblical text data
  • MCP (Model Context Protocol) servers for tool integration
  • GitHub MCP server for repository context
  • Hebrew analysis for biblical text processing
  • Modular architecture with 6 specialized modules

Features

  • Context-Aware PRP Generation: Uses project data, server logs, and GitHub issues
  • MCP Server Integration: 7 core tools accessible via API endpoints
  • Hebrew Text Analysis: Query Hebrew terms and Strong's numbers
  • Modular System: 6 modules (core, hebrew_analysis, vector_search, web_ui, mcp_server, cli)
  • Comprehensive Compliance: Automated rule checking and validation
  • Non-Programmer Accessible: Batch scripts and Jupyter notebooks
  • Dual Interface: CLI and web UI for different user preferences

Quick Start

Prerequisites

  • Python 3.11+
  • PostgreSQL database
  • LM Studio (for local LLM processing)
  • Docker (for GitHub MCP server)

Installation

  1. Set up environment:

    # Double-click setup.bat or run:
    python -m venv C:/Users/mccoy/BibleProjectProduction/venv_new
    C:/Users/mccoy/BibleProjectProduction/venv_new/Scripts/activate
    pip install langchain langchain-community langchain-experimental psycopg flask python-dotenv pytest ruff mypy black isort
  2. Start servers:

    # Double-click manage_servers.bat or run:
    python src/mcp/bible_scholar_api_server.py
    python src/search/vector_search_server.py
    python scripts/modules/web_ui/web_ui_setup.py
  3. Verify setup:

Docker & Containerized Workflow

BibleProjectProduction uses Docker to make running and managing all servers easy and consistent, especially for non-programmers. All major services are containerized:

  • MCP Server (API server, port 5200)
  • Vector Search Server (port 5150)
  • Web UI Server (port 5300)
  • GitHub MCP Server (port 8080)

Why Docker?

  • No manual setup or dependency issues
  • All services start with a single command
  • Consistent environment for everyone
  • Easy to stop, restart, or check status

How to Use Docker Compose

  1. Build all containers:

    • Double-click or run:
      docker compose build
    • This prepares all services for use.
  2. Start all servers:

    • Double-click or run:
      docker compose up -d
    • All four servers will start in the background.
  3. Check server status:

    • Double-click or run:
      docker compose ps
    • Shows which servers are running and their health.
  4. Stop all servers:

    • Double-click or run:
      docker compose down
    • This stops and removes all containers.

Health Checks

Environment Variables

  • All sensitive settings are stored in .env (not shared)
  • Use example.env as a template for safe sharing
  • Docker Compose automatically loads .env for all services

Troubleshooting

  • If a server is not healthy, check its logs in the logs/ folder or run:
    docker compose logs <service-name>
  • For most issues, restarting with docker compose down and docker compose up -d resolves them.

Usage

CLI Interface

# Generate PRP
python scripts/modules/cli/cli_setup.py prp --query "What are the requirements for the web UI module?"

# Check compliance
python scripts/modules/cli/cli_setup.py compliance

Web UI

  1. Open http://127.0.0.1:5300
  2. Enter your query in the text area
  3. Click "Generate PRP" to get results

API Endpoints

# Generate PRP via API
curl -X POST http://127.0.0.1:5200/api/prp \
  -H "Content-Type: application/json" \
  -d '{"query": "What are the requirements?", "output_format": "json"}'

# Execute MCP tool
curl -X POST http://127.0.0.1:5200/api/execute-operation \
  -H "Content-Type: application/json" \
  -d '{"tool": "quick_prp", "params": {"query": "test query"}}'

Project Structure

BibleProjectProduction/
├── .cursor/rules/           # Cursor rules for compliance
├── .cursor/commands/        # Command templates
├── config/                  # Configuration files
├── context_portal/          # Database schema and context
├── docs/guides/             # User documentation
├── examples/                # Example implementations
├── logs/                    # Application logs
├── scripts/                 # Development and module scripts
│   ├── dev/                 # Development tools
│   └── modules/             # Module-specific scripts
├── src/                     # Source code
│   ├── api/                 # API implementations
│   ├── mcp/                 # MCP server code
│   ├── search/              # Vector search implementation
│   └── utils/               # Utility functions
├── tests/                   # Test suites
├── setup.bat               # Environment setup script
├── manage_servers.bat      # Server management script
└── README.md               # This file

Modules

Core Module

  • Database initialization and management
  • Core functionality and utilities

Hebrew Analysis Module

  • Hebrew term querying
  • Strong's number lookups
  • Biblical text analysis

Vector Search Module

  • Vector search server
  • Semantic search capabilities

Web UI Module

  • Web-based interface
  • Dashboard for PRP generation

MCP Server Module

  • MCP server implementation
  • 7 core tools registration
  • API endpoint management

CLI Module

  • Command-line interface
  • Script execution tools

Compliance

The project follows strict compliance rules:

  • Coding Standards: Ruff, MyPy, Black, Isort
  • Modular System: Required file structure for all modules
  • MCP Server: 7 core tools and required endpoints
  • Logging: Structured logging with timestamps
  • Non-Programmer Accessibility: Batch scripts and notebooks

Run compliance checks:

python scripts/cursor_rules_compliance_checker.py

Testing

Run comprehensive tests:

# All tests
python tests/test_comprehensive_system.py

# PRP system tests
python scripts/dev/tests/test_prp_system.py

# Pytest suite
pytest tests/ -v

Configuration

All configuration is managed through config/config.json:

  • Server settings (hosts, ports)
  • Model configurations
  • API endpoints
  • Database connections

Environment variables are loaded from .env and merged with config.

Logging

All logs are written to logs/ directory:

  • Application logs with timestamps
  • Task synchronization logs
  • Compliance check results
  • Error tracking and debugging

Troubleshooting

  1. Check server status:

    manage_servers.bat status
  2. Verify compliance:

    python scripts/cursor_rules_compliance_checker.py
  3. Check logs:

    • Review logs/ directory for error messages
    • Check logs/task_sync.json for task status
  4. Module-specific issues:

    • Open scripts/modules/[module]/setup.ipynb for module setup
    • Follow non-programmer instructions in notebooks

Contributing

  1. Follow all cursor rules in .cursor/rules/
  2. Ensure compliance with scripts/cursor_rules_compliance_checker.py
  3. Use the modular system structure
  4. Maintain non-programmer accessibility
  5. Update documentation and changelog

License

This project is part of the BibleProjectProduction system.

Support

For support and documentation:

  • User Guide: docs/guides/user_guide_2025-07-04.md
  • Changelog: CHANGELOG.md
  • Compliance: scripts/cursor_rules_compliance_checker.py

Last Updated: 2025-07-04 Version: 1.0.0 Compliance Status: COMPLIANT

About

A context-aware Project Requirements Prompt (PRP) system with modular servers (MCP, Vector Search, Web UI, GitHub MCP) managed via Docker Compose. Designed for non-programmers, with strict compliance and clear documentation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors