Skip to main content
Glama
Knuckles-Team

Repository Manager

Build

rm_projects_build

Install, build, and validate Python projects in bulk; run validation as a background job and poll status by job ID.

Instructions

Build (rm_projects). Bulk install, build, and validate Python projects.

The 'validate' action submits validation as a background job and returns a job_id immediately. Use 'validate_status' with that job_id to poll progress and retrieve results once complete.

Input Schema

NameRequiredDescriptionDefault
extraNoInstall group (e.g. 'all') for 'install'.all
job_idNoJob ID to check status for 'validate_status' action.
summaryNoFor 'validate'/'validate_status': return a COMPACT roll-up (counts + failed set + running names) instead of the full per-job dump. Keeps responses inline-returnable at thousands of repos. Set False for the full per-job detail.
threadsNoParallel workers.
auto_bumpNoAutomatically run phased_bumpversion if validation passes. Begins at the lowest phase that has repository changes (and cascades to every later phase), skipping unchanged upstream phases.
auto_pushNoAutomatically run phased_push if validation passes. Begins at the lowest phase with unpushed work, skipping the inter-phase waits of unchanged upstream phases.
bump_partNoThe part of the version to bump (e.g. minor, patch, major) if auto_bump is used.minor
output_dirNoDirectory to write the validation-reports for 'validate'.
commit_codeNoFor 'validate': after validation passes and BEFORE the version bump, concurrently stage (git add -A), run pre-commit, and commit feature code across ALL targeted repos. Ensures untracked/new files are committed (not left for the push safety net). The bump then waits on this step. Use with commit_message.
failed_onlyNoFor 'validate': target ONLY repositories whose most-recent validation failed (the remediation loop). Ignored if 'repositories' is given. Forces re-validation of that set.
repositoriesNoComma-separated list of specific repositories to target.
commit_messageNoCommit message for the commit_code step. Required when commit_code=True.
generate_reportNoGenerate validation report directory for 'validate'. Default True.
prune_worktreesNoFor 'validate' with auto_bump/auto_push: after the release, prune session worktrees already merged into main (and dangling admin pointers). DESTRUCTIVE. Default False — the release still runs the audit and REPORTS the safe_to_prune/do_not_disturb classification under 'worktree_hygiene_job_id' WITHOUT deleting anything. Never touches active/in-flight or orphaned worktrees.
force_revalidateNoIf true, bypass validation cache and force re-validation of all projects.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.5.1

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false, destructive=false, idempotent=false, so the safety profile is partly covered. The description adds genuinely new behavioral context — that validation is asynchronous and returns a job_id for polling. It does not, however, mention the commit/bump/push side effects reachable via auto_bump, auto_push, and commit_code, nor the DESTRUCTIVE prune_worktrees option (that detail lives only in the schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core purpose front-loaded and no filler. The async polling note is relevant, though it partly duplicates what belongs to the validate_status sibling, slightly diluting the front-loaded purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the schema documents all 15 parameters, so the return-value burden is largely off the description. Still, for a large multi-mode tool the central question — how 'install', 'build', and 'validate' are triggered given there is no action parameter — is left unanswered, which is a meaningful completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the 15 parameters are well documented in the schema, so the baseline of 3 applies. The description only echoes the job_id polling use case and adds no format or behavioral detail about the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb set and resource ('Bulk install, build, and validate Python projects'), so the agent knows the general function. However, it never explains how the install/build/validate options are selected — there is no 'action' parameter in the schema — and it does not differentiate itself from the sibling tools rm_projects_install, rm_projects_validate, and rm_projects_validate_status, which appear to cover the same ground.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives useful flow guidance for one path: 'validate' returns a job_id and you poll it with 'validate_status'. But it offers no guidance on when to use install vs. build vs. validate, no prerequisites or ordering, and no when-not-to-use. The agent is left to infer the primary selection criterion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools