Skip to content

docs: add generic add-mcp setup instructions - #361

Merged
chrisdoc merged 1 commit into
mainfrom
charlie/issue-360-readme-add-mcp
Jun 23, 2026
Merged

docs: add generic add-mcp setup instructions#361
chrisdoc merged 1 commit into
mainfrom
charlie/issue-360-readme-add-mcp

Conversation

@charliecreates

@charliecreates charliecreates Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a generic add-mcp setup section to README for non-Claude/Cursor clients
  • add the new section to the README table of contents

Resolves #360

✨ PR Description

Purpose: Add documentation for generic MCP client setup using the add-mcp tool as an alternative to manual configuration.

Main changes:

  • Added table of contents entry for "Other MCP Clients (via add-mcp)" section
  • Documented add-mcp command with example showing hevy-mcp setup with environment variable configuration

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how

@charliecreates charliecreates Bot mentioned this pull request Jun 22, 2026

@gitstream-cm gitstream-cm Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✨ PR Review

The PR adds a concise and useful section to the README for non-Claude/Cursor MCP clients. The TOC anchor is correctly formatted and the section is well-placed. One security concern with the example command is worth flagging.

1 issues detected:

🔒 Security - Passing secrets as inline command-line arguments exposes them in shell history and process listings. 🛠️

Details: The example command passes the API key inline as a command-line argument. This causes the secret to be stored in the user's shell history (e.g., ~/.bash_history, ~/.zsh_history) and can be visible in process listings (e.g., ps aux) for the duration of the command. Readers following this example literally may inadvertently expose their real API key.

File: README.md (130-130)

🛠️ A suggested code correction is included in the review comments.

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Review using Guidelines Learn how

