Releases: rogermt/mcp-repo-onboarding
Release list
Release 0.2.0: Phase 10 - Enhanced Polyglot Support
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
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.mdbut 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 installor 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.tomlat rootsetup.pyorsetup.cfgat rootrequirements*.txtat 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.