We use docusaurus to power docs.getdbt.com.
Please review the dbt docs contributors code of conduct. Creating an inclusive and equitable environment for our documents is more important than any other aspect. Syntax errors can be corrected, but trust, once lost, is difficult to gain back.
We welcome contributions from community members to this repo:
- Fixes: When you notice an error, you can use the
Edit this page
button at the bottom of each page to suggest a change. - New documentation: If you contributed code in dbt-core, we encourage you to also write the docs here! Please reach out in the dbt community if you need help finding a place for these docs.
- Major rewrites: You can file an issue or start a discussion to propose ideas for a content area that requires attention.
You can use components documented in the docusaurus library.
The dbt Labs docs are written in Markdown and sometimes HTML. When writing content, refer to the style guide and content types to help you understand our writing standards and how we break down information in the product documentation.
All PRs that are submitted will be reviewed by the dbt Labs Docs team for editorial review.
Content that is submitted by our users and the open-source community are also reviewed by our dbt Labs subject matter experts (SMEs) to help ensure technical accuracy.
We now enable you to reuse content between different docs pages, version pages, and establish product variables in the dbt Labs product documentation. To learn more about how to single source content between versions, product variables, and other content, see Single-sourcing content.
You can add code snippets and other content in a tabbed view. To learn more about adding tabbed components, see Adding page components.
You can click a link available in a netlify bot PR comment to see and review your changes rendered on a staging server. You are also able to see and review your proposed modifications locally on your computer. Our setup instructions use homebrew:
- (Mac Terminal) Install Xcode Command Line Tools
- Open a terminal window, run
xcode-select --install
, and follow the on-screen prompts in the pop-up window.
- Open a terminal window, run
- (Mac and Linux) Install homebrew
- Copy and paste
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
in to a terminal window and follow the prompts. Once the installation has completed, follow the Next Steps instructions listed in terminal.
- Copy and paste
- (Windows) Install Node.js
- (Mac and Linux only) Install
node
:brew install node
- Clone this repo:
git clone https://github.com/dbt-labs/docs.getdbt.com.git
cd
into the repo:cd docs.getdbt.com
cd
into thewebsite
subdirectory:cd website
- Install the required node packages:
npm install
(optional — install any updates) - Build the website:
npm start
- Before pushing your changes to a branch, check that all links work by using the
make build
script.
Advisory:
- If you run into an
fatal error: 'vips/vips8' file not found
error when you runnpm install
, you may need to runbrew install vips
. Warning: this one will take a while -- go ahead and grab some coffee!
Method 1: Utilizing the Cypress GUI
cd
into the repo:cd docs.getdbt.com
cd
into thewebsite
subdirectory:cd website
- Install the required node packages:
npm install
- Run
npx cypress open
to open the Cypress GUI, and chooseE2E Testing
as the Testing Type, before finally selecting your browser and clickingStart E2E testing in {broswer}
- Click on a test and watch it run!
Method 2: Running the Cypress E2E tests headlessly
cd
into the repo:cd docs.getdbt.com
cd
into thewebsite
subdirectory:cd website
- Install the required node packages:
npm install
- Run
npx cypress run