Comment thread README.md
For a generic setup flow across MCP clients, use [`add-mcp`](https://github.com/neon-solutions/add-mcp):

```bash
npx add-mcp hevy-mcp --env "HEVY_API_KEY=secret"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security - API Key Exposure: Revise the example to either omit the --env flag and instruct users to set the environment variable separately before running the command (e.g., export HEVY_API_KEY=your_api_key then npx add-mcp hevy-mcp), or use a clearly non-functional placeholder like YOUR_HEVY_API_KEY with a note warning against passing real keys directly on the command line.

Suggested change
npx add-mcp hevy-mcp --env "HEVY_API_KEY=secret"
export HEVY_API_KEY=your_api_key
npx add-mcp hevy-mcp
Is this review accurate? Use 👍 or 👎 to rate it

If you want to tell us more, use /gs feedback e.g. /gs feedback this review doesn't make sense, I disagree, and it keeps repeating over and over

@codecov

codecov Bot commented Jun 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.36%. Comparing base (e8a068c) to head (c4576a7).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #361   +/-   ##
=======================================
  Coverage   71.36%   71.36%           
=======================================
  Files          18       18           
  Lines         674      674           
  Branches      202      202           
=======================================
  Hits          481      481           
  Misses        110      110           
  Partials       83       83           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@greptile-apps

greptile-apps Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

  • Adds a generic add-mcp setup section to README.md for MCP clients beyond Claude and Cursor.
  • Adds the new setup path to the README table of contents.
  • Documents an example command for configuring hevy-mcp with HEVY_API_KEY.

Confidence Score: 4/5

The README-only change is low risk, but the documented command should preserve the intended server name before merge.

The change is small and isolated to documentation, and the issue is limited to setup instructions rather than application runtime behavior.

README.md

T-Rex T-Rex Logs

What T-Rex did

  • I ran an isolated add-mcp harness with temporary HOME, XDG_CONFIG_HOME, and project directories to avoid altering real user config.
  • The harness run showed the default, unnamed server key appeared as hevy in the generated .codex/config.toml under [mcp_servers.hevy].
  • I re-ran the command with --name hevy-mcp and confirmed the generated config now contains [mcp_servers.hevy-mcp], aligning with the expected server key.
  • I reviewed the README and confirmed a new Other MCP Clients via add-mcp section was added, including a TOC entry at line 20 and a heading anchored to #other-mcp-clients-via-add-mcp.
  • I verified that the README's add-mcp link currently points to the old repository URL (https://github.com/neon-solutions/add-mcp) instead of the required https://github.com/delorenj/add-mcp.
  • Artifacts documenting the harness and its outputs were captured as reproducibility artifacts.

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments Outside Diff (1)

  1. General comment

    P1 README links add-mcp to the wrong repository URL

    • Bug
      • The new generic MCP client setup section is present and its TOC anchor resolves, but the documented add-mcp repository URL does not match the requested contract. At head, README.md line 127 links [add-mcp] to https://github.com/neon-solutions/add-mcp; the validation contract requires https://github.com/delorenj/add-mcp to be present.
    • Cause
      • The README implementation used a different GitHub repository URL for the add-mcp link than the contract specified.
    • Fix
      • Change the add-mcp link target in README.md line 127 from https://github.com/neon-solutions/add-mcp to https://github.com/delorenj/add-mcp.

    T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "docs: add add-mcp setup instructions to ..." | Re-trigger Greptile

Comment thread README.md
Comment on lines +129 to +133
```bash
npx add-mcp hevy-mcp --env "HEVY_API_KEY=secret"
```

This bootstraps the `hevy-mcp` entry in your client config without manual JSON edits.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Preserve server name

This command does not create the hevy-mcp entry described below it. add-mcp infers the server name as hevy for the hevy-mcp package, so users following this section get a different config key than the Claude and Cursor examples above. Passing --name hevy-mcp keeps the generated entry name consistent with the docs.

Suggested change
```bash
npx add-mcp hevy-mcp --env "HEVY_API_KEY=secret"
```
This bootstraps the `hevy-mcp` entry in your client config without manual JSON edits.
```bash
npx add-mcp hevy-mcp --name hevy-mcp --env "HEVY_API_KEY=secret"

This bootstraps the hevy-mcp entry in your client config without manual JSON edits.


Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

<details><summary><strong>Artifacts</strong></summary><br />

**[Repro: isolated add-mcp command harness](https://app.greptile.com/trex/artifacts/f1d87861-7ad4-4d19-833d-7c3afa6052e0)**

- Contains supporting evidence from the run (text/x-shellscript; charset=utf-8).

**[Repro: add-mcp output and generated config showing inferred and explicit server keys](https://app.greptile.com/trex/artifacts/6e67e97b-ca29-408c-a22a-9ecda6f4bc00)**

- Keeps the command output available without making the summary code-heavy.

<a href="https://app.greptile.com/trex/runs/11876853/artifacts?artifact=f1d87861-7ad4-4d19-833d-7c3afa6052e0"><picture><source media="(prefers-color-scheme: dark)" srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewArtifactsDark.svg?v=1"><source media="(prefers-color-scheme: light)" srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewArtifacts.svg?v=1"><img alt="View artifacts" src="https://greptile-static-assets.s3.amazonaws.com/badges/ViewArtifacts.svg?v=1" height="32"></picture></a>
</details>

<sub><a href="https://www.greptile.com/trex"><img alt="T-Rex" src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg" height="14" align="absmiddle"></a> Ran code and verified through T-Rex</sub>

@chrisdoc
chrisdoc merged commit e61eacb into main Jun 23, 2026
19 checks passed
aaearon added a commit to aaearon/hevy-mcp that referenced this pull request Jun 24, 2026
* chore(deps-dev): bump the development-dependencies group across 1 directory with 8 updates (chrisdoc#335)

Bumps the development-dependencies group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.1` | `21.0.2` |
| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.51.0` | `0.53.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.66.0` | `1.68.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.2` |
| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |



Updates `@commitlint/cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/prompt-cli)

Updates `lefthook` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/evilmartians/lefthook/releases)
- [Changelog](https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md)
- [Commits](evilmartians/lefthook@v2.1.8...v2.1.9)

Updates `oxfmt` from 0.51.0 to 0.53.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.53.0/npm/oxfmt)

Updates `oxlint` from 1.66.0 to 1.68.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.68.0/npm/oxlint)

Updates `tsdown` from 0.22.0 to 0.22.2
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.0...v0.22.2)

Updates `tsx` from 4.22.3 to 4.22.4
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](privatenumber/tsx@v4.22.3...v4.22.4)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: lefthook
  dependency-version: 2.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.68.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: tsx
  dependency-version: 4.22.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.17 [skip ci]

## [1.23.17](chrisdoc/hevy-mcp@v1.23.16...v1.23.17) (2026-06-04)

* chore(deps): bump hono from 4.12.18 to 4.12.23 (chrisdoc#336)

Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.18...v4.12.23)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.18 [skip ci]

## [1.23.18](chrisdoc/hevy-mcp@v1.23.17...v1.23.18) (2026-06-04)

* chore(deps): bump codecov/codecov-action (chrisdoc#337)

Bumps the observability-actions group with 1 update: [codecov/codecov-action](https://github.com/codecov/codecov-action).


Updates `codecov/codecov-action` from 6 to 7
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v6...v7)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: observability-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.19 [skip ci]

## [1.23.19](chrisdoc/hevy-mcp@v1.23.18...v1.23.19) (2026-06-09)

* chore(deps): bump the production-dependencies group with 7 updates (chrisdoc#338)

Bumps the production-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.37.9` | `4.37.12` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.37.9` | `4.37.12` |


Updates `@kubb/cli` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.37.12/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.37.12/packages/cli)

Updates `@kubb/core` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.37.12/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.37.12/packages/core)

Updates `@kubb/plugin-client` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.37.12/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.37.12/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.37.12/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.37.12/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.37.12/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.37.12/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.37.12/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.37.12/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.37.12/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.37.12/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.20 [skip ci]

## [1.23.20](chrisdoc/hevy-mcp@v1.23.19...v1.23.20) (2026-06-09)

* chore(deps-dev): bump the development-dependencies group with 3 updates (chrisdoc#339)

Bumps the development-dependencies group with 3 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) and [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint).


Updates `@types/node` from 25.9.1 to 25.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.53.0 to 0.54.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.54.0/npm/oxfmt)

Updates `oxlint` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.69.0/npm/oxlint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.54.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.69.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.21 [skip ci]

## [1.23.21](chrisdoc/hevy-mcp@v1.23.20...v1.23.21) (2026-06-09)

* chore(deps): bump shell-quote from 1.8.3 to 1.8.4 (chrisdoc#340)

Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.3 to 1.8.4.
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](ljharb/shell-quote@v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.22 [skip ci]

## [1.23.22](chrisdoc/hevy-mcp@v1.23.21...v1.23.22) (2026-06-10)

* chore(deps-dev): bump esbuild from 0.28.0 to 0.28.1 (chrisdoc#343)

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.28.0 to 0.28.1.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.28.0...v0.28.1)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.28.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.23 [skip ci]

## [1.23.23](chrisdoc/hevy-mcp@v1.23.22...v1.23.23) (2026-06-13)

* Add tool annotations and fix body measurement payload handling (chrisdoc#342)

* fix: move dev-only kubb packages to devDependencies

Six @kubb/* packages were declared as runtime dependencies but are only
used by `npm run build:client` (kubb generate). Keeping them in
dependencies made `npx hevy-mcp` installs resolve their caret ranges
directly, which broke whenever an unpublished @kubb version was
referenced (chrisdoc#322). Only @kubb/plugin-client is imported at runtime by
the generated client, so it stays in dependencies.

Also syncs package-lock.json, which was missing yaml@2.9.0.

Fixes chrisdoc#322

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: accept partial body measurement inputs

Two bugs prevented valid body measurement writes (chrisdoc#341):

- Measurement fields used strict z.number(), rejecting numeric strings
  like "81.5" that some MCP clients send. They now use
  z.coerce.number() like the other tools, while null/undefined still
  short-circuit before coercion.
- buildMeasurementPayload() forwarded every omitted field as null,
  which the Hevy API rejects. Nullish fields are now omitted from the
  payload entirely, for both create and update.

Fixes chrisdoc#341

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add get-user-info tool

Exposes the Hevy API's GET /v1/user/info endpoint, which existed in the
generated client but had no MCP tool. Returns the authenticated user's
ID, display name, and public profile URL — useful for verifying which
account an API key belongs to.

Also refreshes the README tools table, which was stale
(get-routine-by-id, missing body measurement and exercise template
tools).

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add MCP tool annotations to all tools

Every tool now declares title, readOnlyHint, destructiveHint,
idempotentHint, and openWorldHint so MCP clients can render tools
properly and decide when calls are safe to auto-approve:

- get-*/search-* tools are marked read-only
- create-* tools are non-destructive, non-idempotent writes
- update-* tools are destructive (PUT-style overwrites) and idempotent
- delete-webhook-subscription is destructive and idempotent
- openWorldHint is false everywhere since the Hevy API is a closed
  domain limited to the authenticated user's data

Shared annotation factories live in src/utils/tool-annotations.ts and a
new annotations.test.ts asserts the policy for all 26 tools. Test
helpers now extract handlers position-independently so the added
registration argument doesn't break them.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: harden body measurement input edge cases

Addresses PR chrisdoc#342 review feedback:

- Empty strings are treated as omitted instead of being coerced to 0
  by z.coerce.number().
- update-body-measurement now rejects calls without at least one
  non-null measurement field instead of sending an empty PUT body.
- Tool descriptions document that null values are treated as omitted,
  since the Hevy API rejects nulls and has no way to clear individual
  fields.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

---------

Co-authored-by: Claude <noreply@anthropic.com>

* Hash Sentry user ID from Hevy API key (chrisdoc#345)

* fix: hash sentry user identifiers

* fix: avoid CodeQL API key hash alert

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* ci: add commitlint check to github workflow and unify agent instructions

* chore: trigger release

* chore(release): 1.23.24 [skip ci]

## [1.23.24](chrisdoc/hevy-mcp@v1.23.23...v1.23.24) (2026-06-15)

* chore: update dependencies

* feat: fix sentry

* chore(release): 1.24.0 [skip ci]

# [1.24.0](chrisdoc/hevy-mcp@v1.23.24...v1.24.0) (2026-06-15)

### Features

* fix sentry ([728d9a0](chrisdoc@728d9a0))

* build: rebuild package with correct version on publish

* chore(deps): bump form-data from 4.0.5 to 4.0.6 (chrisdoc#346)

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.24.1 [skip ci]

## [1.24.1](chrisdoc/hevy-mcp@v1.24.0...v1.24.1) (2026-06-15)

* fix: align sentry release name with project@version pattern

* chore(release): 1.24.2 [skip ci]

## [1.24.2](chrisdoc/hevy-mcp@v1.24.1...v1.24.2) (2026-06-15)

### Bug Fixes

* align sentry release name with project@version pattern ([fa9613f](chrisdoc@fa9613f))

* feat: add MCP lifecycle and stdio parse observability (chrisdoc#348)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.0 [skip ci]

# [1.25.0](chrisdoc/hevy-mcp@v1.24.2...v1.25.0) (2026-06-16)

### Features

* add MCP lifecycle and stdio parse observability ([chrisdoc#348](chrisdoc#348)) ([f7a816b](chrisdoc@f7a816b))

* Install docs-drift-maintainer daemon (chrisdoc#349)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-merge-conflict-repair daemon (chrisdoc#350)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-metadata daemon (chrisdoc#352)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-check-repair daemon (chrisdoc#351)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* chore: ignore .agents directory in oxlint and oxfmt

* chore(release): 1.25.1 [skip ci]

## [1.25.1](chrisdoc/hevy-mcp@v1.25.0...v1.25.1) (2026-06-17)

* build: upgrade Node.js requirement to 26

* docs: document recent sentry observability changes (chrisdoc#353)

* docs: document recent sentry observability changes

* build: include .agents files in project checks

* Revert "build: include .agents files in project checks"

This reverts commit e8211d4.

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.2 [skip ci]

## [1.25.2](chrisdoc/hevy-mcp@v1.25.1...v1.25.2) (2026-06-17)

* chore(deps): bump hono from 4.12.23 to 4.12.25 (chrisdoc#354)

Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.25.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.23...v4.12.25)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.25
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.3 [skip ci]

## [1.25.3](chrisdoc/hevy-mcp@v1.25.2...v1.25.3) (2026-06-17)

* fix: remove kubb plugin-client from runtime deps (chrisdoc#356)

* chore(release): 1.25.4 [skip ci]

## [1.25.4](chrisdoc/hevy-mcp@v1.25.3...v1.25.4) (2026-06-19)

### Bug Fixes

* remove kubb plugin-client from runtime deps ([chrisdoc#356](chrisdoc#356)) ([61077ae](chrisdoc@61077ae))

* chore(deps-dev): bump undici from 6.24.1 to 6.27.0 (chrisdoc#357)

Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.24.1...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.5 [skip ci]

## [1.25.5](chrisdoc/hevy-mcp@v1.25.4...v1.25.5) (2026-06-19)

* Add triage-sentry-issues daemon (chrisdoc#359)

* feat(agents): add triage-sentry-issues daemon

* fix(daemon): watch for new sentry issues

* Apply suggestions from code review

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* chore(deps): bump actions/checkout in the github-core-actions group (chrisdoc#362)

Bumps the github-core-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-core-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.6 [skip ci]

## [1.25.6](chrisdoc/hevy-mcp@v1.25.5...v1.25.6) (2026-06-23)

* chore(deps): bump the production-dependencies group with 2 updates (chrisdoc#363)

Bumps the production-dependencies group with 2 updates: [@sentry/node](https://github.com/getsentry/sentry-javascript) and [axios](https://github.com/axios/axios).


Updates `@sentry/node` from 10.58.0 to 10.59.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.58.0...10.59.0)

Updates `axios` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: axios
  dependency-version: 1.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.7 [skip ci]

## [1.25.7](chrisdoc/hevy-mcp@v1.25.6...v1.25.7) (2026-06-23)

* chore(deps-dev): bump the development-dependencies group with 11 updates (chrisdoc#364)

Bumps the development-dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.38.0` | `4.39.1` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.38.0` | `4.39.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.3` | `26.0.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.55.0` | `0.56.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.70.0` | `1.71.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.2` | `0.22.3` |


Updates `@kubb/cli` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.1/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.1/packages/cli)

Updates `@kubb/core` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.1/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.1/packages/core)

Updates `@kubb/plugin-client` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.1/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.1/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.1/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.1/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.1/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.1/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.1/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.1/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.1/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.1/packages/plugin-zod)

Updates `@types/node` from 25.9.3 to 26.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.55.0 to 0.56.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.56.0/npm/oxfmt)

Updates `oxlint` from 1.70.0 to 1.71.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.71.0/npm/oxlint)

Updates `tsdown` from 0.22.2 to 0.22.3
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.2...v0.22.3)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.71.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.8 [skip ci]

## [1.25.8](chrisdoc/hevy-mcp@v1.25.7...v1.25.8) (2026-06-23)

* chore: simplify dependabot grouping and weekly schedule (chrisdoc#366)

* chore(release): 1.25.9 [skip ci]

## [1.25.9](chrisdoc/hevy-mcp@v1.25.8...v1.25.9) (2026-06-23)

* chore(deps): bump @sentry/node in the production-dependencies group (chrisdoc#367)

Bumps the production-dependencies group with 1 update: [@sentry/node](https://github.com/getsentry/sentry-javascript).


Updates `@sentry/node` from 10.59.0 to 10.60.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.59.0...10.60.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the development-dependencies group with 10 updates (chrisdoc#368)

Bumps the development-dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.2` | `21.1.0` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.2` | `21.1.0` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.2` | `21.1.0` |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.39.1` | `4.39.2` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.39.1` | `4.39.2` |


Updates `@commitlint/cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/prompt-cli)

Updates `@kubb/cli` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.2/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.2/packages/cli)

Updates `@kubb/core` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.2/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.2/packages/core)

Updates `@kubb/plugin-client` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.2/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.2/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.2/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.2/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.2/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.2/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.2/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.2/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.2/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.2/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.10 [skip ci]

## [1.25.10](chrisdoc/hevy-mcp@v1.25.9...v1.25.10) (2026-06-23)

* docs: add add-mcp setup instructions to README (chrisdoc#361)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.11 [skip ci]

## [1.25.11](chrisdoc/hevy-mcp@v1.25.10...v1.25.11) (2026-06-23)

* chore(release): include all semantic commit types in notes (chrisdoc#370)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.12 [skip ci]

## [1.25.12](chrisdoc/hevy-mcp@v1.25.11...v1.25.12) (2026-06-24)

* feat: make Sentry telemetry opt-in via SENTRY_DSN

Sentry only initializes when SENTRY_DSN is set, so neither the published
package nor this fork sends telemetry by default. Removes the hardcoded
upstream DSN (which sent fork users' errors/usage to upstream's project).

Add SENTRY_RELEASE and SENTRY_TRACES_SAMPLE_RATE overrides, tests for the
opt-in behavior, and docs in README/AGENTS.md.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>
Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
aaearon added a commit to aaearon/hevy-mcp that referenced this pull request Jun 24, 2026
* chore(deps-dev): bump the development-dependencies group across 1 directory with 8 updates (chrisdoc#335)

Bumps the development-dependencies group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.1` | `21.0.2` |
| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.51.0` | `0.53.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.66.0` | `1.68.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.2` |
| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |



Updates `@commitlint/cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/prompt-cli)

Updates `lefthook` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/evilmartians/lefthook/releases)
- [Changelog](https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md)
- [Commits](evilmartians/lefthook@v2.1.8...v2.1.9)

Updates `oxfmt` from 0.51.0 to 0.53.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.53.0/npm/oxfmt)

Updates `oxlint` from 1.66.0 to 1.68.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.68.0/npm/oxlint)

