Skip to content

Commit 1868506

Browse files
Add initial CLAUDE.md (#272)
* Add initial `CLAUDE.md` * Update CLAUDE.md Co-authored-by: sharon <sharon-wang@users.noreply.github.com> * Additional feedback from @sharon-wang --------- Co-authored-by: sharon <sharon-wang@users.noreply.github.com>
1 parent 63fe047 commit 1868506

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

CLAUDE.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Project Overview
6+
7+
This is the documentation website for Positron IDE, built with Quarto and hosted on Netlify at https://positron.posit.co/. Documentation pages are `.qmd` files in the repository root, including reusable content in `.qmd` files that are prefixed with `_`. We use a mostly flat directory structure, especially for any files that get rendered into pages. The directories `/assets` and `/css` contain files we use for styling, and the directories `/images` and `/videos` contain visual content assets.
8+
9+
## Build Commands
10+
11+
```bash
12+
quarto preview # Local development with hot reload
13+
quarto render # Render all .qmd files to HTML
14+
```
15+
16+
17+
## Multi-Profile Build System
18+
19+
The site has two Quarto profiles defined in `_quarto.yml`:
20+
- **positron** (`_quarto-positron.yml`): Full public documentation site, outputs to `_site/`
21+
- **workbench** (`_quarto-workbench.yml`): Subset for Workbench bundled docs, excludes download/install pages, outputs to `_site-workbench/`
22+
23+
New pages will likely need to be added to both profile config files.
24+
25+
## Code Execution and Freeze
26+
27+
Some pages contain executable code (e.g., download.qmd, install.qmd). The project uses Quarto's "freeze" feature (`execute: freeze: auto`). When updating pages with computations:
28+
1. Render the page locally
29+
2. Commit the generated files in `_freeze/` directory
30+
31+
## Version Management
32+
33+
Release versions are stored in `_environment`:
34+
- `RELEASE_VERSION`: Current release (used in page footer via `{{< env RELEASE_VERSION >}}`)
35+
- `NEXT_RELEASE`: Upcoming release version
36+
37+
Release notes live in `release-notes/` with a template at `release-notes/release-notes-template.md`.
38+
39+
## Writing Style Guide
40+
41+
**Before creating a PR, run `/doc-reviewer` to check documentation for style compliance.**
42+
43+
Key formatting rules:
44+
- **Bold UI elements**: `**Publish**`, `**File** menu`
45+
- **Italics for commands**: `_Extensions: Install from VSIX_`
46+
- **Keyboard shortcuts**: In `.qmd` files, use the Quarto `kbd` shortcode:
47+
- Example: `{{< kbd mac=Command-Shift-P win=Ctrl-Shift-P linux=Ctrl-Shift-P >}}`
48+
- Do **not** use syntax like `<kbd>Cmd</kbd> + <kbd>C</kbd>` in `.qmd`
49+
- It is OK to use `<kbd>` syntax in markdown files
50+
- **Settings links**: Point readers directly to the setting in their UI:
51+
```markdown
52+
[`category.nameOfSetting`](positron://settings/category.nameOfSetting)
53+
```
54+
- **Font Awesome icons**: Use the Quarto `fa` shortcode:
55+
- Example: `{{< fa font-awesome-id >}}`
56+
- Refer to [fontawesome.com/icons](https://fontawesome.com/icons) for available icon IDs
57+
- Add `description` YAML front matter for social sharing metadata
58+
59+
## CI/CD
60+
61+
- **Netlify**: Auto-deploys from main branch using `@quarto/netlify-plugin-quarto`
62+
- **GitHub Actions**:
63+
- `lint.yml`: URL checking on PRs
64+
- `upload-index.yml`: Daily Algolia search index updates
65+
- `publish-release-notes.yml`: Manual workflow for S3/CloudFront deployment
66+
67+
## Issue Tracking
68+
69+
Report issues at https://github.com/posit-dev/positron/issues (main Positron repo, not this website repo).

0 commit comments

Comments
 (0)