You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Choose from one of the types above and set PR title to match `type[(scope)]: what changed (FIR-XXX)` format.
5
-
6
1
# Description
7
2
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
8
3
9
-
# When should this PR be released to the public?
10
-
If the feature is live, the docs can be scheduled for **immediate release** by filing the PR to the gh-pages branch.
11
-
If it's part of a **future release**, please file the PR against the corresponding release/packdb-<version> branch.
12
-
13
-
The preview URL will be available at https://firebolt-BRANCH.mintlify.app/ after the PR is created and built. `BRANCH` there is the name of your branch, in lowercase and with all special symbols except underscore replaced for dashes. E.g. `release/packdb-4.22` will be available at https://firebolt-release-packdb-4-22.mintlify.app/.
14
-
15
4
# Documentation Checklist
16
5
-[ ] I've previewed my documentation locally running `make start-local`
17
6
-[ ] I've validated that indexing works and that I'm able to navigate to the documentation page from the table of contents
18
7
-[ ] If I added SQL examples, I have validated that they run correctly and as described.
19
8
20
9
If this PR touches a function implementation (aggregate, scalar, or table-valued):
21
-
-[ ] I've made sure my documentation is aligned with [these](https://github.com/firebolt-analytics/firebolt-docs-staging/blob/gh-pages/.github/ISSUE_TEMPLATE/new-function-template.md) guidelines on function documentation
10
+
-[ ] I've made sure my documentation is aligned with [these](https://github.com/firebolt-db/godocs/blob/gh-pages/.github/ISSUE_TEMPLATE/new-function-template.md) guidelines on function documentation
22
11
-[ ] I've validated that the `parent` of my docs page is set correctly and the function shows up in the right category of the table of contents
23
12
-[ ] I've made sure that the function was added to the function glossary
Copy file name to clipboardExpand all lines: README.md
+14-56Lines changed: 14 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,31 +1,23 @@
1
1
## About this repo
2
2
* This repository contains the source code for the Firebolt documentation (https://docs.firebolt.io/).
3
3
* Pages are in [MDX format](#about-mdx-format-and-mintlify-platform).
4
-
* Pages are hosted on [Mintlify](https://mintlify.com) platform. It offers [AI tooling](#ai-tools-in-mintlify), internal search and AI bot.
4
+
* Pages are hosted on [Mintlify](https://mintlify.com) platform. It offers AI tooling, internal search and AI bot.
5
5
* Main branch is `gh-pages`. It is automatically published to https://docs.firebolt.io/.
6
-
* Main discussion channel is [#documentation](https://firebolt-analytics.slack.com/archives/C016HSVDP9U).
7
6
* Important: To improve the search and AI bot, set great [keywords](https://mintlify.com/docs/pages#internal-search-optimization) and [description](https://mintlify.com/docs/pages#descriptions) as it influences search and AI bot functionality.
8
7
9
8
## Known problems
10
-
* Mintlify sometimes doesn't generate previews for PRs. Check [here](#how-to-preview-remotely-in-mintlify) for workaround.
11
9
* The crawler link checker sometimes would fail on a fetch timeout.
12
10
13
11
## Quick start
14
12
*[Add a new page](#how-to-add-a-new-page).
15
13
*[Run local checks](#how-to-check-locally) using `make check-all`.
16
14
*[Preview the documentation locally](#how-to-preview-locally) using `make start-local`.
17
-
*[Preview the documentation remotely on Mintlify](#how-to-preview-remotely-in-mintlify).
18
-
*[Release changes](#how-to-release-changes).
19
-
*[Make AI work for you](#how-to-use-ai-tools-to-edit-documentation).
*[How to move an existing page](#how-to-move-an-existing-page)
37
29
*[How to add an interactive SQL example](#how-to-add-an-interactive-sql-example)
38
-
*[How to release changes](#how-to-release-changes)
30
+
*[How to contribute changes](#how-to-contribute-changes)
39
31
*[Repository structure](#repository-structure)
40
32
*[GitHub PR Workflow](#github-pr-workflow)
41
33
*[About MDX format and Mintlify platform](#about-mdx-format-and-mintlify-platform)
@@ -45,43 +37,12 @@
45
37
*[Further references](#further-references)
46
38
<!-- TOC -->
47
39
48
-
## How to use AI tools to edit documentation
49
-
50
-
### Devin
51
-
[@Devin](https://devin.ai/) is an autonomous AI agent that can handle simple tasks such as documentation changes.
52
-
1. Tag [@devin](https://firebolt-analytics.slack.com/team/U08PTG2ADD3) in the App section of Slack or in a channel where it's added and give it a task.
53
-
2. Ask [@devin](https://firebolt-analytics.slack.com/team/U08PTG2ADD3) for changes and improvements in PR comments or in the Slack thread.
54
-
55
-
### OpenAI Codex
56
-
[OpenAI Codex](https://chatgpt.com/codex) is an autonomous AI agent that can handle simple tasks such as documentation changes.
57
-

58
-
1. Go to https://chatgpt.com/codex
59
-
2. Pick the "firebolt-analytics/firebolt-docs-staging" environment.
60
-
3. Describe the task.
61
-
4. When the task is ready, click it.
62
-
5. Choose the best variant and create a PR.
63
-
6. Use the chat box in OpenAI Codex interface (the link to the task can be found in the PR description) to ask it for changes and improvements.
64
-
65
40
## Guides for tooling
66
41
67
42
### How to preview locally
68
43
1. Run `make start-local`.
69
44
2. Open http://localhost:3000/ in your browser to preview the documentation.
70
45
71
-
### How to preview remotely in Mintlify
72
-
NB: There's a know bug when Mintlify skips redeploying the PR preview even when new changes were pushed to [docs-mdx/](docs-mdx). Here's what their support says about it:
73
-
> We've been able to investigate deeper and determined a few potential causes:
74
-
> 1. The PR you added pictures for is pointing at branch release/packdb-4.24. We only trigger preview deployments for PRs pointing at a deployBranch, which in their case is gh-pages
75
-
> 2. If the PR is opened with no changes to any docs content or docs.json, we won't create a preview deployment for it, which means any subsequent pushes to that PR won't update the preview deployment (because it doesn't exist)
76
-
77
-
1. Open a PR in the repository. Make sure to:
78
-
* Have at lease some change in [/docs-mdx](/docs-mdx) directory. E.g. an insignificant change in a description of a page.
79
-
* Temporarily set the `gh-pages` branch as the destination branch of the PR. This is just to trigger a preview generation, and can be changed once the preview build job in the CI/CD pipeline starts.
80
-
2. Wait for the CI/CD pipeline to run.
81
-
* This will build the documentation and deploy it to a remote preview environment using `Mintlify` special workflow.
82
-
* See the status of the deployment in the `Mintlify -> Mintlify Deployment` check in the pull request. There will be a link to the remote preview. 
83
-
3. Go to the preview by the link found in the build. The preview links are formed the following way: `https://firebolt-[your-branch-name-with-dashes].mintlify.app/` (e.g. `my_feature/new-page` has preview at `https://firebolt-my_feature-new-page.mintlify.app/`).
84
-
85
46
### How to check locally
86
47
Use `make check-all` or just `make` to run all checks.
87
48
@@ -105,8 +66,8 @@ It runs the following subchecks:
105
66
*`make check-links-using-crawler` to bring up a local site instance using `mint dev` and run [muffet](https://github.com/raviqqe/muffet) link crawler against it.
106
67
107
68
#### SQL example check
108
-
This checks that all `<QueryWindow/>` components in the documentation have pre-generated results that match the live Firebolt staging API results. See [here](#how-to-add-an-interactive-sql-example) on how to add a new interactive SQL example.
109
-
*`make check-sql` to check that all `<QueryWindow/>` components when run against live Firebolt staging API produce expected results.
69
+
This checks that all `<QueryWindow/>` components in the documentation have pre-generated results.
70
+
*`make check-sql` to check that all `<QueryWindow/>` components produce expected results.
110
71
*`make package-docs` to regenerate all results for all `<QueryWindow/>` components in the documentation.
111
72
*`make package-missing-docs` to generate results for all `<QueryWindow/>` components that don't have pre-generated results.
112
73
@@ -120,8 +81,7 @@ This checks that all `<QueryWindow/>` components in the documentation have pre-g
120
81
4. Add the file to the navigation structure in [docs-mdx/docs.json](docs-mdx/docs.json). **The navigation structure must reflect the directory structure.**
121
82
5. Run the checks (`make check-all` or `make`) to ensure everything is correct and automatically update the [known_pages.json](known_pages.json) file with the new URL.
122
83
6. Preview the page locally using `make start-local`.
123
-
7. Push the changes to the repository and open the PR. See [here](#how-to-release-changes) for how to release the changes.
124
-
8. Preview the results remotely (see how [here](#how-to-preview-remotely-in-mintlify)).
84
+
7. Push the changes to the repository and open the PR. See [here](#how-to-contribute-changes) for how to contribute changes.
125
85
126
86
### How to move an existing page
127
87
NB: `mint rename` does a terrible job, do not use it.
@@ -157,13 +117,13 @@ The interactive examples run against a dedicated Firebolt documentation server.
157
117
4. Preview the page locally using `make start-local` to ensure the example works as expected.
158
118
5. Further steps as similar to [adding a new page](#how-to-add-a-new-page).
159
119
160
-
### How to release changes
161
-
1. Open a pull request with the changes:
162
-
* Use `gh-pages` branch if the changes should be published right away.
163
-
* Use `release/packdb-X.YZ` branch (e.g. `release/packdb-4.24`) if the changes should be released with the next PackDB release.
164
-
2. Wait for the CI/CD pipeline to run and the Mintlify [preview deployment](#how-to-preview-remotely-in-mintlify) to complete.
165
-
3. The PR will appear in the [#documentation-prs](https://firebolt-analytics.slack.com/archives/C07H86T5R6U). Ask the owner team to review it.
166
-
4. Merge the PR when it's approved. The changes will be automatically published either to https://docs.firebolt.io (for `gh-pages` branch) or to https://firebolt-release-packdb-X-YZ.mintlify.app (for `release/packdb-X.YZ` branch).
120
+
### How to contribute changes
121
+
1. Fork the repository to your GitHub account.
122
+
2. Create a branch with your changes.
123
+
3. Open a pull request with your changes to the `gh-pages` branch.
124
+
4. Wait for the CI/CD pipeline to run and address any issues.
125
+
5. The repository maintainers will review your PR and provide feedback.
126
+
6. Once approved, the maintainers will merge your changes.
167
127
168
128
## Repository structure
169
129
* [docs-mdx/](docs-mdx) contains all the MDX files for the documentation:
@@ -177,10 +137,9 @@ The interactive examples run against a dedicated Firebolt documentation server.
177
137
* [scripts/check_lost_redirects.py](scripts/check_lost_redirects.py) checks that all known URLs (listed in [known_pages.json](known_pages.json)) either have a corresponding page in [docs-mdx/](docs-mdx) or a proper redirect in [docs-mdx/docs.json](docs-mdx/docs.json).
178
138
* [scripts/check_sql_examples.py](scripts/check_sql_examples.py) checks that pre-generated results in `<QueryWindow/>` components are the same as the real results.
179
139
* [scripts/check_merge_conflict_markers.sh](scripts/check_merge_conflict_markers.sh) checks that there are no Git merge conflict markers in the documentation files.
180
-
* [hidden_pages.json](hidden_pages.json) contains all pages that are intentionally not included in the navigation. This is to prevent accidental hiding of pages by forgeting to add them to [docs-mdx/docs.json](docs-mdx/docs.json).
140
+
* [hidden_pages.json](hidden_pages.json) contains all pages that are intentionally not included in the navigation. This is to prevent accidental hiding of pages by forgetting to add them to [docs-mdx/docs.json](docs-mdx/docs.json).
181
141
* [known_pages.json](known_pages.json) contains all URLs that have ever existed in the documentation. This is used to check for lost redirects.
182
142
* [function-template.mdx](function-template.mdx) is an example page.
183
-
* [images/](images) contains images used in [README.md](README.md).
184
143
185
144
## GitHub PR Workflow
186
145
@@ -190,7 +149,6 @@ The [.github/workflows/pr-check.yml](.github/workflows/pr-check.yml) workflow ru
190
149
* **check-broken-links**: Internal link validation using Mintlify
191
150
* **check-links-using-crawler**: External link validation (informational, doesn't block merge)
192
151
* **check-sql-examples**: SQL example validation (informational, doesn't block merge)
193
-
* **Mintlify**: This job runs the Mintlify deployment workflow to build and deploy the documentation to a [remote preview](#how-to-preview-remotely-in-mintlify).
0 commit comments