npm @trainheroic-unofficial/coach-mcp @1.2.0
score
0.6538
med
flagged
2026-06-22 17:29
Signals fired
| signal | weight | rationale |
|---|---|---|
| cadence | ||
| rapid_release | 0.8 | 5 versions in last 24h: ['0.6.5', '1.0.0', '1.1.0', '1.1.1', '1.2.0'] |
| topology | ||
| shared_repo_different_publisher | 0.9 | repo 'https://github.com/alandotcom/trainheroic-unofficial.git' also claimed by 5 package(s) under different publishers: ['npm/@trainheroic-unofficial/dto', 'npm/@trainheroic-unofficial/cli', 'npm/@trainheroic-unofficial/core'] ... |
Prior profile (what it deviated from)
{
"had_install_script": false,
"maintainers": [
"alanripple"
],
"versions": 16
}
Evidence (package doc at flag time)
{
"dependencies_count": 4,
"dist": {
"integrity": "sha512-VZNdZW//xBRnQybwEkPykl3ubNcpqLhfq9NOIdpkT87Y1QJ4cYukTw48rDk+Jz9WWQ+JtVLO03Bfc3aogLgMFQ==",
"tarball": "https://registry.npmjs.org/@trainheroic-unofficial/coach-mcp/-/coach-mcp-1.2.0.tgz",
"unpackedSize": 139745
},
"dist-tags": {
"latest": "1.2.0"
},
"latest_version": "1.2.0",
"maintainers": [
{
"email": "alan.mit@gmail.com",
"name": "alanripple"
}
],
"num_versions": 17,
"repository": {
"directory": "packages/coach-mcp",
"type": "git",
"url": "https://github.com/alandotcom/trainheroic-unofficial.git"
},
"scripts": {
"build": "tsdown",
"inspect": "npx @modelcontextprotocol/inspector -e TRAINHEROIC_EMAIL=\"$TRAINHEROIC_EMAIL\" -e TRAINHEROIC_PASSWORD=\"$TRAINHEROIC_PASSWORD\" tsx src/server.ts",
"start": "tsx src/server.ts",
"test": "vitest run --passWithNoTests",
"typecheck": "tsc --noEmit"
},
"signal_details": {
"rapid_release": "5 versions in last 24h: ['0.6.5', '1.0.0', '1.1.0', '1.1.1', '1.2.0']",
"shared_repo_different_publisher": "repo 'https://github.com/alandotcom/trainheroic-unofficial.git' also claimed by 5 package(s) under different publishers: ['npm/@trainheroic-unofficial/dto', 'npm/@trainheroic-unofficial/cli', 'npm/@trainheroic-unofficial/core'] ..."
},
"time": {
"created": "2026-06-20T17:34:45.028Z",
"modified": "2026-06-22T21:18:48.163Z"
}
}