io.github.CloudCorpRecords/artifactbloat

Registre officiel Autres

Actions artifact size tracker over time, per workflow: growth deltas and bloat flags.

Que pouvez-vous faire avec io.github.CloudCorpRecords/artifactbloat ?

  • track_artifact_sizes — Track Actions artifact sizes

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 »).

NPM package @reneturcios/artifactbloat
Claude Code
claude mcp add artifactbloat -- npx -y @reneturcios/artifactbloat@0.1.0 mcp
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "artifactbloat": {
            "command": "npx",
            "args": [
                "-y",
                "@reneturcios/artifactbloat@0.1.0",
                "mcp"
            ]
        }
    }
}
OCI package ghcr.io/cloudcorprecords/artifactbloat:0.1.0
Claude Code
claude mcp add artifactbloat -- docker run -i --rm ghcr.io/cloudcorprecords/artifactbloat:0.1.0 mcp
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "artifactbloat": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/cloudcorprecords/artifactbloat:0.1.0",
                "mcp"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. artifactbloat
  2. CLI
  3. MCP server
  4. Docker
  5. Development
  6. License

artifactbloat

Your CI artifacts quietly grow a few percent every week — until a workflow that used to upload a slim bundle is shipping something enormous and nobody can say when it happened. artifactbloat takes dated snapshots of artifact sizes, groups them per workflow, and shows the growth in plain numbers:

  • Per-workflow totals — snapshots ordered by date, with the first, last, and largest snapshot totals for every workflow
  • Growth deltas — the change from first to last snapshot in bytes and as a percentage (rounded to four decimal places; null when the first total is zero, so a workflow that started empty is never divided by zero)
  • Bloat flags — a workflow is flagged when its growth meets a threshold you choose (20 percent by default), boundary included; the flagged names are listed on their own and drive the verdict: growth_flagged when anything is flagged, steady otherwise
  • Per-artifact detail — for every artifact name a workflow ever produced: its size in the first snapshot and in the last, with null on either side when the artifact did not exist there (a new artifact, a removed one, or one seen only in between), and the byte delta when both sides exist
  • Overall totals — the summed first and last totals across all workflows

The computation is pure and local: no network, no configuration, no files read beyond the snapshots you pass in. Invalid input — a missing snapshot list, a snapshot without a workflow, a negative size, the same workflow captured twice on one date, or the same artifact twice in one snapshot — is rejected with an error naming the offending path, and no partial report is produced.

CLI

npx @reneturcios/artifactbloat track --input args.json
npx @reneturcios/artifactbloat --version

args.json contains the full arguments object:

{
  "snapshots": [
    {
      "workflow": "build",
      "date": "2026-01-01",
      "artifacts": [
        { "name": "app-bundle", "size_bytes": 1048576 },
        { "name": "source-maps", "size_bytes": 262144 }
      ]
    },
    {
      "workflow": "build",
      "date": "2026-02-01",
      "artifacts": [
        { "name": "app-bundle", "size_bytes": 1572864 },
        { "name": "source-maps", "size_bytes": 262144 }
      ]
    }
  ],
  "growth_threshold_percent": 20
}

growth_threshold_percent is optional and defaults to

  1. The report is printed as JSON.

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/artifactbloat mcp

MCP client config:

{
  "mcpServers": {
    "artifactbloat": {
      "command": "npx",
      "args": ["-y", "@reneturcios/artifactbloat", "mcp"]
    }
  }
}
Tools
  • track_artifact_sizes — Track Actions artifact sizes over time, per workflow.

    • snapshots (array, required, at least one) — snapshots as {workflow, date, artifacts} objects, where each artifact is {name, size_bytes} and date is the capture day, YYYY-MM-DD
    • growth_threshold_percent (number, optional, >= 0, default 20) — flag workflows whose total grew by at least this percent from first to last snapshot

    Returns {workflow_count, total_first_bytes, total_last_bytes, workflows, flagged_workflows, verdict}.

Docker

docker run -i ghcr.io/cloudcorprecords/artifactbloat
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/artifactbloat track --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/artifactbloat ?

Actions artifact size tracker over time, per workflow: growth deltas and bloat flags.

Comment installer io.github.CloudCorpRecords/artifactbloat ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add artifactbloat -- npx -y @reneturcios/artifactbloat@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/artifactbloat ?

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/artifactbloat est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.CloudCorpRecords/artifactbloat ?

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.