Analyze repositories against SPECS.md and generate implementation reports.
Project description
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
jsonmarkdownhtmltable
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
913bda32c6154320c8c2aa283b720dd4b4635c10cdd45301230cbefc71f49fa7
|
|
| MD5 |
3fadbf4f2af1ce0702fbfc2885e3dd7a
|
|
| BLAKE2b-256 |
680ca5896496a590348245ae77440ae9d5abd4bc80b9e48d64e318a6d69c73b0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c68187c50f8af93272caf2dc1a2c8e2e95dae4b89b228ed03cc038520c87adf7
|
|
| MD5 |
7db6a137e96e5813d065fecc2a581418
|
|
| BLAKE2b-256 |
bfe2fa217124b67ee2e59c42faaa7a4c4ee0679e2452f058109e9dbe49b5aab4
|