Skip to main content

Analyze repositories against SPECS.md and generate implementation reports.

Project description

Matcha logo

Matcha Core

matcha-core analyzes a repository against its SPECS.md and produces structured implementation reports.

It can be used in three ways:

  • as an installable CLI
  • as a Python library

Install

From PyPI:

python3 -m pip install matcha-core

For local development:

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"

CLI

OpenAI:

export OPENAI_API_KEY=...
matcha-core analyze /path/to/repo --output ./report.html

Ollama:

export OLLAMA_MODEL=llama3.2
matcha-core analyze /path/to/repo --provider ollama

If the specs file is not at the repo root:

matcha-core analyze /path/to/repo --specs /path/to/repo/docs/SPECS.md

To analyze only one feature:

matcha-core analyze /path/to/repo --feature FEAT-004 --output report.html

matcha-core infers the report format from --output when possible, so report.html, report.json, and report.md automatically render the expected format. If no format is specified and no output file is provided, the CLI defaults to a terminal table view. You can also use --reporter as an alias for --format.

Library

from matcha_core import OpenAICompatibleEvaluator, RepositoryAnalyzer
from matcha_core.reporting import report_to_html

evaluator = OpenAICompatibleEvaluator.from_env(provider="openai")
analyzer = RepositoryAnalyzer(evaluator=evaluator)
report = analyzer.analyze_path("/path/to/repo")

html = report_to_html(report)

Output formats

  • json
  • markdown
  • html
  • table

For terminal output with evidence snippets:

matcha-core analyze /path/to/repo --format table --show-evidence

Tests

python3 -m unittest discover -s tests

Specs Authoring

Use docs/SPECS_TEMPLATE.md as a starting point when onboarding an existing repository into Matcha.

Release

The package metadata and release flow are documented in RELEASING.md.

License

This project is licensed under the Apache License 2.0. See LICENSE.

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

matcha_core-0.1.3.tar.gz (38.4 kB view details)

Uploaded Source

Built Distribution

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

matcha_core-0.1.3-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file matcha_core-0.1.3.tar.gz.

File metadata

  • Download URL: matcha_core-0.1.3.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for matcha_core-0.1.3.tar.gz
Algorithm Hash digest
SHA256 913bda32c6154320c8c2aa283b720dd4b4635c10cdd45301230cbefc71f49fa7
MD5 3fadbf4f2af1ce0702fbfc2885e3dd7a
BLAKE2b-256 680ca5896496a590348245ae77440ae9d5abd4bc80b9e48d64e318a6d69c73b0

See more details on using hashes here.

File details

Details for the file matcha_core-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: matcha_core-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for matcha_core-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c68187c50f8af93272caf2dc1a2c8e2e95dae4b89b228ed03cc038520c87adf7
MD5 7db6a137e96e5813d065fecc2a581418
BLAKE2b-256 bfe2fa217124b67ee2e59c42faaa7a4c4ee0679e2452f058109e9dbe49b5aab4

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