Skip to content

Commit 182f1a8

Browse files
Merge pull request #28 from boxlite-ai/docs/deploy-standard
Restyle docs (ASCII/terminal) + codify one Git-driven deploy standard
2 parents 958b53d + 9d8ea9b commit 182f1a8

9 files changed

Lines changed: 626 additions & 122 deletions

File tree

.mintignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,12 @@
44

55
# Draft content
66
drafts/
7-
*.draft.mdx
7+
*.draft.mdx
8+
9+
# Tooling — not docs content
10+
scripts/
11+
package.json
12+
package-lock.json
13+
14+
# Local tooling scratch (screenshots, snapshots)
15+
.playwright-mcp/

CLAUDE.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,36 @@ mint update
7676
- Reusable content goes in `snippets/` and is included with `<Snippet file="filename.mdx" />`
7777
- Currently: `snippets/prerequisites.mdx` (system requirements)
7878

79+
### Theming & design system
80+
The site uses an **ASCII / terminal** design language mirroring the BoxLite console
81+
restyle ([boxlite-ai/boxlite#829](https://github.com/boxlite-ai/boxlite/pull/829)).
82+
Tokens are split across two files:
83+
- `docs.json``colors` (`primary` `#00B0F0`), `appearance.default: dark`,
84+
`fonts` (heading `IBM Plex Mono`, body `Inter`), `background.color`,
85+
`styling.codeblocks` (github theme).
86+
- `custom.css` → everything Mintlify config can't express: square corners (radius 0),
87+
bordered card/code surfaces, terminal-dark code panel, cyan step markers, uppercase
88+
sidebar labels, recolored callouts. Mintlify auto-loads any root `custom.css`.
89+
90+
| Token | Dark | Light |
91+
|-------|------|-------|
92+
| accent (brand) | `#00B0F0` | `#00B0F0` |
93+
| page bg | `#13161B` | `#FFFFFF` |
94+
| card | `#1A1D24` | `#F3F4F6` |
95+
| code panel | `#0D0F13` | `#F7F9FC` |
96+
| border | `#2A2F3A` | `#E2E5EA` |
97+
98+
When adding CSS, target stable Mintlify hooks (`.card`, `.code-block`, `.callout`,
99+
`.steps`, `.sidebar-title`, `table.table`) — utility classes are unstable. Verify both
100+
themes with `mint dev`; mind that Mintlify ships some rules `!important`, so overrides
101+
may need higher specificity (see the code-panel block in `custom.css`).
102+
79103
## Important Files
80104

81105
| File | Purpose |
82106
|------|---------|
83107
| `docs.json` | Mintlify config — navigation structure, theme, colors, logo, links |
108+
| `custom.css` | Terminal/ASCII design system — square corners, surfaces, code panel, accents |
84109
| `index.mdx` | Home page — hero section, feature cards, entry points |
85110
| `snippets/prerequisites.mdx` | Shared system requirements snippet |
86111
| `.mintignore` | Files excluded from Mintlify build |

CONTRIBUTING.md

Lines changed: 61 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,72 @@
1-
> **Customize this file**: Tailor this template to your project by noting specific contribution types you're looking for, adding a Code of Conduct, or adjusting the writing guidelines to match your style.
2-
31
# Contribute to the documentation
42

5-
Thank you for your interest in contributing to our documentation! This guide will help you get started.
3+
Thanks for contributing to the BoxLite documentation. This guide is the **single
4+
source of truth** for how to make changes locally and how to ship them.
5+
6+
## Setup (once)
7+
8+
```bash
9+
git clone https://github.com/boxlite-ai/documentation.git
10+
cd documentation
11+
npm i -g mint # Mintlify CLI (Node 18+)
12+
brew install gh # GitHub CLI, used by deploy:preview
13+
```
14+
15+
## The four commands
16+
17+
The same four `npm` scripts exist in every BoxLite content repo (`documentation`,
18+
`boxlite-website`, `boxlite-blog`) so the workflow is identical everywhere.
19+
20+
| Command | What it does | When to use |
21+
|---|---|---|
22+
| `npm run dev` | Local preview at http://localhost:3000 (`mint dev`) | While editing |
23+
| `npm run check` | `mint validate && mint broken-links` | Before opening / updating a PR |
24+
| `npm run deploy:preview` | Pushes the current branch and opens (or reuses) a PR; Mintlify auto-builds a `*.mintlify.app` preview tied to that PR | To share work for review |
25+
| `npm run deploy:production` | Production = `main` only. Guards: must be on `main`, clean worktree, in sync with `origin/main`. Then instructs you to `gh pr merge` — merging a PR is the deploy. | To ship the docs |
626

7-
## How to contribute
27+
### One canonical lifecycle (memorize this)
828

9-
### Option 1: Edit directly on GitHub
29+
```
30+
① git switch -c your-change from main
31+
② edit pages
32+
③ npm run dev preview locally
33+
④ git commit -am "..."
34+
⑤ npm run check validate + broken-links
35+
⑥ npm run deploy:preview push + open PR; Mintlify builds preview
36+
⑦ review the *.mintlify.app preview (light/dark, desktop/mobile)
37+
⑧ npm run deploy:production on main → prints the merge command
38+
⑨ gh pr merge <PR#> --merge --delete-branch
39+
main updates → Mintlify auto-deploys
40+
https://docs.boxlite.ai
41+
```
1042

11-
1. Navigate to the page you want to edit
12-
2. Click the "Edit this file" button (the pencil icon)
13-
3. Make your changes and submit a pull request
43+
## Rules of the road
1444

15-
### Option 2: Local development
45+
- **`main` is protected.** Never push to it directly. Production happens only by
46+
**merging a PR**. There is no "deploy to production" command — `npm run deploy:production`
47+
guards the preconditions and tells you the merge command to run.
48+
- **Preview = PR.** Mintlify builds the preview when a PR is opened against `main`
49+
(not on a bare branch push). The Mintlify bot posts the `*.mintlify.app` link as a
50+
PR comment, and rebuilds on every push to the PR branch.
51+
- **`deploy:preview` may include just-committed work** that hasn't been reviewed —
52+
it is not a review artifact on its own. The *PR review* is.
53+
- **Why Docs has no `vercel`-style CLI deploy:** Mintlify only publishes through its
54+
Git integration; it has no production CLI deploy. The sibling Vercel repos
55+
(`boxlite.ai`, `blog.boxlite.ai`) follow the same lifecycle and use the same
56+
four script names; their `deploy:preview` shells out to `vercel deploy` because
57+
Vercel does have a CLI. The mental model is identical across all three repos.
1658

17-
1. Fork and clone this repository
18-
2. Install the Mintlify CLI: `npm i -g mint`
19-
3. Create a branch for your changes
20-
4. Make changes
21-
5. Navigate to the docs directory and run `mint dev`
22-
6. Preview your changes at `http://localhost:3000`
23-
7. Commit your changes and submit a pull request
59+
## Edit on GitHub (no clone)
2460

25-
For more details on local development, see our [development guide](development.mdx).
61+
1. Open the page on github.com/boxlite-ai/documentation.
62+
2. Click the pencil (**Edit this file**) icon — GitHub forks for you.
63+
3. Open a pull request. Mintlify will post a preview link on the PR.
2664

2765
## Writing guidelines
2866

29-
- **Use active voice**: "Run the command" not "The command should be run"
30-
- **Address the reader directly**: Use "you" instead of "the user"
31-
- **Keep sentences concise**: Aim for one idea per sentence
32-
- **Lead with the goal**: Start instructions with what the user wants to accomplish
33-
- **Use consistent terminology**: Don't alternate between synonyms for the same concept
34-
- **Include examples**: Show, don't just tell
67+
- **Active voice**: "Run the command", not "The command should be run".
68+
- **Address the reader directly** with "you".
69+
- **One idea per sentence.**
70+
- **Lead with the goal**, then the action.
71+
- **Use consistent terminology** — don't alternate synonyms for the same concept.
72+
- **Show, don't just tell** — include realistic examples.

0 commit comments

Comments
 (0)