Claude Instructions for JoshCBruce.github.io
Critical Git Workflow
⚠️ MANDATORY: Always commit and push to Git after every major set of changes.
After completing any significant work (new features, design updates, content changes, bug fixes), you MUST:
- Check git status:
git status
- Review changes:
git diff [files]
- Stage specific files:
git add [file1] [file2] ...
- Commit with clear message including co-author:
git commit -m "$(cat <<'EOF'
[Brief summary of changes]
[Detailed description of what was changed and why]
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
EOF
)"
- Push to remote:
git push
- Verify sync:
git status
What Counts as “Major Changes”
- Any HTML/CSS modifications
- New pages or files created
- Design aesthetic updates
- Button or navigation changes
- Content updates
- Bug fixes
- Configuration changes
Never leave uncommitted work. GitHub Pages serves from this repository, so changes must be pushed to go live.
Project Overview
This is Josh Bruce’s personal portfolio website hosted on GitHub Pages at https://joshcbruce.github.io
Tech Stack
- Static HTML/CSS/JavaScript
- GitHub Pages hosting
- Apple Garamond font from CDN
- No build process or frameworks
Key Files
index.html - Main homepage with navigation buttons
404.html - Custom 404 error page
jb-agent.css - Agent styling (if applicable)
jb-agent.js - Agent JavaScript (if applicable)
JB.png - Favicon
logoinsta.png - Instagram logo (legacy, may not be used)
Design Aesthetic
The site uses a cohesive glassmorphism design language with these key elements:
Color Scheme (Google Colors)
--google-red: #ea4335;
--google-yellow: #fbbc05;
--google-green: #34a853;
--google-blue: #4285f4;
--google-pink: #e91e63;
Typography
- Font: Apple Garamond (italic for headings)
- Heading size: 10vw
- Button text: 1.6vw
- Primary text color: #333333
- Background: #FAFAFA
Visual Elements
Organic Animated Background
- 4 floating gradient blobs using Google colors
- 180px blur with multiply blend mode
- Continuous floating animations (70s-90s duration)
- Positioned in a diamond pattern
Glassmorphism Effects
- Button containers:
rgba(255, 255, 255, 0.15) with 25px backdrop-filter blur
- Global blur overlay: 60px backdrop-filter
- Rounded corners: 35px for containers, 3vh for buttons
- Subtle shadows:
0 6px 18px rgba(0, 0, 0, 0.15)
- 5 buttons in Google color order: red, yellow, green, blue, pink
- Height: 6vh
- Hover effect: translateY(-2px) with enhanced shadow
- Smooth transitions:
0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
- Instagram, GitHub, LinkedIn
- Size: 3vw × 3vw (4vw on 404 page)
- Color: #333333
- Hover: scale(1.05)
- Positioned at bottom of page
Animation Principles
- Fade-in animations with staggered delays
- Smooth easing functions
- Hover states for interactive elements
- Sequential reveal for layered content
Current Navigation Structure
Main Page Buttons (index.html)
- Books (red) → Google Drive folder (external link)
- Days (yellow) →
/days - A-level countdown
- Physics (green) →
/plearn - Physics revision guide
- iLearn (blue) →
/ilearn - Product design revision
- PolyTrack (pink) →
/polytrack - Racing game project
404 Page
- Single “Home” button (red) → Returns to
/
- Includes “404” typing animation
- Same aesthetic as main page
Making Changes
When Updating Design
- Maintain consistency: Use the same colors, fonts, spacing, and animation patterns
- Preserve glassmorphism: Keep backdrop-filter blur and transparent backgrounds
- Test responsive: Check mobile breakpoints (@media max-width: 768px)
- Keep animations smooth: Use established easing functions
When Adding New Pages
- Copy the design system from
index.html or 404.html
- Include the organic gradient background and blur overlay
- Use Apple Garamond font
- Follow the established color scheme
- Add social media icons if appropriate
When Updating Content
- Update JB Agent context data if present (JSON in script tags)
- Maintain semantic HTML structure
- Keep accessibility in mind (alt text, proper headings, etc.)
Testing Checklist
Before pushing changes:
Common Tasks
- Find the button in
<div class="buttons">
- Update
href attribute
- Update button text if needed
- Add
target="_blank" for external links
- Commit and push changes
- Add new
<a> tag with class “button”
- Assign appropriate Google color (in order: red, yellow, green, blue, pink)
- Update button container width if needed
- Commit and push changes
Update Social Links
- Find
<div class="social-icons">
- Update
href attributes on social icon links
- Commit and push changes
Modify Design
- Update CSS in
<style> tags
- Maintain consistency with existing aesthetic
- Test animations and transitions
- Commit and push changes
Emergency Recovery
If something breaks:
- Check git log:
git log --oneline -10
- View specific commit:
git show [commit-hash]
- Revert if needed:
git revert [commit-hash]
- Or reset to previous state:
git reset --hard [commit-hash] (destructive!)
- Force push if necessary:
git push --force (only if safe)
Notes
- This is a GitHub Pages site, so changes go live immediately after push
- No build process means what you see in files is what gets served
- Apple Garamond loads from external CDN - ensure internet connection for font
- The organic gradient animations are GPU-intensive but perform well on modern devices
- Social media links should stay current with Josh’s actual profiles
Remember
🔴 ALWAYS COMMIT AND PUSH AFTER MAKING CHANGES 🔴
This cannot be emphasized enough. Every meaningful change should be committed and pushed to keep the live site in sync with your work.