=============================================================================
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_local_repo_analyzer-0.1.1.tar.gz | 36.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.