> For the complete documentation index, see [llms.txt](https://rembrandt.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rembrandt.gitbook.io/docs/contributing-1/style-guidelines.md).

# Style Guidelines

Rembrandt repositories are following [style guidelines and coding conventions](https://basarat.gitbooks.io/typescript/content/docs/styleguide/styleguide.html) from [Typescript Deep Dive](https://basarat.gitbooks.io/typescript/), a comprehensive Typescript book. In addition to these guidelines we enforce the following rules:

### Filenames

* Use `PascalCase.ts` for classes
* Use `camelCase.ts` for instances

> Reason: Default export for files is clear

**Class as default export**

**Bad**

```
export default class HelloWorld {}

helloWorld.ts
```

**Good**

```
export default class HelloWorld {}

HelloWorld.ts
```

**Instance as default export**

**Bad**

```
export default const helloWorld: string = 'Hello World!';

HelloWorld.ts
```

**Good**

```
export default const helloWorld: string = 'Hello World!';

helloWorld.ts
```
