This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the website for the ds4owd-002 course iteration - the second offering of "Data Science for OpenWashData". This Quarto-based educational website contains 9 progressive modules teaching data science using R with a focus on WASH (Water, Sanitation, Hygiene) data analysis.
# Render entire website
quarto render
# Preview website with live reload
quarto preview
# Render specific document
quarto render filename.qmd
# Render and serve (alternative preview)
quarto preview --serve# Install dependencies (for Puppeteer PDF generation)
npm install
# Update dependencies
npm update- Quarto project with configuration in
_quarto.yml - Course variables centralized in
_variables.ymlfor easy updates - Modular content organized by progressive modules (md-01 through md-09)
- Assignment integration with individual assignment pages per module
- Responsive design using custom
theme.scssandstyles.css
modules/- Core learning modules with progressive skill buildingassignments/- Structured by module (md-XX/) with individual assignment filesslides/- Lecture presentations with reveal.js formatguide/- Setup and configuration instructionsproject/- Capstone project documentationimg/- Course assets and diagrams
- Sidebar navigation configured in
_quarto.ymlwith collapsible sections - Progressive disclosure - modules unlock sequentially
- Assignment tracking integrated into module structure
- GitHub integration links to course organization
- Website metadata and navigation structure
- Theme configuration (Litera + custom SCSS)
- Output directory settings (
docs/for GitHub Pages) - Analytics integration (Plausible)
- Course iteration details (ds4owd-002)
- Module dates and titles (2025-09-11 to 2025-12-04)
- Platform URLs (Posit Cloud, GitHub organization)
- Instructor information
- Module naming:
md-XX-prefix for sequential organization - Assignment naming:
am-XX-N-topicfor module assignments - Date formatting: ISO format (YYYY-MM-DD) in variables
- Quarto execution: Freeze mode for reproducible builds
- Output directory:
docs/(configured in_quarto.yml) - Freeze execution: Cached outputs in
_freeze/directory - Site URL:
https://ds4owd-002.github.io/website/ - Repository: Links to ds4owd-002 GitHub organization
- Posit Cloud workspace: Centralized R environment for students
- GitHub Classroom: Assignment distribution and collection
- Matrix chat: Course communication platform
- Plausible analytics: Privacy-focused website tracking
md-XX.qmd- Module overview pagesam-XX-N-topic.qmd- Assignment files (N = assignment number)lec-XX-topic.qmd- Lecture slides- Complete solutions use
-completesuffix
- Course schedule:
tbl-01-ds4owd-002-course-schedule.csv - Learning objectives:
tbl-02-ds4owd-002-learning-objectives.csv - Project elements:
tbl-03-ds4owd-002-capstone-project-elements
When working with this website:
- Content updates: Modify
.qmdfiles and render to test - Variable changes: Update
_variables.ymlfor course-wide changes - Navigation changes: Modify
_quarto.ymlsidebar structure - Styling: Edit
theme.scssorstyles.cssfor visual changes - Testing: Use
quarto previewfor live development - Deployment: Render creates
docs/for GitHub Pages
The course runs from September 2025 to December 2025:
- Module 01-09: Weekly sessions (Sep 11 - Nov 6)
- Module 10: Graduation event (Dec 4)
- Platform: Posit Cloud workspace with GitHub integration
When modifying content, ensure consistency with the established module progression and maintain the educational scaffolding across the 9-week curriculum.
- Commit to
dev, create branches fromdevfor issues - List issues:
gh issue list - View issue details:
gh issue view 80(e.g., for issue #80 "Rename geographies parameter") - Create branch for issue:
gh issue develop 80 - Checkout branch:
git checkout 80-rename-geographies-parameter-to-entities - Create pull request:
gh pr create --title "Rename geographies parameter to entities" --body "Implements #80" - List pull requests:
gh pr list - View pull request:
gh pr view PR_NUMBER
- Use 2 spaces for indentation (no tabs)
- Maximum 80 characters per line
- Use tidyverse style for R code (
dplyr,tidyr,purrr) - Use snake_case for function and variable names
- Highlighting: Use
[text]{.highlight-yellow}or[text]{.highlight-peach}to draw attention to specific UI elements, buttons, or important text - Screenshots: Include descriptive images with
{width=100%}for full-width display - Icons: Use Font Awesome icons (e.g.,
{{< fa envelope-circle-check >}}) for visual cues
- Clear numbering: Use numbered lists for sequential steps
- Action-oriented language: Start with verbs (Click, Open, Navigate, Enter, Select)
- Visual references: Include what learners will see in brackets with highlighting
- Contextual information: Provide the "why" when needed, but keep it brief
- Progressive disclosure: Reduce detail level as course progresses (explicitly noted in module 2+)
- Navigation: "Open [URL] in your browser" → "Navigate to..." → "Find the repository..."
- UI interactions: "Click on the [Button Name]{.highlight-yellow} button"
- Form fields: "In the [Field Name]{.highlight-yellow} field, enter..."
- Verification: "You can verify... by looking at..."
- Success indicators: "If you see..., then you have successfully..."
- Callout boxes for different purposes:
{.callout-tip}: Optional information or helpful hints{.callout-important}: Critical information learners must know{.callout-warning}: Common pitfalls or issues to avoid{.callout-note}: Additional context or explanations
- Troubleshooting: Include "If you cannot..." sections with solutions
- Support channels: Provide email links with pre-filled subjects for specific help
- Repository references: Always use
USERNAMEplaceholder with clear substitution instructions - Authentication steps: Detailed PAT creation and usage with security warnings
- Commit process: Explicit staging → commit message → push sequence
- Issue creation: Structured format with instructor tagging (@seawaR @massarin @larnsce)
- Module 1: Extensive screenshots, detailed explanations, complete step-by-step guidance
- Module 2+: Reduced screenshots, assumes familiarity with basic operations, includes notes about reduced detail
- Cross-references: Link back to earlier modules for detailed instructions when needed
- PAT storage: Explicit warnings against Word documents, recommend text files or password managers
- Credential handling: Clear distinction between GitHub password and PAT
- Error prevention: Proactive warnings about common issues (spaces in PAT, wrong workspace)