Skip to content

Add core DSC data-tooling gaps: yq, yamllint, git-lfs, xan, pandoc, shellcheck - #12

Merged
jt14den merged 1 commit into
masterfrom
modernize-setup-2026
Jul 17, 2026
Merged

jt14den merged 1 commit into
masterfrom
modernize-setup-2026

Conversation

@jt14den

@jt14den jt14den commented Jul 17, 2026

Copy link
Copy Markdown

Follow-up to #11, which you merged before this last commit landed on the branch.

Cross-checked your actual Homebrew leaves (brew leaves) against what the script installs, per your request to evaluate the tools in use, not just the version drift. Five gaps you confirmed as worth adding:

  • pandoc: was commented out entirely in the old script; you have it as a standalone leaf, not just riding in as a Quarto dependency
  • yq: YAML sibling to jq (already in the script) — used on project-registry.yaml, Carpentries lesson config.yaml, GitHub workflow files
  • yamllint: validates the same YAML files
  • git-lfs: large file support in git, relevant for DSC's datasets — also runs git lfs install after brew bundle so the hooks are actually registered, not just the binary present
  • xan: fast CSV toolkit, core to DSC's data work
  • shellcheck: I installed this myself to validate mac during the Modernize toolchain: drop Anaconda, add VSCodium/Miniforge/Node/Quarto #11 review — keeping it in the script so future maintainers have it without a manual step; updated the Contributing section's instructions to match

Left out as personal-preference rather than DSC-standard (your call, not mine): podman (already decided Docker Desktop for the shared script), ollama, and general CLI tools (fzf, neovim, go, etc). Also left out hugo/rbenv (for the Jekyll/Hugo sites) and MacTeX/TinyTeX (for Quarto PDF output) — flagged as open questions rather than added, since I wasn't sure those are common enough pain points to bake into a shared onboarding script yet.

Test plan

  • shellcheck -s sh mac — same pre-existing warning set, nothing new
  • brew bundle check — all formula names resolve
  • Real CI run on this commit (in progress as of PR open)

…hellcheck

Cross-checked Tim's actual Homebrew leaves against what the script
installs. These five are things DSC/DataSquad staff actually use
day to day that weren't in the shared onboarding script:

- pandoc: was commented out entirely; turns out it's used directly,
  not just pulled in transitively via Quarto
- yq: YAML sibling to jq (already in script) -- used on
  project-registry.yaml, Carpentries lesson config.yaml, GH workflows
- yamllint: validates the same YAML files
- git-lfs: large file support in git, relevant for a data science
  center's datasets; also runs `git lfs install` after brew bundle
  so the hooks are actually registered, not just the binary present
- xan: fast CSV toolkit, core to DSC's data work
- shellcheck: added it myself this session to validate `mac` --
  keeping it in the script so future maintainers have it without a
  manual step (updated the Contributing section's instructions
  accordingly)

Left out as personal-preference rather than DSC-standard: podman
(already decided Docker Desktop for the shared script), ollama,
ocean of general CLI tools (fzf, neovim, go, etc). Also left out
hugo/rbenv and MacTeX/TinyTeX per this round's scope -- can revisit
if the Jekyll/Hugo site work or Quarto PDF output becomes a common
laptop-setup pain point.

Verified with shellcheck (same pre-existing warning set) and
brew bundle check (all names resolve).
@jt14den
jt14den merged commit 70f646c into master Jul 17, 2026
1 of 2 checks passed
@jt14den
jt14den deleted the modernize-setup-2026 branch July 17, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant