1. Only ShapeShift packages are imported into ShapeShift code repos
  2. Staging deployments mirror production deployments
  3. Do not include refactors in PRs with feature development. They should be separate PRs
  4. In-line comments in code
    1. If there is a comment on code you are changing, change the comment to match the changed code
    2. If a JS function, rewrite in TS, OR include comment on type of variables and what type the function returns
    3. Code should be written in such a way that it is clear what is is doing
    4. Do add comments to include why code is doing what it is doing. If the what of the code is not clear, comment on what it's doing also.
  5. Using Packages
    1. If in a monorepo - packages should not need to publish to npm and then pull down from npm
    2. Only publish packages to npm that will need to be used in multiple code repos
    3. If packages will be shared across code repos, they should live in a repo dedicated to shared packages. They should not be in code that deploys to an app.
    4. A package is not deployable, it is a chunk of code used by apps / services
    5. Axiom currently does not follow this standard
  6. Testing guidelines??
  7. PR guidelines in general and PR Review Time Guidelines???