|
| 1 | +# Repository Guidelines |
| 2 | + |
| 3 | +## Project Structure & Module Organization |
| 4 | + |
| 5 | +- `docs/`: Documentation content in Markdown/MDX (for example `docs/getting-started/index.mdx`). |
| 6 | +- `src/`: Docusaurus site code (React/TypeScript), including OpenAPI tooling in `src/openapi/`. |
| 7 | +- `specs/`: Vendored OpenAPI YAML files (inputs to generated API docs). |
| 8 | +- `static/`: Images and other static assets served as-is. |
| 9 | +- `blog/`, `code_samples/`: Blog posts and reusable examples/snippets. |
| 10 | + |
| 11 | +## Build, Test, and Development Commands |
| 12 | + |
| 13 | +- `nvm use`: Use the Node version from `.nvmrc` (CI uses Node 22). |
| 14 | +- `npm ci`: Install dependencies from `package-lock.json`. |
| 15 | +- `npm run start`: Run the local Docusaurus dev server. |
| 16 | +- `npm run build`: Full build (runs `check-vendored-yaml`, generates OpenAPI docs, then builds to `build/`). |
| 17 | +- `npm run gen-api-docs-all`: Generate OpenAPI docs (writes under `docs/OpenAPI-clients/` when present/needed). |
| 18 | +- `npm run check-vendored-yaml`: Verify vendored OpenAPI YAML matches upstream. |
| 19 | +- `npm run update-vendored-yaml`: Refresh vendored specs in `specs/` from upstream. |
| 20 | + |
| 21 | +Docs-only checks: |
| 22 | +- `vale sync`: Install Vale styles configured in `.vale.ini`. |
| 23 | +- `git diff --name-only | xargs vale --glob='!blog/*'`: Lint changed docs (matches CI’s “added lines” behavior closely). |
| 24 | + |
| 25 | +## Coding Style & Naming Conventions |
| 26 | + |
| 27 | +- Indentation: 2 spaces; newlines: LF (see `.editorconfig`). |
| 28 | +- Docs: prefer `.mdx`; name new pages `kebab-case.mdx`, and use `index.mdx` for section landing pages. |
| 29 | +- Keep long examples in `code_samples/` and reference them from docs instead of duplicating. |
| 30 | + |
| 31 | +## Testing Guidelines |
| 32 | + |
| 33 | +- There is no dedicated unit test runner; CI primarily validates `npm run build` and Vale. |
| 34 | +- If you touch `docs/getting-started/` Docker Compose instructions, sanity-check them locally when feasible. |
| 35 | + |
| 36 | +## Commit & Pull Request Guidelines |
| 37 | + |
| 38 | +- Commits follow Conventional Commits as seen in history: `feat(docs): …`, `fix(docs): …`, `chore(deps): …`. |
| 39 | +- PRs should include: a clear summary, linked issue/ticket when applicable, and screenshots for layout/theme changes. |
| 40 | +- Generated content: treat `docs/OpenAPI-clients/` as derived output; prefer updating `specs/` via `npm run update-vendored-yaml`. |
| 41 | +- CODEOWNERS: changes to `package.json` / `package-lock.json` require review from `@opentdf/security` in addition to maintainers. |
0 commit comments