Skip to main content

=============================================================================

README.md - Project Documentation

=============================================================================

Local Git Changes Analyzer

A FastMCP server for analyzing outstanding local git changes that haven't made their way to GitHub yet.

Features

  • Working Directory Analysis: Detect uncommitted changes
  • Staging Area Analysis: Analyze staged changes ready for commit
  • Unpushed Commits: Find commits that haven't been pushed to remote
  • Stash Analysis: Examine stashed changes
  • Risk Assessment: Identify high-risk changes and potential conflicts
  • Push Readiness: Assess if repository is ready for remote push

Installation

Prerequisites

  • Python 3.9+
  • Poetry (for dependency management)
  • Git

Setup

# Clone the repository
git clone <repository-url>
cd local-git-analyzer

# Install Poetry if you haven't already
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies
poetry install

# For development dependencies
poetry install --with dev

Configuration

Copy .env.example to .env and configure your settings:

cp .env.example .env

Usage

Run the FastMCP server:

# Using Poetry
poetry run python main.py

# Or activate the virtual environment
poetry shell
python main.py

Or use the CLI:

poetry run local-git-analyzer

Development

Setup Development Environment

# Install all dependencies including dev
poetry install --with dev,test

# Install pre-commit hooks
poetry run pre-commit install

# Run tests
poetry run pytest

# Run tests with coverage
poetry run pytest --cov=local_git_analyzer --cov-report=html

# Run type checking
poetry run mypy local_git_analyzer

# Format code
poetry run black local_git_analyzer
poetry run isort local_git_analyzer

# Or use ruff for linting and formatting
poetry run ruff check local_git_analyzer
poetry run ruff format local_git_analyzer

Poetry Commands

# Add a new dependency
poetry add <package>

# Add a development dependency
poetry add --group dev <package>

# Update dependencies
poetry update

# Show dependency tree
poetry show --tree

# Build the package
poetry build

# Publish to PyPI
poetry publish

Project Structure

local_git_analyzer/
├── main.py              # FastMCP server entry point
├── config.py            # Configuration and settings
├── models/              # Pydantic data models
├── services/            # Business logic services
├── tools/               # FastMCP tools
├── tests/               # Test files
├── pyproject.toml       # Poetry configuration
└── README.md            # This file

Testing

# Run all tests
poetry run pytest

# Run with coverage
poetry run pytest --cov=local_git_analyzer

# Run specific test file
poetry run pytest tests/test_git_client.py

# Run tests with specific markers
poetry run pytest -m unit
poetry run pytest -m integration

License

MIT License

Metadata

Release files for mcp-local-repo-analyzer 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-local-repo-analyzer 0.1.1
File Size Uploaded Provenance
mcp_local_repo_analyzer-0.1.1.tar.gz 36.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-local-repo-analyzer 0.1.1
File Interpreter ABI Platform
mcp_local_repo_analyzer-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 78.6 kB

Release files / mcp_local_repo_analyzer-0.1.1.tar.gz

Download URL mcp_local_repo_analyzer-0.1.1.tar.gz
Size 36.2 kB
Tags Source
SHA-256 checksum
How to use checksums
305d012626bd2fad1e8e7a0cc81c936806dbbc5152c80828b62194da71abe59d
BLAKE2b-256 checksum
How to use checksums
624585a675bf1f2e3f9a31bfdb8a470228956ee2c116d755bd9192b913b47832
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.12.10 Darwin/23.4.0

Release files / mcp_local_repo_analyzer-0.1.1-py3-none-any.whl

Download URL mcp_local_repo_analyzer-0.1.1-py3-none-any.whl
Size 42.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
221875690138d7481931da292716e01f61fa0d8ce7728ed803baa7d9fafc6e30
BLAKE2b-256 checksum
How to use checksums
936405cf2b79ea6268f654720459335074a9a5b9c168025cbd43623e6d5989d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.12.10 Darwin/23.4.0

Security for mcp-local-repo-analyzer 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page