Skip to content

Releases: rogermt/mcp-repo-onboarding

Release 0.2.0: Phase 10 - Enhanced Polyglot Support

Choose a tag to compare

@rogermt rogermt released this 08 Jan 18:16

Release 0.2.0: Phase 10 - Enhanced Polyglot Support

Release Overview

We're excited to announce the release of mcp-repo-onboarding version 0.2.0, featuring the completion of Phase 10 with enhanced polyglot repository support and improved primary tooling detection.

What's New in Phase 10

Enhanced Primary Tooling Detection

  • Intelligent Language Detection: The system now intelligently determines if a repository is primarily Python, Node.js, or mixed based on evidence scoring
  • Evidence-Based Scoring:
    • Python evidence: pyproject.toml, requirements*.txt, setup.py, etc. (+ scores)
    • Node.js evidence: package.json, lockfiles (package-lock.json, yarn.lock, etc.) (+ scores)
    • Automatic classification as "Python", "Node.js", or "Unknown"

Node.js Primary Repository Support

  • Node.js Command Derivation: Static-only extraction of commands from package.json scripts
  • Package Manager Detection: Automatic detection of npm, pnpm, yarn, or bun based on lockfiles
  • Command Generation: Proper command suggestions for install, dev, start, test, lint, and format scripts
  • Node-primary Fixtures: Added evaluation fixtures to ensure validator compliance

Improved User Experience

  • Reduced Redundancy: The "Other tooling detected" section now hides evidence for the primary ecosystem to eliminate duplicate information
  • Clearer Analyzer Notes: Explicit indication of primary tooling in analyzer notes
  • No Python Venv Snippets: For Node-primary repos, no longer suggests Python virtual environments

Validation Compliance

  • Maintained Standards: All V1-V8 validation rules continue to pass
  • Deterministic Output: ONBOARDING.md generation remains consistent across runs
  • Backward Compatibility: All existing Python-primary repos continue to work unchanged

Key Features

1. Primary Tooling Detection

The system now analyzes repository evidence to determine the primary technology stack:

## Analyzer notes
* Primary tooling: Node.js (package.json, package-lock.json present)

2. Node.js Command Support

For Node.js primary repositories, the system now generates appropriate commands:

  • Install commands based on detected package manager
  • Dev, start, test, lint, and format commands from package.json scripts

3. Cleaner Output

  • Eliminated redundant information between "Analyzer notes" and "Other tooling detected"
  • Only secondary/non-primary ecosystems appear in "Other tooling detected"

Technical Improvements

Architecture Enhancements

  • Updated onboarding blueprint engine to support primary tooling awareness
  • Enhanced evidence extraction for multi-language repositories
  • Improved ranking and classification logic

Validation Updates

  • Updated EXTRACT_OUTPUT_RULES.md to reflect new "Other tooling detected" behavior
  • Maintained all existing validation rules (V1-V8)

Breaking Changes (None)

This release maintains full backward compatibility with existing functionality. All previous features continue to work as before.

Migration Guide

No migration is required. The system automatically detects repository characteristics and applies the appropriate logic.

Known Issues

  • For mixed-language repositories, the primary tooling detection uses a deterministic scoring system that may occasionally classify a repository differently than expected. This is by design to ensure consistent behavior.

Contributors

Thanks to all contributors who helped make Phase 10 possible.

Documentation

  • Updated EXTRACT_OUTPUT_RULES.md with Phase 10 analyzer behavior
  • Enhanced SOFTWARE_DESIGN_GUIDE.md with polyglot repository considerations

Next Steps

Future releases will build upon this polyglot foundation with:

  • Enhanced support for additional languages (Go, Rust, etc.)
  • Improved command suggestion accuracy
  • More sophisticated multi-language project handling

Release Date: January 7, 2026
Version: 0.2.0

v0.1.0

Choose a tag to compare

@rogermt rogermt released this 04 Jan 19:36
4f89764

v0.1.0

Scope# Phase 9 Release Notes — Python-Only Release

Version: 0.1.0 (Phase 9)
Date: 2024-01-XX
Status: Release Candidate


Overview

Phase 9 marks the first production-ready release of the MCP Repo Onboarding tool. This release focuses exclusively on Python repositories, providing accurate, validator-compliant ONBOARDING.md documents while establishing a clean architecture for future polyglot support (Phase 10).


1. Python-Only Scope

What Changed

The analyzer now explicitly detects whether Python is present in the repository.

  • Python Detected: Generates full Python-focused onboarding (as in previous phases).
  • Python Not Detected: Generates a validator-compliant ONBOARDING.md but includes a clear, neutral message under Analyzer notes:
    • * Python tooling not detected; this release generates Python-focused onboarding only.

Why This Matters

  • Clarity: Users of non-Python repos (e.g., pure Node.js/TypeScript projects) are no longer misled into thinking they must run pip install or configure a Python venv.
  • Safety: The tool remains safe and deterministic for all repos, but sets honest expectations about its current capabilities.

Python Detection Logic

Python is considered detected if any of the following evidence exists:

  • pyproject.toml at root
  • setup.py or setup.cfg at root
  • requirements*.txt at root or in subdirectories
  • Python source files (.py) present

This is explicit evidence-based detection, not inference.


2. "Other Tooling Detected" — Evidence-Only Reporting

What It Is

Phase 8 introduced a neutral "Other tooling detected" signal. This release (#12) refines it into a robust reporting mechanism that lists secondary tooling (e.g., Node.js, Docker, Go) without suggesting commands.

What It Reports

  • Evidence Files: Explicit lists of files detected (e.g., .nvmrc, package.json, yarn.lock).
  • Sorting: Evidence lists are sorted deterministically (alphabetical).
  • Truncation: Long evidence lists are capped (e.g., "truncated to 3 of 5") to keep onboarding readable.

What It Does NOT Do

  • No Command Suggestions: The analyzer will never suggest npm install, yarn, pnpm, docker build, go run, etc., even if Node.js or Docker is detected.
  • No Version Inference: It does not attempt to infer versions for non-Python tools (e.g., Node.js from .nvmrc).

Example Output (Mixed Python + Node Repo)

## Other tooling detected
* Node.js (client/js/package.json, js/.npmrc, pnpm-lock.yaml; truncated to 3 of 4)
* Docker (website/docker-compose.yml, website/homepage/Dockerfile)
- Python-first onboarding generation (validator-compliant, deterministic output).

### Added
- Framework detection improvements:
  - Detect Streamlit and Gradio from `requirements*.txt` (evidence-based).
- Polyglot awareness (evidence-only):
  - “Other tooling detected” section surfaces secondary tooling based on evidence files only.
  - Evidence lists are deterministically sorted and truncated with explicit wording.
- Onboarding readability improvements:
  - Notebook directory listings are deterministically capped with a truncation note.
- Python-only scope guard:
  - When Python tooling is not detected, ONBOARDING includes a neutral note indicating Python-only scope.

### Changed
- Bash script descriptions:
  - Improved deterministic fallback descriptions for common helper scripts (prevents “No description provided by analyzer.” in common cases).

### Notes
- No non-Python commands are suggested (no npm/yarn/pnpm instructions).
- No subprocess execution; no network calls.

### Next
- Phase 10: non-Python-primary onboarding (e.g., Node-first repos), including primary tooling selection.