io.github.CloudCorpRecords/freshcheck
Assess dependency staleness: behind level per dependency, grouped by risk from abandoned to current.
Que pouvez-vous faire avec io.github.CloudCorpRecords/freshcheck ?
assess_freshness— Assess how stale a dependency tree
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
@reneturcios/freshcheckclaude mcp add freshcheck -- npx -y @reneturcios/freshcheck@0.1.0 mcp
{
"mcpServers": {
"freshcheck": {
"command": "npx",
"args": [
"-y",
"@reneturcios/freshcheck@0.1.0",
"mcp"
]
}
}
}
ghcr.io/cloudcorprecords/freshcheck:0.1.0claude mcp add freshcheck -- docker run -i --rm ghcr.io/cloudcorprecords/freshcheck:0.1.0 mcp
{
"mcpServers": {
"freshcheck": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/cloudcorprecords/freshcheck:0.1.0",
"mcp"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
freshcheck
A dependency tree quietly ages. Some packages are a patch behind and can be bumped without a thought, some are a major version behind and need a planned upgrade, and some have not released anything in years — or their repository has been archived outright — and are a risk whatever version they are on. freshcheck takes the tree you have — each dependency's name, installed version, and latest available version, with optional abandonment signals — and sorts it into exactly those risk groups:
- Behind level — for every dependency,
currentandlatestare compared component by component, numerically. The first component that differs decides:major,minor, orpatch. Whenlatestis not ahead ofcurrent— equal, or even behind it — the level isnone. Versions must be strictMAJOR.MINOR.PATCHsemver: three numeric components, no leading zeros, no prerelease or build suffix. - Abandoned — a dependency counts as abandoned when
its repository is archived, or when it has gone at least
abandoned_dayswithout a release (default 730, measured by the optionaldays_since_last_release). Abandonment outranks the version gap: an archived package two majors behind is groupedabandoned, with its behind level still reported alongside so the size of the gap is not lost. - Groups and counts — every dependency lands in one
group —
abandoned,major,minor,patch, orcurrent(behind levelnone, not abandoned) — and the result carries the names in each group plus the group sizes and the overall total.
Every list in the result is sorted ascending, so the same
tree always yields exactly the same assessment. Malformed
input — a missing or empty dependency list, a missing,
empty, or duplicate name, a version that is not strict
semver, a wrongly typed signal — is a validation error
naming the offending path (for example
dependencies[1].latest must be a strict MAJOR.MINOR.PATCH
semver version), and no partial assessment is produced.
The computation is pure and local: no network, no
registry lookups, no files read beyond the input you pass
in — freshcheck judges only the versions and signals you
supply.
CLI
npx @reneturcios/freshcheck assess --input args.json
npx @reneturcios/freshcheck --version
args.json contains the full arguments object:
{
"dependencies": [
{ "name": "core", "current": "2.0.0", "latest": "2.0.0" },
{ "name": "lib", "current": "1.9.0", "latest": "1.10.2" },
{ "name": "old", "current": "0.8.1", "latest": "3.0.0", "archived": true }
]
}
archived defaults to false per dependency, and
abandoned_days defaults to 730 for the whole call.
The assessment is printed as JSON:
{
"dependencies": [
{ "name": "core", "current": "2.0.0", "latest": "2.0.0", "behind": "none", "group": "current" },
{ "name": "lib", "current": "1.9.0", "latest": "1.10.2", "behind": "minor", "group": "minor" },
{ "name": "old", "current": "0.8.1", "latest": "3.0.0", "behind": "major", "group": "abandoned" }
],
"groups": {
"abandoned": ["old"],
"major": [],
"minor": ["lib"],
"patch": [],
"current": ["core"]
},
"counts": { "abandoned": 1, "major": 0, "minor": 1, "patch": 0, "current": 1, "total": 3 }
}
Note lib: 1.10.2 is a minor step ahead of 1.9.0 because
components compare numerically, not lexicographically.
Exit codes: 0 on success, 1 on a runtime error
(including an unreadable or invalid input file, or invalid
input), 2 on a usage error.
MCP server
npx -y @reneturcios/freshcheck mcp
MCP client config:
{
"mcpServers": {
"freshcheck": {
"command": "npx",
"args": ["-y", "@reneturcios/freshcheck", "mcp"]
}
}
}
Tools
assess_freshness— Assess how stale a dependency tree is, grouped by risk.dependencies(array, required, at least one) — dependencies as{name, current, latest, archived?, days_since_last_release?}objects;nameis unique across the set, andcurrent/latestare strictMAJOR.MINOR.PATCHsemver versionsabandoned_days(integer, optional, default 730, at least 1) — days without a release at which a dependency counts as abandoned
Returns
{dependencies, groups, counts}.
Docker
docker run -i ghcr.io/cloudcorprecords/freshcheck
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/freshcheck assess --input /w/args.json
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (pure local, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
Questions fréquentes
Qu'est-ce que io.github.CloudCorpRecords/freshcheck ?
Assess dependency staleness: behind level per dependency, grouped by risk from abandoned to current.
Comment installer io.github.CloudCorpRecords/freshcheck ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add freshcheck -- npx -y @reneturcios/freshcheck@0.1.0 mcp. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.CloudCorpRecords/freshcheck ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.CloudCorpRecords/freshcheck est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.CloudCorpRecords/freshcheck ?
Il est publié par CloudCorpRecords. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.