From ed6fe1859d4d14ff7a6487a6457abb64db7f13fb Mon Sep 17 00:00:00 2001 From: Rafael Richards Date: Mon, 11 May 2026 07:55:43 -0400 Subject: [PATCH] phase4-D: bump to v0.1.0 + add `make build` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 4 Track D §5 D1. Prepares the release tag (D2 follows on ``main`` once this PR lands). * pyproject.toml version 0.0.1 → 0.1.0 * src/m_dev_tools_mcp/__init__.py __version__ → "0.1.0" * New ``build>=1.2`` dev-extra so contributors can ``make build`` without a separate uv install * New ``make build`` target — PEP-517 ``python -m build --wheel`` → ``dist/m_dev_tools_mcp-0.1.0-py3-none-any.whl``. Pure-Python; no compiled extensions, no platform pin * ``make clean`` extended to also drop ``dist/*.whl`` / ``dist/*.tar.gz`` (the manifest + repo.meta.json under ``dist/`` stay tracked; only the build outputs are blown away) * dist/mcp-tools.json regenerated — the ``version`` field embeds the package version so the manifest drift gate catches stale bumps Verified locally: * ``make check`` green (41/41 pytest, ruff + mypy clean, manifest + agents drift gates clean) * ``make build`` produces ``dist/m_dev_tools_mcp-0.1.0-py3-none-any.whl`` * ``pip install`` of the wheel into a fresh ``mktemp -d`` venv exposes ``m-dev-tools-mcp --version`` printing ``0.1.0`` D2 (tag + ``gh release create v0.1.0`` with the wheel attached) lands on ``main`` after this merges. --- Makefile | 11 +++++++++-- dist/mcp-tools.json | 2 +- pyproject.toml | 3 ++- src/m_dev_tools_mcp/__init__.py | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index d74634a..67fd87b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: install test lint mypy fmt check manifest check-manifest check-agents clean +.PHONY: install test lint mypy fmt check manifest check-manifest check-agents build clean PYTHON := .venv/bin/python PYTEST := .venv/bin/pytest @@ -60,6 +60,13 @@ check-agents: fi @echo "check-agents: AGENTS.md present; CLAUDE.md → AGENTS.md ✓" +# Build the wheel for a GitHub Release. PEP-517 via the `build` +# front-end; ships pure-Python with no compiled extensions. The +# resulting `dist/m_dev_tools_mcp--py3-none-any.whl` is what +# `gh release create` attaches as a downloadable asset. +build: + $(PYTHON) -m build --wheel + clean: rm -rf .venv .pytest_cache .ruff_cache .mypy_cache build dist/*.egg-info \ - src/*.egg-info + src/*.egg-info dist/*.whl dist/*.tar.gz diff --git a/dist/mcp-tools.json b/dist/mcp-tools.json index 0dd950f..b31e839 100644 --- a/dist/mcp-tools.json +++ b/dist/mcp-tools.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/m-dev-tools/.github/main/profile/repo.meta.schema.json", "kind": "m-dev-tools-mcp.tools", "package": "m_dev_tools_mcp", - "version": "0.0.1", + "version": "0.1.0", "tool_count": 3, "tools": [ { diff --git a/pyproject.toml b/pyproject.toml index ec9d92f..c2dcc3d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "m-dev-tools-mcp" -version = "0.0.1" +version = "0.1.0" description = "MCP server for the m-dev-tools org catalog — exposes route_intent, describe, and verify as first-class agent tools." readme = "README.md" license = { text = "AGPL-3.0" } @@ -33,6 +33,7 @@ dev = [ "pytest-randomly", "ruff>=0.5", "mypy>=1.10", + "build>=1.2", ] [project.scripts] diff --git a/src/m_dev_tools_mcp/__init__.py b/src/m_dev_tools_mcp/__init__.py index 187fae4..a51da5a 100644 --- a/src/m_dev_tools_mcp/__init__.py +++ b/src/m_dev_tools_mcp/__init__.py @@ -1,3 +1,3 @@ """m-dev-tools-mcp — MCP server wrapping the m-dev-tools org catalog.""" -__version__ = "0.0.1" +__version__ = "0.1.0"