Skip to content

Commit 812c721

Browse files
author
Eric Lin
committed
feat: complete repo layout
1 parent 4c1c4c0 commit 812c721

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

docs/getting-started/understanding-repo-layout.mdx

+76
Original file line numberDiff line numberDiff line change
@@ -184,3 +184,79 @@ More information: [Referencing your static asset.](https://docusaurus.io/docs/st
184184
A [spell checker](https://cspell.org/) configuration file which is used in linting to check for misspelling in all files.
185185

186186
Configuration JSON file includes basic configuration with `ignorePaths` for paths/files which should not be checked. Additional dictionaries can be added, either default supported, or additional files, such as the `project-words.txt` included in this repository.
187+
188+
## 📄 `.editorconfig`
189+
190+
[EditorConfig](https://editorconfig.org/#overview) is supported by most IDEs and text editors to provide consistent coding styles for projects through a config specification.
191+
192+
## 📄 `.eslintignore`
193+
194+
[ESLint](https://eslint.org/) is used by this project since it contains Javascript, Typescript, and React code and lints the code to provide a consistent style for all developers and contributors.
195+
196+
The `.eslintignore` file are a list of directories for ESLint to ignore when linting.
197+
198+
## 📄 `.eslintrc.js`
199+
200+
Configuration for [ESLint](https://eslint.org/) and accompanying plugins used by it to parse and lint the code.
201+
202+
## 📄 `.gitignore`
203+
204+
A file containing files and folders for Git to ignore when adding or committing.
205+
206+
## 📄 `.nvmrc`
207+
208+
Contains the **Node.js** version that we want to use for this project. It requires the installation of [`nvm`](https://github.com/nvm-sh/nvm#installing-and-updating). See [here](index.mdx#installing-recommended-nodejs-version-with-nvm) for more.
209+
210+
## 📄 `.prettierrc`
211+
212+
It is recommended to use [Prettier](https://prettier.io/) to format all files. Whatever is not covered in the `.editorconfig` will be overridden or specified in this Prettier configuration file.
213+
214+
When you `git commit` on this repo, `lint-staged` will run `npm run format` which will run Prettier to format and save those changes.
215+
216+
## 📄 `.releaserc.js`
217+
218+
[Semantic Release](https://github.com/semantic-release/semantic-release) is used to easily keep track of version changes to documentation. On push to the `main` branch, the `release` GitHub Action will take all necessary commits based on their type and increment the version according to [semver](https://semver.org/) conventions. However, it is not strictly necessary and can be removed along with its accompanying action if it is not preferred.
219+
220+
## 📄 `.stylelintignore`
221+
222+
[StyleLint](https://stylelint.io/) is used to lint CSS files. This file ignores directories which do not need to be linted.
223+
224+
## 📄 `.stylelintrc.js`
225+
226+
[StyleLint](https://stylelint.io/) configuration for linting.
227+
228+
## 📄 `CHANGELOG.md`
229+
230+
[Semantic Release](https://github.com/semantic-release/semantic-release) automatically updates the CHANGELOG file with release history and commits appended to each release. It should not be modified manually.
231+
232+
## 📄 `api.mustache`
233+
234+
This repo by default has the plugin `docusaurus-plugin-openapi-docs` installed to demonstrate how to integrate OpenAPI documentation directly into Docusaurus. The `api.mustache` file contains the API template for the plugin when generating the Markdown files.
235+
236+
## 📄 `babel.config.js`
237+
238+
This is the Babel configuration which is used by Docusaurus. It should not be modified.
239+
240+
## 🦖 `docusaurus.config.js`
241+
242+
Contains all major Docusaurus configuration which is necessary to configure its behavior.
243+
244+
## 🔐 `package-lock.json`
245+
246+
Used by `npm` when `npm install` is used to lock versions and reduce differences between dev environments if this is not committed into the repository. It should not be necessary to edit this file directory.
247+
248+
## 📦 `package.json`
249+
250+
Used by [`npm`](https://docs.npmjs.com/cli/v9/configuring-npm/package-json) containing configuration scripts, dependencies, dev dependencies and other related dependency configurations.
251+
252+
## 📖 `project-words.txt`
253+
254+
Used by `CSpell` in the `.cspell.json` configuration file with additional project words that should not be flagged as misspelling when linting.
255+
256+
## 🦖 `sidebars.js`
257+
258+
Separate `.js` file used by Docusaurus to provide sidebar configuration. It is possible to place this directly into `docusaurus.config.js` but has been separated for clarity and ease-of-use.
259+
260+
## 🦖 `tsconfig.json`
261+
262+
This project uses Typescript for React. The `tsconfig.json` contains Typescript compiler options but is not used in compilation of the project and only for editor experience.

project-words.txt

+1
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@ strikethrough
326326
strikethroughs
327327
styl
328328
stylelint
329+
stylelintignore
329330
stylelintrc
330331
subdir
331332
sublabel

0 commit comments

Comments
 (0)