Provide devcontainer for local development tooling
Background
This project requires installing at least, not including the codebase dependencies, on various developer laptops:
- gecko
- go (w/ shfmt)
- node (w/ prettier)
- python (w/ poetry)
A devcontainer aims to help situations that arise from the above, including:
- tool installation overhead, tooling is installed at container build
- prevent version mismatches, versions are declared/pinned versions in the Dockerfile, bumped as needed
- separate developer's native laptop environment from project's, preventing conflicts with other projects
- containerized environment, less harm to potentially sensitive workspaces
Also important, use of the devcontainer:
- requires a container runtime (colima, docker desktop, rancher desktop)
- is optional
Acceptance Criteria
-
the devcontainer installs the required tooling to develop, lint, test -
at least one other person can use the devcontainer
Definition of Done
-
Solution is captured as code and/or documentation and merge requests have been submitted -
Code review completed and merge request approved/merged
Edited by Chad Geary