From 2dd956b8add667dac4f97605ae441d75b8ae228e Mon Sep 17 00:00:00 2001 From: Deepak Thorat <167645120+deepak25000000@users.noreply.github.com> Date: Thu, 24 Sep 2026 03:17:50 +0530 Subject: [PATCH] docs(infra): fix AGENTS.md root setup guidance and package doc accuracy (#40794) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #40793 --- Docs-only repair from a full audit of developer-facing markdown against the repository as source of truth. A new contributor following `AGENTS.md` from the repo root currently hits missing files and commands that cannot run; package docs and a workflow comment also drift from reality. **What was wrong** - `AGENTS.md` listed root-level `pyproject.toml`, `uv.lock`, and `Makefile` as key config files — none exist at the repo root (config is per package under `libs/*/`). - Setup/test/lint examples (`uv sync --all-groups`, `make test` / `lint` / `format`) had no working directory, so they fail if copy-pasted from the root. - The monorepo structure tree omitted `openwiki/` and `AGENTS.md`. - `libs/README.md` omitted the `model-profiles/` package from its directory list. - Root `README.md` linked Deep Agents with `http://` while every other docs link uses `https://`. - The PR-title paragraph claimed scopes are mandatory “with no exceptions”, but `pr_lint.yml` sets `requireScope: false` (only empty `type():` parens are rejected). - Grammar (“require” → “requires”), an unfinished editable-installs sentence, incomplete `pr_lint.yml` scope comment (missing `openrouter`, `typesafe`), and a stale `make help` line pointing at a non-existent top-level Makefile. **What changed** - Clarified per-package config layout and required `cd` into `libs/` before `uv` / `make` commands. - Completed the structure diagram; added `model-profiles/` to `libs/README.md`. - Switched Deep Agents links to `https://`. - Aligned the scope guidance with actual CI behavior (documented, did not change `requireScope`). - Tightened the `pr_lint.yml` comment and removed the dead Makefile help line. No runtime code, tests, or CI logic changed — comments and markdown only. AI assistance was used to prepare this change; I reviewed the diff against the repository layout. --- .github/workflows/pr_lint.yml | 2 +- AGENTS.md | 21 +++++++++++++-------- README.md | 4 ++-- libs/README.md | 1 + libs/langchain_v1/Makefile | 1 - 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pr_lint.yml b/.github/workflows/pr_lint.yml index 4fdb356641..3c9116065b 100644 --- a/.github/workflows/pr_lint.yml +++ b/.github/workflows/pr_lint.yml @@ -31,7 +31,7 @@ # core, langchain, langchain-classic, model-profiles, # standard-tests, text-splitters, docs, anthropic, chroma, deepseek, exa, # fireworks, groq, huggingface, mistralai, nomic, ollama, openai, -# perplexity, qdrant, xai, infra, deps, partners +# openrouter, perplexity, qdrant, typesafe, xai, infra, deps, partners # # Multiple scopes can be used by separating them with a comma. For example: # diff --git a/AGENTS.md b/AGENTS.md index 1f51f9b4e0..62d587bb27 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,9 +29,10 @@ langchain/ │ │ └── ... (other integrations maintained by the LangChain team) │ ├── text-splitters/ # Document chunking utilities │ ├── standard-tests/ # Shared test suite for integrations -│ ├── model-profiles/ # Model configuration profiles +│ └── model-profiles/ # Model configuration profiles ├── .github/ # CI/CD workflows and templates ├── .vscode/ # VSCode IDE standard settings and recommended extensions +├── openwiki/ # Generated just-in-time evidence index (optional reading) └── README.md # Information about LangChain ``` @@ -43,14 +44,14 @@ langchain/ ### Development tools & commands - `uv` – Fast Python package installer and resolver (replaces pip/poetry) -- `make` – Task runner for common development commands. Feel free to look at the `Makefile` for available commands and usage patterns. +- `make` – Task runner for common development commands. Each package under `libs/` has its own `Makefile`; feel free to look at it for available commands and usage patterns. - `ruff` – Fast Python linter and formatter - `mypy` – Static type checking - `pytest` – Testing framework -This monorepo uses `uv` for dependency management. Local development uses editable installs: `[tool.uv.sources]` +This monorepo uses `uv` for dependency management. Local development uses editable installs declared under each package's `[tool.uv.sources]` table in `pyproject.toml`, so path dependencies resolve to your working tree instead of PyPI. -Each package in `libs/` has its own `pyproject.toml` and `uv.lock`. +Each package in `libs/` has its own `pyproject.toml`, `uv.lock`, and `Makefile`. There is no workspace-level `pyproject.toml` or `Makefile` at the repo root — always `cd` into the package you are working on before running the commands below (for example `cd libs/langchain_v1` or `cd libs/core`). Before running your tests, set up all packages by running: @@ -92,9 +93,13 @@ Use `uv` for all environment and dependency operations in this monorepo. Do not #### Key config files -- pyproject.toml: Main workspace configuration with dependency groups -- uv.lock: Locked dependencies for reproducible builds -- Makefile: Development tasks +There is no single workspace config at the repository root. Configuration lives per package: + +- `libs//pyproject.toml`: Package metadata and dependency groups (`test`, `lint`, `typing`, `dev`, …) +- `libs//uv.lock`: Locked dependencies for reproducible builds +- `libs//Makefile`: Development tasks for that package (`test`, `lint`, `format`, `type`, …) +- `libs/Makefile`: Cross-package `lock` / `check-lock` only +- `.pre-commit-config.yaml` (repo root): Git hooks that run per-package format/lint #### PR and commit titles @@ -364,7 +369,7 @@ When adding a new partner package, update these files: ## GitHub Actions & Workflows -This repository require actions to be pinned to a full-length commit SHA. Attempting to use a tag will fail. Use the `gh` cli to query. Verify tags are not annotated tag objects (which would need dereferencing). +This repository requires actions to be pinned to a full-length commit SHA. Attempting to use a tag will fail. Use the `gh` cli to query. Verify tags are not annotated tag objects (which would need dereferencing). ## Additional resources diff --git a/README.md b/README.md index de6af66fd6..aeea8c3876 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ LangChain is a framework for building agents and LLM-powered applications. It helps you chain together interoperable components and third-party integrations to simplify AI application development — all while future-proofing decisions as the underlying technology evolves. > [!TIP] -> Just getting started? Check out **[Deep Agents](http://docs.langchain.com/oss/python/deepagents/)** — a higher-level package built on LangChain for agents that have built-in capabilities for common usage patterns such as planning, subagents, file system usage, and more. +> Just getting started? Check out **[Deep Agents](https://docs.langchain.com/oss/python/deepagents/)** — a higher-level package built on LangChain for agents that have built-in capabilities for common usage patterns such as planning, subagents, file system usage, and more. ## Quickstart @@ -50,7 +50,7 @@ For an equivalent JS/TS library, check out [LangChain.js](https://github.com/lan While the LangChain framework can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools when building LLM applications. -- **[Deep Agents](http://docs.langchain.com/oss/python/deepagents/)** — Build agents that can plan, use subagents, and leverage file systems for complex tasks +- **[Deep Agents](https://docs.langchain.com/oss/python/deepagents/)** — Build agents that can plan, use subagents, and leverage file systems for complex tasks - **[LangGraph](https://docs.langchain.com/oss/python/langgraph/overview)** — Build agents that can reliably handle complex tasks with our low-level agent orchestration framework - **[Integrations](https://docs.langchain.com/oss/python/integrations/providers/overview)** — Chat & embedding models, tools & toolkits, and more - **[LangSmith](https://www.langchain.com/langsmith)** — Agent evals, observability, and debugging for LLM apps diff --git a/libs/README.md b/libs/README.md index 941a5e3038..497c39d2f4 100644 --- a/libs/README.md +++ b/libs/README.md @@ -12,6 +12,7 @@ This repository is structured as a monorepo, with various packages located in th core/ # Core primitives and abstractions for langchain langchain/ # langchain-classic langchain_v1/ # langchain +model-profiles/ # Model capability profiles and CLI (`langchain-model-profiles`) partners/ # Certain third-party providers integrations (see below) standard-tests/ # Standardized tests for integrations text-splitters/ # Text splitter utilities diff --git a/libs/langchain_v1/Makefile b/libs/langchain_v1/Makefile index 9367f4422e..211e295be9 100644 --- a/libs/langchain_v1/Makefile +++ b/libs/langchain_v1/Makefile @@ -126,4 +126,3 @@ help: @echo 'extended_tests - run only extended unit tests' @echo 'test_watch - run unit tests in watch mode' @echo 'integration_tests - run integration tests' - @echo '-- DOCUMENTATION tasks are from the top-level Makefile --'