> For the complete documentation index, see [llms.txt](https://docs.transientlabs.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.transientlabs.xyz/integrations/inheriting-tl-contracts.md).

# Inheriting TL Contracts

## Using Foundry

If you are using [Foundry](https://book.getfoundry.sh/), it is really simple to integrate TL contracts into your project. You just simply have to run the following, depending on which repo you want to integrate.

```bash
forge install Transient-Labs/tl-creator-contracts
forge install Transient-Labs/blocklist
forge install Transient-Labs/story-contract
forge install Transient Labs/tl-sol-tools
```

## Using Hardhat

If your project is using Hardhat, you can use the [Hardhat-Foundry plugin](https://hardhat.org/hardhat-runner/docs/advanced/hardhat-and-foundry) to integrate our contracts. This still requires Foundry to be installed though.

The one caveat is that we typically have some custom remappings that you may need. They are shown below. These can be added to the `remappings.txt` file as applicable and may need modification depending on your use case.

```
tl-story=<YOUR_PROJECT_ROOT>/lib/tl-creator-contracts/lib/story-contract/src/
tl-blocklist=<YOUR_PROJECT_ROOT>/lib/tl-creator-contracts/lib/blocklist/src/
```

## Using Brownie

Unfortunately [Brownie](https://eth-brownie.readthedocs.io/en/stable/) does not allow solidity files to be defined outside of a `contracts` folder for packages and thus our repositories can't be used in Brownie projects. Hopefully [ApeWorx](https://www.apeworx.io/) fixes this, as Brownie is sunsetting soon.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.transientlabs.xyz/integrations/inheriting-tl-contracts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