Updates `tsdown` from 0.22.0 to 0.22.2
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.0...v0.22.2)

Updates `tsx` from 4.22.3 to 4.22.4
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](privatenumber/tsx@v4.22.3...v4.22.4)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: lefthook
  dependency-version: 2.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.68.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: tsx
  dependency-version: 4.22.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.17 [skip ci]

## [1.23.17](chrisdoc/hevy-mcp@v1.23.16...v1.23.17) (2026-06-04)

* chore(deps): bump hono from 4.12.18 to 4.12.23 (chrisdoc#336)

Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.18...v4.12.23)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.18 [skip ci]

## [1.23.18](chrisdoc/hevy-mcp@v1.23.17...v1.23.18) (2026-06-04)

* chore(deps): bump codecov/codecov-action (chrisdoc#337)

Bumps the observability-actions group with 1 update: [codecov/codecov-action](https://github.com/codecov/codecov-action).


Updates `codecov/codecov-action` from 6 to 7
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v6...v7)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: observability-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.19 [skip ci]

## [1.23.19](chrisdoc/hevy-mcp@v1.23.18...v1.23.19) (2026-06-09)

* chore(deps): bump the production-dependencies group with 7 updates (chrisdoc#338)

Bumps the production-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.37.9` | `4.37.12` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.37.9` | `4.37.12` |


Updates `@kubb/cli` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.37.12/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.37.12/packages/cli)

Updates `@kubb/core` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.37.12/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.37.12/packages/core)

