- Use the file
.devcontainer/devcontainer-to-instantiate-template.jsonto create a devcontainer (or just use the default Codespace devcontainer) - Inside that devcontainer, run
python .devcontainer/install-ci-tooling.pyto install necessary tooling to instantiate the template (you can copy/paste the script from this repo...and you can paste it in the root of the repo if you want) - Delete all files currently in the repository. Optional...but makes it easiest to avoid git conflicts.
- Run copier to instantiate the template:
copier copy --trust gh:LabAutomationAndScreening/copier-base-template.git . - Run
python .devcontainer/manual-setup-deps.py --only-create-lock --allow-uv-to-install-python --skip-updating-devcontainer-hashto generate the lock file(s) - Stage all files to prepare for commit (
git add .) - Run
python3 .github/workflows/hash_git_files.py . --for-devcontainer-config-updateto update the hash for your devcontainer file - Commit the changes (optional). Ensure to stage the modified
.devcontainer/devcontainer.jsonfile:git add .devcontainer/devcontainer.json - Rebuild your new devcontainer
If you are running into issues with the SSH port, confirm the randomly chosen port is not in the excluded ranges on your computer. On Windows you can run this in an elevated command prompt to check netsh interface ipv4 show excludedportrange protocol=tcp
Some claude commands were installed to help with Test Driven Development. See package.json
Claude settings are being merged from JSONC files. Based on https://github.com/PaulRBerg/dot-claude/blob/main/helpers/merge_settings.sh
The Claude Caveman skill/hooks were installed from https://github.com/JuliusBrussee/caveman. The status line was removed and the default claude config dir was changed to the repositories .claude folder. Also, wenyan language support was removed from the MD files since we don't use it.