Getting Started
This document will guide you through all the initial setup steps and reading you need to complete in order to start working on Lyceum's codebase.
If you're going through this for the first time and notice that something is incomplete, please feel free to correct it by updating this document.
Account Setup
You should have been provided with a <your-name>@lyceum.technology Google
account. As we transition more and more to SSO, this will be your main way to
authenticate with other accounts and internal services.
GitHub
We ask you to create a separate work GitHub account using your Lyceum mail
address and ideally with the <your-name>-lyceum username. Ask one of the
GitHub administrators to
add you to our org and whichever teams you belong to.
Once this is done, clone our monorepo lyceum-tech/lyceum. This should be the
only repository you need to get started.
GCP/Tailscale
Once you have access to GitHub, create a PR adding yourself to the people directory. Check existing entries for references if necessary.
For now, start with the following groups:
gcp-owner(TODO: This should be more fine-grained)tailscale
Once merged, ask anyone in the platform team to run the necessary Terraform
code etc. to grant you access to various resources, depending on what groups
you're in (TODO: This step should be automated).
Cloudflare
Ask anyone on the platform team to send you an invite for our Cloudflare
account (TODO: This step should be automated).
Grafana
Ask anyone on the platform team to send you an invite for our Grafana
account (TODO: This step should be automated).
Others
There are other third-party services we use for which you do not need an
individual account. The usernames and passwords for these are stored in our
monorepo in infra/inventory/common/account_passwords.yml. You will need
SOPS to read these.
Tooling
In our monorepo, you're going to want to install at least:
-
Mise and all tools managed by it.
-
Neph, our internal infra tool.
-
pre-commit hooks via:
pre-commit install --hook-type pre-commitpre-commit install --hook-type commit-msg
-
Git config via:
git config --local include.path ../.gitconfig
Contributing
Before you make your first real changes, take a look at our VCS etiquette document which describes how we use version control.
There are also a number of style guidelines to be found under explanations in the development tab that you might want to look at depending on what you're working on.