General

Standards we follow as developers.

Version control

  • All new software is checked in to GitHub.

  • Legacy software that needs maintenance gets moved to GitHub.

  • Absent a very compelling reason, repos are public from day one and source code is released under the CC0-1.0 public domain license.

Git / GitHub

Project structure

We’ve moved to a monorepo structure, and use Lerna to manage it. This repository can be found at https://github.com/CityOfBoston/digital/. develop is its main branch and is only updated by pull request/merge, never by committing directly.

All new webapps should be created under /services-js. Our internal modules are found at /modules-js. We are working on migrating older apps into the monorepo over time.

Local environment

  • Use Yarn instead of NPM when installing packages, so we can take advantage of workspaces.

  • Set up your editor to automatically run Prettier on save. See the guides: https://prettier.io/docs/en/editors.html.

  • Create Storybook stories to provide documentation for your components, and to allow for visual regression testing with Percy.

Subdomains

Criteria

Boston.gov subdomains are assigned on a case-by-case basis. Typically, anything that is a core city service will qualify for a subdomain.

Naming Conventions

If the website qualifies for a subdomain, it should adhere to the following conventions:

Specific to the purpose

Descriptive of content on the site

Is not misleading/does not interfere with other City services

Last updated