From b5b5c20b69ba4523ab097b09250571f46fe44774 Mon Sep 17 00:00:00 2001 From: Rafael Richards Date: Tue, 12 May 2026 12:56:06 -0400 Subject: [PATCH 1/3] docs(profile): README polish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AI-integrated out-of-the-box demoted from H2 to H3 - "Why we need modern M Developer Tools" → "Why developers need m-dev-tools" - TDD walkthrough section moved above Getting started; retitled "Modern M development: Example walkthrough" Co-Authored-By: Claude Opus 4.7 (1M context) --- profile/README.md | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/profile/README.md b/profile/README.md index 86d7f96..c503116 100644 --- a/profile/README.md +++ b/profile/README.md @@ -19,29 +19,32 @@ containerized test engine ([`m-test-engine`](https://github.com/m-dev-tools/m-test-engine)), and editor integrations, they form an end-to-end TDD stack that works identically for **InterSystems IRIS** and **YottaDB** developers -maintaining modern (non-VistA) M code. +maintaining modern (pythonic) M code, as well as large legacy (VistA) M code. -## AI-integrated out-of-the-box +### AI-integrated out-of-the-box m-dev-tools ships an MCP server ([`m-dev-tools-mcp`](https://pypi.org/project/m-dev-tools-mcp/), also listed on the [official MCP registry](https://registry.modelcontextprotocol.io/) as `io.github.m-dev-tools/m-dev-tools-mcp`) that exposes `route_intent` / `describe` / `verify` over the catalog so any MCP-capable agent (Claude Code, Codex, Continue, …) can resolve plain-English M-tooling intent without guessing. See the [**AI users guide**](../docs/ai-discoverability/ai-users-guide.md) for install paths (PyPI, `.mcp.json`, registry-driven), example sessions, and the no-MCP fallback that walks `tools.json` directly. -## Why we need modern M Developer Tools +## The gaps in M development today M (MUMPS) is the language behind a great deal of healthcare and financial infrastructure, but its modern developer tooling has historically lagged -behind mainstream languages. The 2026 cross-engine gap analysis -([`docs/history/m-tools-gap-analysis.md`](../docs/history/m-tools-gap-analysis.md)) inventoried the deficit — no test runner, no logic linter, no formatter, -no single-test selection, no test watcher — and ranked the missing pieces -into [four impact tiers](../docs/history/m-tools-gap-analysis.md#8-rank-ordered-developer-impact-where-to-invest-first). -**`m-dev-tools`** is the focused remediation of that top tier: the -**inner development loop** that mainstream language ecosystems take for -granted and that M has never had. +behind mainstream languages. The 2026 cross-engine gap analysis ([`docs/history/m-tools-gap-analysis.md`](../docs/history/m-tools-gap-analysis.md)) inventoried the deficit — no test runner, no logic linter, no formatter, no single-test selection, no test watcher — and ranked the missing pieces into [four impact tiers](../docs/history/m-tools-gap-analysis.md#8-rank-ordered-developer-impact-where-to-invest-first). + +**`m-dev-tools`** is the focused remediation of that top tier: the **inner development loop** that mainstream language ecosystems take for granted and that M has never had. m-dev-tools also provides a vendor-neutral, portable, **industry-conformant M standard library**, which has not existed to date. + + + +## Modern M development: A walkthrough + +The [m-cli TDD lifecycle walkthrough](../docs/guides/m-tdd-stdlib-walkthrough.md) +is an end-to-end transcript of building a small data-analysis app — +`reqstats`, an HTTP-access-log summarizer — using only the `m` +toolchain and `m-stdlib`. Exercises every `m ` (fmt / +lint / test / coverage / watch / lsp / new / run / build / ci) and +the M standard library it consumes. The fastest way to see modern test-driven development with continuous integration on a clean host. -The toolchain is **engine-neutral at the source layer** (`m fmt` and -`m lint` care about M syntax, not a specific runtime), so a working -install serves IRIS, YottaDB, and any future ANSI-compliant M engine -equally. ## Getting started @@ -55,17 +58,6 @@ less ./setup.sh bash ./setup.sh ``` -## Example of M Test-Driven Development with the M Standard Library - -The [m-cli TDD lifecycle walkthrough](../docs/guides/m-tdd-stdlib-walkthrough.md) -is an end-to-end transcript of building a small data-analysis app — -`reqstats`, an HTTP-access-log summarizer — using only the `m` -toolchain and `m-stdlib`. Exercises every `m ` (fmt / -lint / test / coverage / watch / lsp / new / run / build / ci) and -the standard library it consumes. The fastest way to see a modern -M inner loop in action on a clean host. - - ## Repositories From 92172e4eb3fce3fc881c2ac62261b8d5a057042d Mon Sep 17 00:00:00 2001 From: Rafael Richards Date: Tue, 12 May 2026 13:23:57 -0400 Subject: [PATCH 2/3] docs(profile): README polish, follow-up MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Section heading "The gaps in M development today" → "The need for M Dev Tools" - "supporting" instead of "behind" + add "worldwide" to the healthcare/finance opening - Bold the second m-dev-tools mention; add the "enabling rapid development of applications without re-inventing wheels" tail - Walkthrough section heading "Modern M development: A walkthrough" → "M Dev Tools: A walkthrough" - Walkthrough link text "m-cli TDD lifecycle walkthrough" → "M test-driven-development walkthrough"; paragraph reflowed Co-Authored-By: Claude Opus 4.7 (1M context) --- profile/README.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/profile/README.md b/profile/README.md index c503116..1a950a1 100644 --- a/profile/README.md +++ b/profile/README.md @@ -26,24 +26,19 @@ maintaining modern (pythonic) M code, as well as large legacy (VistA) M code. m-dev-tools ships an MCP server ([`m-dev-tools-mcp`](https://pypi.org/project/m-dev-tools-mcp/), also listed on the [official MCP registry](https://registry.modelcontextprotocol.io/) as `io.github.m-dev-tools/m-dev-tools-mcp`) that exposes `route_intent` / `describe` / `verify` over the catalog so any MCP-capable agent (Claude Code, Codex, Continue, …) can resolve plain-English M-tooling intent without guessing. See the [**AI users guide**](../docs/ai-discoverability/ai-users-guide.md) for install paths (PyPI, `.mcp.json`, registry-driven), example sessions, and the no-MCP fallback that walks `tools.json` directly. -## The gaps in M development today +## The need for M Dev Tools -M (MUMPS) is the language behind a great deal of healthcare and financial -infrastructure, but its modern developer tooling has historically lagged +M (MUMPS) is the language supporting a great deal of healthcare and financial +infrastructure worldwide, but its modern developer tooling has historically lagged behind mainstream languages. The 2026 cross-engine gap analysis ([`docs/history/m-tools-gap-analysis.md`](../docs/history/m-tools-gap-analysis.md)) inventoried the deficit — no test runner, no logic linter, no formatter, no single-test selection, no test watcher — and ranked the missing pieces into [four impact tiers](../docs/history/m-tools-gap-analysis.md#8-rank-ordered-developer-impact-where-to-invest-first). -**`m-dev-tools`** is the focused remediation of that top tier: the **inner development loop** that mainstream language ecosystems take for granted and that M has never had. m-dev-tools also provides a vendor-neutral, portable, **industry-conformant M standard library**, which has not existed to date. +**`m-dev-tools`** is the focused remediation of that top tier: the **inner development loop** that mainstream language ecosystems take for granted and that M has never had. **`m-dev-tools`** also provides a portable, industry-conformant **M standard library** which has not existed to date, enabling rapid development of applications without re-inventing wheels. +## M Dev Tools: A walkthrough -## Modern M development: A walkthrough - -The [m-cli TDD lifecycle walkthrough](../docs/guides/m-tdd-stdlib-walkthrough.md) -is an end-to-end transcript of building a small data-analysis app — -`reqstats`, an HTTP-access-log summarizer — using only the `m` -toolchain and `m-stdlib`. Exercises every `m ` (fmt / -lint / test / coverage / watch / lsp / new / run / build / ci) and -the M standard library it consumes. The fastest way to see modern test-driven development with continuous integration on a clean host. +The [M test-driven-development walkthrough](../docs/guides/m-tdd-stdlib-walkthrough.md) is an end-to-end transcript of building a small data-analysis app — `reqstats`, an HTTP-access-log summarizer — using only the `m` toolchain and `m-stdlib`. Exercises every `m ` (fmt / +lint / test / coverage / watch / lsp / new / run / build / ci) and the M standard library it consumes. The fastest way to see modern test-driven development with continuous integration on a clean host. From cf0b25f283bb6dc66e6eddc7495ac73bc90fa539 Mon Sep 17 00:00:00 2001 From: Rafael Richards Date: Tue, 12 May 2026 13:32:51 -0400 Subject: [PATCH 3/3] docs(profile): collapse "AI-integrated out-of-the-box" H3 to inline bold The MCP-server callout is now a one-paragraph block with the feature name as bold lead-in, instead of an H3 heading + paragraph. Sits more naturally under the opening pitch and stops competing visually with the H2 sections below. Co-Authored-By: Claude Opus 4.7 (1M context) --- profile/README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/profile/README.md b/profile/README.md index 1a950a1..f8b195f 100644 --- a/profile/README.md +++ b/profile/README.md @@ -21,9 +21,7 @@ editor integrations, they form an end-to-end TDD stack that works identically for **InterSystems IRIS** and **YottaDB** developers maintaining modern (pythonic) M code, as well as large legacy (VistA) M code. -### AI-integrated out-of-the-box - -m-dev-tools ships an MCP server ([`m-dev-tools-mcp`](https://pypi.org/project/m-dev-tools-mcp/), also listed on the [official MCP registry](https://registry.modelcontextprotocol.io/) as `io.github.m-dev-tools/m-dev-tools-mcp`) that exposes `route_intent` / `describe` / `verify` over the catalog so any MCP-capable agent (Claude Code, Codex, Continue, …) can resolve plain-English M-tooling intent without guessing. See the [**AI users guide**](../docs/ai-discoverability/ai-users-guide.md) for install paths (PyPI, `.mcp.json`, registry-driven), example sessions, and the no-MCP fallback that walks `tools.json` directly. +**AI-integrated out-of-the-box**. m-dev-tools ships an MCP server ([`m-dev-tools-mcp`](https://pypi.org/project/m-dev-tools-mcp/), also listed on the [official MCP registry](https://registry.modelcontextprotocol.io/) as `io.github.m-dev-tools/m-dev-tools-mcp`) that exposes `route_intent` / `describe` / `verify` over the catalog so any MCP-capable agent (Claude Code, Codex, Continue, …) can resolve plain-English M-tooling intent without guessing. See the [**AI users guide**](../docs/ai-discoverability/ai-users-guide.md) for install paths (PyPI, `.mcp.json`, registry-driven), example sessions, and the no-MCP fallback that walks `tools.json` directly. ## The need for M Dev Tools