local dev setup¶
If you use codespaces or devcontainers, you don't need to set up a local development environment. But otherwise, follow these steps to set up some useful utilities.
Linux/WSL instructions¶
uv¶
To manage package dependencies and virtual environments.
Direnv¶
To load python virtual environments automatically and manage environment variables.
# Enter project
cd <project-folder>
# Install direnv
sudo apt update && sudo apt install direnv
# Add direnv to your shell
echo 'eval "$(direnv hook bash)"' >> ~/.bashrc # if you use bash
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc # if you use zsh
eval "$(direnv hook bash)" # add to current shell
# Add uv support to direnv
mkdir -p ~/.config/direnv/
cp .devcontainer/direnvrc ~/.config/direnv/direnvrc
When you enter the project folder, direnv will ask you to allow the .envrc
file to be loaded.
Allow it by running direnv allow
.
Pre-commit¶
To run code formatting and linting before committing. In your projects, you should enable pre-commit hooks by running:
uv tool install pre-commit --with pre-commit-uv # local user install
pre-commit install --install-hooks # enable pre-commit hooks inside project
Commitizen¶
To help with conventional commits.
Copier¶
To create new repositories from cookie-doh.