guides icon indicating copy to clipboard operation
guides copied to clipboard

Freckle guides and best practices

Freckle Guides

Freckle guides and best practices

Overall Rules

  1. Microsoft's API Guidelines should be followed

    In case of conflict with content here, we should open an Issue to propose removing the content here.

  2. Defer to a (configured) auto-formatter for all style decisions

    In case of conflict with content here, we should open an Issue to propose removing the content here.

Fancy Terms

Why do we use terms like "Monoid" and what do they mean?

Naming Conventions

Conventions for naming database entities, JSON serializations, etc.

Haskell

  • Best Practices - Best practices in a Haskell code base.
  • API - Best practices in our Haskell API specifically.
  • Persistent - Best practices for persistent-based database interaction.
  • Style - Haskell style. TL;DR: use Fourmolu.
  • Testing - Haskell testing practices, work in progress.

Shell

  • Style - Shell style. TL;DR: use ShellCheck and shfmt.
  • Open Source - Processes and practices for our open source libraries.