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.