Skip to content

Commit

Permalink
Docs: Add repository structure to contributors guide (#17553)
Browse files Browse the repository at this point in the history
Adding another high level overview page to the contributors guide
  • Loading branch information
eyurtsev authored Feb 15, 2024
1 parent ca2d407 commit 79119b4
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions docs/docs/contributing/repo_structure.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
sidebar_position: 0.5
---
# Repository Structure

If you plan on contributing to LangChain code or documentation, it can be useful
to understand the high level structure of the repository.

LangChain is organized as a [monorep](https://en.wikipedia.org/wiki/Monorepo) that contains multiple packages.

Here's the structure visualized as a tree:

```text
.
β”œβ”€β”€ cookbook # Tutorials and examples
β”œβ”€β”€ docs # Contains content for the documentation here: https://python.langchain.com/
β”œβ”€β”€ libs
β”‚ β”œβ”€β”€ langchain # Main package
β”‚ β”‚ β”œβ”€β”€ tests/unit_tests # Unit tests (present in each package not shown for brevity)
β”‚ β”‚ β”œβ”€β”€ tests/integration_tests # Integration tests (present in each package not shown for brevity)
β”‚ β”œβ”€β”€ langchain-community # Third-party integrations
β”‚ β”œβ”€β”€ langchain-core # Base interfaces for key abstractions
β”‚ β”œβ”€β”€ langchain-experimental # Experimental components and chains
β”‚ β”œβ”€β”€ partners
β”‚ β”œβ”€β”€ langchain-partner-1
β”‚ β”œβ”€β”€ langchain-partner-2
β”‚ β”œβ”€β”€ ...
β”‚
β”œβ”€β”€ templates # A collection of easily deployable reference architectures for a wide variety of tasks.
```

The root directory also contains the following files:

* `pyproject.toml`: Dependencies for building docs and linting docs, cookbook.
* `Makefile`: A file that contains shortcuts for building, linting and docs and cookbook.

There are other files in the root directory level, but their presence should be self-explanatory. Feel free to browse around!

## Documentation

The `/docs` directory contains the content for the documentation that is shown
at https://python.langchain.com/ and the associated API Reference https://api.python.langchain.com/en/latest/langchain_api_reference.html.

See the [documentation](./documentation) guidelines to learn how to contribute to the documentation.

## Code

The `/libs` directory contains the code for the LangChain packages.

To learn more about how to contribute code see the following guidelines:

- [Code](./code.mdx) Learn how to develop in the LangChain codebase.
- [Integrations](./integrations.mdx) to learn how to contribute to third-party integrations to langchain-community or to start a new partner package.
- [Testing](./testing.mdx) guidelines to learn how to write tests for the packages.

0 comments on commit 79119b4

Please sign in to comment.