Updates `@kubb/plugin-client` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.37.12/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.37.12/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.37.12/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.37.12/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.37.12/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.37.12/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.37.12/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.37.12/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.37.12/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.37.12/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.20 [skip ci]

## [1.23.20](chrisdoc/hevy-mcp@v1.23.19...v1.23.20) (2026-06-09)

* chore(deps-dev): bump the development-dependencies group with 3 updates (chrisdoc#339)

Bumps the development-dependencies group with 3 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) and [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint).


Updates `@types/node` from 25.9.1 to 25.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.53.0 to 0.54.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.54.0/npm/oxfmt)

Updates `oxlint` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.69.0/npm/oxlint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.54.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.69.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.21 [skip ci]

## [1.23.21](chrisdoc/hevy-mcp@v1.23.20...v1.23.21) (2026-06-09)

* chore(deps): bump shell-quote from 1.8.3 to 1.8.4 (chrisdoc#340)

Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.3 to 1.8.4.
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](ljharb/shell-quote@v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.22 [skip ci]

## [1.23.22](chrisdoc/hevy-mcp@v1.23.21...v1.23.22) (2026-06-10)

* chore(deps-dev): bump esbuild from 0.28.0 to 0.28.1 (chrisdoc#343)

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.28.0 to 0.28.1.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.28.0...v0.28.1)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.28.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.23 [skip ci]

## [1.23.23](chrisdoc/hevy-mcp@v1.23.22...v1.23.23) (2026-06-13)

* Add tool annotations and fix body measurement payload handling (chrisdoc#342)

* fix: move dev-only kubb packages to devDependencies

Six @kubb/* packages were declared as runtime dependencies but are only
used by `npm run build:client` (kubb generate). Keeping them in
dependencies made `npx hevy-mcp` installs resolve their caret ranges
directly, which broke whenever an unpublished @kubb version was
referenced (chrisdoc#322). Only @kubb/plugin-client is imported at runtime by
the generated client, so it stays in dependencies.

Also syncs package-lock.json, which was missing yaml@2.9.0.

Fixes chrisdoc#322

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: accept partial body measurement inputs

Two bugs prevented valid body measurement writes (chrisdoc#341):

- Measurement fields used strict z.number(), rejecting numeric strings
  like "81.5" that some MCP clients send. They now use
  z.coerce.number() like the other tools, while null/undefined still
  short-circuit before coercion.
- buildMeasurementPayload() forwarded every omitted field as null,
  which the Hevy API rejects. Nullish fields are now omitted from the
  payload entirely, for both create and update.

Fixes chrisdoc#341

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add get-user-info tool

Exposes the Hevy API's GET /v1/user/info endpoint, which existed in the
generated client but had no MCP tool. Returns the authenticated user's
ID, display name, and public profile URL — useful for verifying which
account an API key belongs to.

Also refreshes the README tools table, which was stale
(get-routine-by-id, missing body measurement and exercise template
tools).

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add MCP tool annotations to all tools

Every tool now declares title, readOnlyHint, destructiveHint,
idempotentHint, and openWorldHint so MCP clients can render tools
properly and decide when calls are safe to auto-approve:

- get-*/search-* tools are marked read-only
- create-* tools are non-destructive, non-idempotent writes
- update-* tools are destructive (PUT-style overwrites) and idempotent
- delete-webhook-subscription is destructive and idempotent
- openWorldHint is false everywhere since the Hevy API is a closed
  domain limited to the authenticated user's data

Shared annotation factories live in src/utils/tool-annotations.ts and a
new annotations.test.ts asserts the policy for all 26 tools. Test
helpers now extract handlers position-independently so the added
registration argument doesn't break them.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: harden body measurement input edge cases

Addresses PR chrisdoc#342 review feedback:

- Empty strings are treated as omitted instead of being coerced to 0
  by z.coerce.number().
- update-body-measurement now rejects calls without at least one
  non-null measurement field instead of sending an empty PUT body.
- Tool descriptions document that null values are treated as omitted,
  since the Hevy API rejects nulls and has no way to clear individual
  fields.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

---------

Co-authored-by: Claude <noreply@anthropic.com>

* Hash Sentry user ID from Hevy API key (chrisdoc#345)

* fix: hash sentry user identifiers

* fix: avoid CodeQL API key hash alert

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* ci: add commitlint check to github workflow and unify agent instructions

* chore: trigger release

* chore(release): 1.23.24 [skip ci]

## [1.23.24](chrisdoc/hevy-mcp@v1.23.23...v1.23.24) (2026-06-15)

* chore: update dependencies

* feat: fix sentry

* chore(release): 1.24.0 [skip ci]

# [1.24.0](chrisdoc/hevy-mcp@v1.23.24...v1.24.0) (2026-06-15)

### Features

* fix sentry ([728d9a0](chrisdoc@728d9a0))

* build: rebuild package with correct version on publish

* chore(deps): bump form-data from 4.0.5 to 4.0.6 (chrisdoc#346)

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.24.1 [skip ci]

## [1.24.1](chrisdoc/hevy-mcp@v1.24.0...v1.24.1) (2026-06-15)

* fix: align sentry release name with project@version pattern

* chore(release): 1.24.2 [skip ci]

## [1.24.2](chrisdoc/hevy-mcp@v1.24.1...v1.24.2) (2026-06-15)

### Bug Fixes

* align sentry release name with project@version pattern ([fa9613f](chrisdoc@fa9613f))

* feat: add MCP lifecycle and stdio parse observability (chrisdoc#348)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.0 [skip ci]

# [1.25.0](chrisdoc/hevy-mcp@v1.24.2...v1.25.0) (2026-06-16)

### Features

* add MCP lifecycle and stdio parse observability ([chrisdoc#348](chrisdoc#348)) ([f7a816b](chrisdoc@f7a816b))

* Install docs-drift-maintainer daemon (chrisdoc#349)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-merge-conflict-repair daemon (chrisdoc#350)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-metadata daemon (chrisdoc#352)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-check-repair daemon (chrisdoc#351)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* chore: ignore .agents directory in oxlint and oxfmt

* chore(release): 1.25.1 [skip ci]

## [1.25.1](chrisdoc/hevy-mcp@v1.25.0...v1.25.1) (2026-06-17)

* build: upgrade Node.js requirement to 26

* docs: document recent sentry observability changes (chrisdoc#353)

* docs: document recent sentry observability changes

* build: include .agents files in project checks

* Revert "build: include .agents files in project checks"

This reverts commit e8211d4.

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.2 [skip ci]

## [1.25.2](chrisdoc/hevy-mcp@v1.25.1...v1.25.2) (2026-06-17)

* chore(deps): bump hono from 4.12.23 to 4.12.25 (chrisdoc#354)

Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.25.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.23...v4.12.25)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.25
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.3 [skip ci]

## [1.25.3](chrisdoc/hevy-mcp@v1.25.2...v1.25.3) (2026-06-17)

* fix: remove kubb plugin-client from runtime deps (chrisdoc#356)

* chore(release): 1.25.4 [skip ci]

## [1.25.4](chrisdoc/hevy-mcp@v1.25.3...v1.25.4) (2026-06-19)

### Bug Fixes

* remove kubb plugin-client from runtime deps ([chrisdoc#356](chrisdoc#356)) ([61077ae](chrisdoc@61077ae))

* chore(deps-dev): bump undici from 6.24.1 to 6.27.0 (chrisdoc#357)

Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.24.1...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.5 [skip ci]

## [1.25.5](chrisdoc/hevy-mcp@v1.25.4...v1.25.5) (2026-06-19)

* Add triage-sentry-issues daemon (chrisdoc#359)

* feat(agents): add triage-sentry-issues daemon

* fix(daemon): watch for new sentry issues

* Apply suggestions from code review

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* chore(deps): bump actions/checkout in the github-core-actions group (chrisdoc#362)

Bumps the github-core-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-core-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.6 [skip ci]

## [1.25.6](chrisdoc/hevy-mcp@v1.25.5...v1.25.6) (2026-06-23)

* chore(deps): bump the production-dependencies group with 2 updates (chrisdoc#363)

Bumps the production-dependencies group with 2 updates: [@sentry/node](https://github.com/getsentry/sentry-javascript) and [axios](https://github.com/axios/axios).


Updates `@sentry/node` from 10.58.0 to 10.59.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.58.0...10.59.0)

Updates `axios` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: axios
  dependency-version: 1.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.7 [skip ci]

## [1.25.7](chrisdoc/hevy-mcp@v1.25.6...v1.25.7) (2026-06-23)

* chore(deps-dev): bump the development-dependencies group with 11 updates (chrisdoc#364)

Bumps the development-dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.38.0` | `4.39.1` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.38.0` | `4.39.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.3` | `26.0.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.55.0` | `0.56.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.70.0` | `1.71.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.2` | `0.22.3` |


Updates `@kubb/cli` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.1/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.1/packages/cli)

Updates `@kubb/core` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.1/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.1/packages/core)

Updates `@kubb/plugin-client` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.1/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.1/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.1/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.1/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.1/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.1/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.1/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.1/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.1/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.1/packages/plugin-zod)

Updates `@types/node` from 25.9.3 to 26.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.55.0 to 0.56.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.56.0/npm/oxfmt)

Updates `oxlint` from 1.70.0 to 1.71.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.71.0/npm/oxlint)

Updates `tsdown` from 0.22.2 to 0.22.3
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.2...v0.22.3)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.71.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.8 [skip ci]

## [1.25.8](chrisdoc/hevy-mcp@v1.25.7...v1.25.8) (2026-06-23)

* chore: simplify dependabot grouping and weekly schedule (chrisdoc#366)

* chore(release): 1.25.9 [skip ci]

## [1.25.9](chrisdoc/hevy-mcp@v1.25.8...v1.25.9) (2026-06-23)

* chore(deps): bump @sentry/node in the production-dependencies group (chrisdoc#367)

Bumps the production-dependencies group with 1 update: [@sentry/node](https://github.com/getsentry/sentry-javascript).


Updates `@sentry/node` from 10.59.0 to 10.60.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.59.0...10.60.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the development-dependencies group with 10 updates (chrisdoc#368)

Bumps the development-dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.2` | `21.1.0` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.2` | `21.1.0` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.2` | `21.1.0` |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.39.1` | `4.39.2` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.39.1` | `4.39.2` |


Updates `@commitlint/cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/prompt-cli)

Updates `@kubb/cli` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.2/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.2/packages/cli)

Updates `@kubb/core` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.2/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.2/packages/core)

Updates `@kubb/plugin-client` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.2/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.2/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.2/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.2/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.2/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.2/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.2/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.2/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.2/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.2/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.10 [skip ci]

## [1.25.10](chrisdoc/hevy-mcp@v1.25.9...v1.25.10) (2026-06-23)

* docs: add add-mcp setup instructions to README (chrisdoc#361)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.11 [skip ci]

## [1.25.11](chrisdoc/hevy-mcp@v1.25.10...v1.25.11) (2026-06-23)

* chore(release): include all semantic commit types in notes (chrisdoc#370)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.12 [skip ci]

## [1.25.12](chrisdoc/hevy-mcp@v1.25.11...v1.25.12) (2026-06-24)

* feat: declare outputSchema and return structuredContent for tools

Migrate all JSON-returning MCP tools from server.tool to server.registerTool
with a declared outputSchema, and return structuredContent alongside the text
content. Modern MCP clients (e.g. claude.ai Connectors) get a typed, validated
structured channel.

- formatters.ts: Zod schemas are now the source of truth; FormattedX types are
  derived via z.infer, so formatter/schema drift fails at compile time.
- response-formatter.ts: createJsonResponse also emits structuredContent for
  object payloads (arrays/primitives unchanged for back-compat).
- Each tool wraps its payload in a named key matching its outputSchema key;
  empty lists return the wrapped empty array; not-found/failure paths throw
  (becoming isError responses the SDK does not output-validate); plain-text
  tools keep no outputSchema.
- Add src/tools/output-schema-validation.test.ts: drives every schema-bearing
  tool's success path and asserts structuredContent validates against its
  declared outputSchema (the SDK check that per-tool unit tests skip).
- Docs: AGENTS.md tool-implementation pattern updated.

270 unit tests pass; check:types, oxlint/oxfmt, and build all green.

* test(integration): assert wrapped get-workouts shape and structuredContent

get-workouts now returns { workouts: [...] } with a matching outputSchema; the
integration test (real McpServer + InMemoryTransport) validates the workouts
array and that structuredContent mirrors the text content. Verified against the
live Hevy API.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>
Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve readme

2 participants